56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# Agent Guidelines for NLS Guilloche Generator
|
|
|
|
**IMPORTANT**: This is an archived Angular 6 project. We maintain it for running purposes only - no development, upgrades, or new features. Never run npm commands directly; always use the Makefile/nix shell wrapper. We will not change any host machine configurations; all changes are confined to the nix-shell environment.
|
|
|
|
## Build/Lint/Test Commands
|
|
|
|
- **Build app**: `npm run build`
|
|
- **Build library**: `npm run build:library`
|
|
- **Start dev server**: `npm start`
|
|
- **Lint**: `npm run lint`
|
|
- **Run all tests**: `npm run test`
|
|
- **Run single test**: `ng test --include="**/specific-test.spec.ts"`
|
|
- **E2E tests**: `npm run e2e`
|
|
|
|
## Code Style Guidelines
|
|
|
|
### Formatting
|
|
- 2-space indentation
|
|
- Single quotes for strings
|
|
- Semicolons always
|
|
- Max line length: 140 characters
|
|
- No trailing whitespace
|
|
- Insert final newline in files
|
|
|
|
### TypeScript/Angular
|
|
- Target: ES5
|
|
- Use `const` instead of `let` when possible
|
|
- Arrow return shorthand
|
|
- Interface over type literal
|
|
- No unused expressions
|
|
- No console.log (except debug/info/time/timeEnd/trace)
|
|
- Component class suffix required
|
|
- Import spacing required
|
|
|
|
### Naming Conventions
|
|
- **Components**: PascalCase + `Component` suffix (e.g., `AppComponent`)
|
|
- **Services**: PascalCase + `Service` suffix (e.g., `NlsMathService`)
|
|
- **Models**: PascalCase + `.model` suffix (e.g., `point.model.ts`)
|
|
- **Files**: kebab-case for components, camelCase for services/models
|
|
- **Properties/Methods**: camelCase
|
|
|
|
### Member Ordering
|
|
1. Static fields
|
|
2. Instance fields
|
|
3. Static methods
|
|
4. Instance methods
|
|
|
|
### Imports
|
|
- Angular imports first
|
|
- Third-party imports second
|
|
- Local imports last
|
|
- Use relative imports (`./` or `../`)
|
|
|
|
### Error Handling
|
|
- Follow standard TypeScript practices
|
|
- Use appropriate Angular error handling patterns |