# 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. ## 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