@the-bearded-bear/claude-craft 3.1.2 → 3.3.1-next.a536696
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dev/i18n/de/Angular/CLAUDE.md.template +49 -0
- package/Dev/i18n/de/Angular/agents/angular-reviewer.md +213 -0
- package/Dev/i18n/de/Angular/checklists/new-feature.md +125 -0
- package/Dev/i18n/de/Angular/checklists/pre-commit.md +77 -0
- package/Dev/i18n/de/Angular/commands/check-architecture.md +261 -0
- package/Dev/i18n/de/Angular/commands/check-code-quality.md +238 -0
- package/Dev/i18n/de/Angular/commands/check-compliance.md +199 -0
- package/Dev/i18n/de/Angular/commands/check-security.md +263 -0
- package/Dev/i18n/de/Angular/commands/check-testing.md +292 -0
- package/Dev/i18n/de/Angular/commands/generate-component.md +220 -0
- package/Dev/i18n/de/Angular/rules/00-project-context.md.template +78 -0
- package/Dev/i18n/de/Angular/rules/02-architecture-angular.md +477 -0
- package/Dev/i18n/de/Angular/rules/03-coding-standards.md +640 -0
- package/Dev/i18n/de/Angular/rules/06-tooling.md +516 -0
- package/Dev/i18n/de/Angular/rules/07-testing-angular.md +739 -0
- package/Dev/i18n/de/Angular/rules/08-quality-tools.md +501 -0
- package/Dev/i18n/de/Angular/rules/11-security-angular.md +497 -0
- package/Dev/i18n/de/Angular/templates/component.template.ts +115 -0
- package/Dev/i18n/de/Angular/templates/service.template.ts +203 -0
- package/Dev/i18n/de/CSharp/CLAUDE.md.template +65 -0
- package/Dev/i18n/de/CSharp/agents/csharp-reviewer.md +166 -0
- package/Dev/i18n/de/CSharp/checklists/new-feature.md +178 -0
- package/Dev/i18n/de/CSharp/checklists/pre-commit.md +126 -0
- package/Dev/i18n/de/CSharp/commands/check-architecture.md +294 -0
- package/Dev/i18n/de/CSharp/commands/check-code-quality.md +355 -0
- package/Dev/i18n/de/CSharp/commands/check-compliance.md +178 -0
- package/Dev/i18n/de/CSharp/commands/check-security.md +369 -0
- package/Dev/i18n/de/CSharp/commands/check-testing.md +295 -0
- package/Dev/i18n/de/CSharp/commands/generate-feature.md +481 -0
- package/Dev/i18n/de/CSharp/rules/00-project-context.md.template +100 -0
- package/Dev/i18n/de/CSharp/rules/02-architecture-csharp.md +536 -0
- package/Dev/i18n/de/CSharp/rules/03-coding-standards.md +494 -0
- package/Dev/i18n/de/CSharp/rules/06-tooling.md +493 -0
- package/Dev/i18n/de/CSharp/rules/07-testing-csharp.md +566 -0
- package/Dev/i18n/de/CSharp/rules/08-quality-tools.md +497 -0
- package/Dev/i18n/de/CSharp/rules/11-security-csharp.md +568 -0
- package/Dev/i18n/de/CSharp/rules/12-aspire-cloud-native.md +514 -0
- package/Dev/i18n/de/CSharp/templates/command-handler.template.cs +100 -0
- package/Dev/i18n/de/CSharp/templates/entity.template.cs +159 -0
- package/Dev/i18n/de/Common/commands/add-technology.md +195 -0
- package/Dev/i18n/de/Laravel/CLAUDE.md.template +104 -0
- package/Dev/i18n/de/Laravel/agents/laravel-reviewer.md +200 -0
- package/Dev/i18n/de/Laravel/checklists/new-feature.md +277 -0
- package/Dev/i18n/de/Laravel/checklists/pre-commit.md +156 -0
- package/Dev/i18n/de/Laravel/commands/check-architecture.md +306 -0
- package/Dev/i18n/de/Laravel/commands/check-code-quality.md +302 -0
- package/Dev/i18n/de/Laravel/commands/check-compliance.md +141 -0
- package/Dev/i18n/de/Laravel/commands/check-security.md +372 -0
- package/Dev/i18n/de/Laravel/commands/check-testing.md +397 -0
- package/Dev/i18n/de/Laravel/commands/generate-controller.md +388 -0
- package/Dev/i18n/de/Laravel/rules/00-project-context.md.template +140 -0
- package/Dev/i18n/de/Laravel/rules/02-architecture-laravel.md +644 -0
- package/Dev/i18n/de/Laravel/rules/03-coding-standards.md +573 -0
- package/Dev/i18n/de/Laravel/rules/06-tooling.md +580 -0
- package/Dev/i18n/de/Laravel/rules/07-testing-laravel.md +525 -0
- package/Dev/i18n/de/Laravel/rules/08-quality-tools.md +591 -0
- package/Dev/i18n/de/Laravel/rules/11-security-laravel.md +787 -0
- package/Dev/i18n/de/Laravel/templates/action.template.php +79 -0
- package/Dev/i18n/de/Laravel/templates/controller.template.php +99 -0
- package/Dev/i18n/de/Laravel/templates/model.template.php +206 -0
- package/Dev/i18n/de/Laravel/templates/test.template.php +263 -0
- package/Dev/i18n/de/PHP/CLAUDE.md.template +460 -0
- package/Dev/i18n/de/PHP/agents/php-reviewer.md +345 -0
- package/Dev/i18n/de/PHP/checklists/new-feature.md +132 -0
- package/Dev/i18n/de/PHP/checklists/pre-commit.md +231 -0
- package/Dev/i18n/de/PHP/commands/check-architecture.md +557 -0
- package/Dev/i18n/de/PHP/commands/check-code-quality.md +448 -0
- package/Dev/i18n/de/PHP/commands/check-compliance.md +477 -0
- package/Dev/i18n/de/PHP/commands/check-security.md +420 -0
- package/Dev/i18n/de/PHP/commands/check-testing.md +486 -0
- package/Dev/i18n/de/PHP/rules/00-project-context.md.template +266 -0
- package/Dev/i18n/de/PHP/rules/02-architecture-php.md +696 -0
- package/Dev/i18n/de/PHP/rules/03-coding-standards.md +641 -0
- package/Dev/i18n/de/PHP/rules/06-tooling.md +543 -0
- package/Dev/i18n/de/PHP/rules/07-testing-php.md +636 -0
- package/Dev/i18n/de/PHP/rules/08-quality-tools.md +533 -0
- package/Dev/i18n/de/PHP/rules/11-security-php.md +759 -0
- package/Dev/i18n/de/PHP/templates/entity.md +435 -0
- package/Dev/i18n/de/PHP/templates/use-case.md +512 -0
- package/Dev/i18n/de/PHP/templates/value-object.md +555 -0
- package/Dev/i18n/de/VueJS/CLAUDE.md.template +102 -0
- package/Dev/i18n/de/VueJS/agents/vuejs-reviewer.md +206 -0
- package/Dev/i18n/de/VueJS/checklists/new-feature.md +131 -0
- package/Dev/i18n/de/VueJS/checklists/pre-commit.md +68 -0
- package/Dev/i18n/de/VueJS/commands/check-architecture.md +137 -0
- package/Dev/i18n/de/VueJS/commands/check-code-quality.md +152 -0
- package/Dev/i18n/de/VueJS/commands/check-compliance.md +124 -0
- package/Dev/i18n/de/VueJS/commands/check-security.md +186 -0
- package/Dev/i18n/de/VueJS/commands/check-testing.md +185 -0
- package/Dev/i18n/de/VueJS/commands/generate-component.md +233 -0
- package/Dev/i18n/de/VueJS/rules/00-project-context.md.template +125 -0
- package/Dev/i18n/de/VueJS/rules/02-architecture-vuejs.md +375 -0
- package/Dev/i18n/de/VueJS/rules/03-coding-standards.md +502 -0
- package/Dev/i18n/de/VueJS/rules/06-tooling.md +422 -0
- package/Dev/i18n/de/VueJS/rules/07-testing-vuejs.md +606 -0
- package/Dev/i18n/de/VueJS/rules/08-quality-tools.md +441 -0
- package/Dev/i18n/de/VueJS/rules/11-security-vuejs.md +465 -0
- package/Dev/i18n/de/VueJS/templates/component.template.vue +133 -0
- package/Dev/i18n/de/VueJS/templates/composable.template.ts +162 -0
- package/Dev/i18n/de/VueJS/templates/store.template.ts +282 -0
- package/Dev/i18n/de/VueJS/templates/test.template.ts +233 -0
- package/Dev/i18n/en/Angular/CLAUDE.md.template +49 -0
- package/Dev/i18n/en/Angular/agents/angular-reviewer.md +213 -0
- package/Dev/i18n/en/Angular/checklists/new-feature.md +125 -0
- package/Dev/i18n/en/Angular/checklists/pre-commit.md +77 -0
- package/Dev/i18n/en/Angular/commands/check-architecture.md +261 -0
- package/Dev/i18n/en/Angular/commands/check-code-quality.md +238 -0
- package/Dev/i18n/en/Angular/commands/check-compliance.md +199 -0
- package/Dev/i18n/en/Angular/commands/check-security.md +263 -0
- package/Dev/i18n/en/Angular/commands/check-testing.md +292 -0
- package/Dev/i18n/en/Angular/commands/generate-component.md +220 -0
- package/Dev/i18n/en/Angular/rules/00-project-context.md.template +78 -0
- package/Dev/i18n/en/Angular/rules/02-architecture-angular.md +477 -0
- package/Dev/i18n/en/Angular/rules/03-coding-standards.md +640 -0
- package/Dev/i18n/en/Angular/rules/06-tooling.md +516 -0
- package/Dev/i18n/en/Angular/rules/07-testing-angular.md +739 -0
- package/Dev/i18n/en/Angular/rules/08-quality-tools.md +501 -0
- package/Dev/i18n/en/Angular/rules/11-security-angular.md +497 -0
- package/Dev/i18n/en/Angular/templates/component.template.ts +115 -0
- package/Dev/i18n/en/Angular/templates/service.template.ts +203 -0
- package/Dev/i18n/en/CSharp/CLAUDE.md.template +65 -0
- package/Dev/i18n/en/CSharp/agents/csharp-reviewer.md +166 -0
- package/Dev/i18n/en/CSharp/checklists/new-feature.md +178 -0
- package/Dev/i18n/en/CSharp/checklists/pre-commit.md +126 -0
- package/Dev/i18n/en/CSharp/commands/check-architecture.md +294 -0
- package/Dev/i18n/en/CSharp/commands/check-code-quality.md +355 -0
- package/Dev/i18n/en/CSharp/commands/check-compliance.md +178 -0
- package/Dev/i18n/en/CSharp/commands/check-security.md +369 -0
- package/Dev/i18n/en/CSharp/commands/check-testing.md +295 -0
- package/Dev/i18n/en/CSharp/commands/generate-feature.md +481 -0
- package/Dev/i18n/en/CSharp/rules/00-project-context.md.template +100 -0
- package/Dev/i18n/en/CSharp/rules/02-architecture-csharp.md +536 -0
- package/Dev/i18n/en/CSharp/rules/03-coding-standards.md +494 -0
- package/Dev/i18n/en/CSharp/rules/06-tooling.md +493 -0
- package/Dev/i18n/en/CSharp/rules/07-testing-csharp.md +566 -0
- package/Dev/i18n/en/CSharp/rules/08-quality-tools.md +497 -0
- package/Dev/i18n/en/CSharp/rules/11-security-csharp.md +568 -0
- package/Dev/i18n/en/CSharp/rules/12-aspire-cloud-native.md +514 -0
- package/Dev/i18n/en/CSharp/templates/command-handler.template.cs +100 -0
- package/Dev/i18n/en/CSharp/templates/entity.template.cs +159 -0
- package/Dev/i18n/en/Common/commands/add-technology.md +293 -0
- package/Dev/i18n/en/Laravel/CLAUDE.md.template +104 -0
- package/Dev/i18n/en/Laravel/agents/laravel-reviewer.md +200 -0
- package/Dev/i18n/en/Laravel/checklists/new-feature.md +277 -0
- package/Dev/i18n/en/Laravel/checklists/pre-commit.md +156 -0
- package/Dev/i18n/en/Laravel/commands/check-architecture.md +306 -0
- package/Dev/i18n/en/Laravel/commands/check-code-quality.md +302 -0
- package/Dev/i18n/en/Laravel/commands/check-compliance.md +141 -0
- package/Dev/i18n/en/Laravel/commands/check-security.md +372 -0
- package/Dev/i18n/en/Laravel/commands/check-testing.md +397 -0
- package/Dev/i18n/en/Laravel/commands/generate-controller.md +388 -0
- package/Dev/i18n/en/Laravel/rules/00-project-context.md.template +140 -0
- package/Dev/i18n/en/Laravel/rules/02-architecture-laravel.md +644 -0
- package/Dev/i18n/en/Laravel/rules/03-coding-standards.md +573 -0
- package/Dev/i18n/en/Laravel/rules/06-tooling.md +580 -0
- package/Dev/i18n/en/Laravel/rules/07-testing-laravel.md +525 -0
- package/Dev/i18n/en/Laravel/rules/08-quality-tools.md +591 -0
- package/Dev/i18n/en/Laravel/rules/11-security-laravel.md +787 -0
- package/Dev/i18n/en/Laravel/templates/action.template.php +79 -0
- package/Dev/i18n/en/Laravel/templates/controller.template.php +99 -0
- package/Dev/i18n/en/Laravel/templates/model.template.php +206 -0
- package/Dev/i18n/en/Laravel/templates/test.template.php +263 -0
- package/Dev/i18n/en/PHP/CLAUDE.md.template +460 -0
- package/Dev/i18n/en/PHP/agents/php-reviewer.md +345 -0
- package/Dev/i18n/en/PHP/checklists/new-feature.md +132 -0
- package/Dev/i18n/en/PHP/checklists/pre-commit.md +231 -0
- package/Dev/i18n/en/PHP/commands/check-architecture.md +557 -0
- package/Dev/i18n/en/PHP/commands/check-code-quality.md +448 -0
- package/Dev/i18n/en/PHP/commands/check-compliance.md +477 -0
- package/Dev/i18n/en/PHP/commands/check-security.md +420 -0
- package/Dev/i18n/en/PHP/commands/check-testing.md +486 -0
- package/Dev/i18n/en/PHP/rules/00-project-context.md.template +266 -0
- package/Dev/i18n/en/PHP/rules/02-architecture-php.md +696 -0
- package/Dev/i18n/en/PHP/rules/03-coding-standards.md +641 -0
- package/Dev/i18n/en/PHP/rules/06-tooling.md +543 -0
- package/Dev/i18n/en/PHP/rules/07-testing-php.md +636 -0
- package/Dev/i18n/en/PHP/rules/08-quality-tools.md +533 -0
- package/Dev/i18n/en/PHP/rules/11-security-php.md +759 -0
- package/Dev/i18n/en/PHP/templates/entity.md +435 -0
- package/Dev/i18n/en/PHP/templates/use-case.md +512 -0
- package/Dev/i18n/en/PHP/templates/value-object.md +555 -0
- package/Dev/i18n/en/VueJS/CLAUDE.md.template +102 -0
- package/Dev/i18n/en/VueJS/agents/vuejs-reviewer.md +206 -0
- package/Dev/i18n/en/VueJS/checklists/new-feature.md +131 -0
- package/Dev/i18n/en/VueJS/checklists/pre-commit.md +68 -0
- package/Dev/i18n/en/VueJS/commands/check-architecture.md +137 -0
- package/Dev/i18n/en/VueJS/commands/check-code-quality.md +152 -0
- package/Dev/i18n/en/VueJS/commands/check-compliance.md +124 -0
- package/Dev/i18n/en/VueJS/commands/check-security.md +186 -0
- package/Dev/i18n/en/VueJS/commands/check-testing.md +185 -0
- package/Dev/i18n/en/VueJS/commands/generate-component.md +233 -0
- package/Dev/i18n/en/VueJS/rules/00-project-context.md.template +125 -0
- package/Dev/i18n/en/VueJS/rules/02-architecture-vuejs.md +375 -0
- package/Dev/i18n/en/VueJS/rules/03-coding-standards.md +502 -0
- package/Dev/i18n/en/VueJS/rules/06-tooling.md +422 -0
- package/Dev/i18n/en/VueJS/rules/07-testing-vuejs.md +606 -0
- package/Dev/i18n/en/VueJS/rules/08-quality-tools.md +441 -0
- package/Dev/i18n/en/VueJS/rules/11-security-vuejs.md +465 -0
- package/Dev/i18n/en/VueJS/templates/component.template.vue +133 -0
- package/Dev/i18n/en/VueJS/templates/composable.template.ts +162 -0
- package/Dev/i18n/en/VueJS/templates/store.template.ts +282 -0
- package/Dev/i18n/en/VueJS/templates/test.template.ts +233 -0
- package/Dev/i18n/es/Angular/CLAUDE.md.template +49 -0
- package/Dev/i18n/es/Angular/agents/angular-reviewer.md +213 -0
- package/Dev/i18n/es/Angular/checklists/new-feature.md +125 -0
- package/Dev/i18n/es/Angular/checklists/pre-commit.md +77 -0
- package/Dev/i18n/es/Angular/commands/check-architecture.md +261 -0
- package/Dev/i18n/es/Angular/commands/check-code-quality.md +238 -0
- package/Dev/i18n/es/Angular/commands/check-compliance.md +199 -0
- package/Dev/i18n/es/Angular/commands/check-security.md +263 -0
- package/Dev/i18n/es/Angular/commands/check-testing.md +292 -0
- package/Dev/i18n/es/Angular/commands/generate-component.md +220 -0
- package/Dev/i18n/es/Angular/rules/00-project-context.md.template +78 -0
- package/Dev/i18n/es/Angular/rules/02-architecture-angular.md +477 -0
- package/Dev/i18n/es/Angular/rules/03-coding-standards.md +640 -0
- package/Dev/i18n/es/Angular/rules/06-tooling.md +516 -0
- package/Dev/i18n/es/Angular/rules/07-testing-angular.md +739 -0
- package/Dev/i18n/es/Angular/rules/08-quality-tools.md +501 -0
- package/Dev/i18n/es/Angular/rules/11-security-angular.md +497 -0
- package/Dev/i18n/es/Angular/templates/component.template.ts +115 -0
- package/Dev/i18n/es/Angular/templates/service.template.ts +203 -0
- package/Dev/i18n/es/CSharp/CLAUDE.md.template +65 -0
- package/Dev/i18n/es/CSharp/agents/csharp-reviewer.md +166 -0
- package/Dev/i18n/es/CSharp/checklists/new-feature.md +178 -0
- package/Dev/i18n/es/CSharp/checklists/pre-commit.md +126 -0
- package/Dev/i18n/es/CSharp/commands/check-architecture.md +294 -0
- package/Dev/i18n/es/CSharp/commands/check-code-quality.md +355 -0
- package/Dev/i18n/es/CSharp/commands/check-compliance.md +178 -0
- package/Dev/i18n/es/CSharp/commands/check-security.md +369 -0
- package/Dev/i18n/es/CSharp/commands/check-testing.md +295 -0
- package/Dev/i18n/es/CSharp/commands/generate-feature.md +481 -0
- package/Dev/i18n/es/CSharp/rules/00-project-context.md.template +100 -0
- package/Dev/i18n/es/CSharp/rules/02-architecture-csharp.md +536 -0
- package/Dev/i18n/es/CSharp/rules/03-coding-standards.md +494 -0
- package/Dev/i18n/es/CSharp/rules/06-tooling.md +493 -0
- package/Dev/i18n/es/CSharp/rules/07-testing-csharp.md +566 -0
- package/Dev/i18n/es/CSharp/rules/08-quality-tools.md +497 -0
- package/Dev/i18n/es/CSharp/rules/11-security-csharp.md +568 -0
- package/Dev/i18n/es/CSharp/rules/12-aspire-cloud-native.md +514 -0
- package/Dev/i18n/es/CSharp/templates/command-handler.template.cs +100 -0
- package/Dev/i18n/es/CSharp/templates/entity.template.cs +159 -0
- package/Dev/i18n/es/Common/commands/add-technology.md +195 -0
- package/Dev/i18n/es/Laravel/CLAUDE.md.template +104 -0
- package/Dev/i18n/es/Laravel/agents/laravel-reviewer.md +200 -0
- package/Dev/i18n/es/Laravel/checklists/new-feature.md +277 -0
- package/Dev/i18n/es/Laravel/checklists/pre-commit.md +156 -0
- package/Dev/i18n/es/Laravel/commands/check-architecture.md +306 -0
- package/Dev/i18n/es/Laravel/commands/check-code-quality.md +302 -0
- package/Dev/i18n/es/Laravel/commands/check-compliance.md +141 -0
- package/Dev/i18n/es/Laravel/commands/check-security.md +372 -0
- package/Dev/i18n/es/Laravel/commands/check-testing.md +397 -0
- package/Dev/i18n/es/Laravel/commands/generate-controller.md +388 -0
- package/Dev/i18n/es/Laravel/rules/00-project-context.md.template +140 -0
- package/Dev/i18n/es/Laravel/rules/02-architecture-laravel.md +644 -0
- package/Dev/i18n/es/Laravel/rules/03-coding-standards.md +573 -0
- package/Dev/i18n/es/Laravel/rules/06-tooling.md +580 -0
- package/Dev/i18n/es/Laravel/rules/07-testing-laravel.md +525 -0
- package/Dev/i18n/es/Laravel/rules/08-quality-tools.md +591 -0
- package/Dev/i18n/es/Laravel/rules/11-security-laravel.md +787 -0
- package/Dev/i18n/es/Laravel/templates/action.template.php +79 -0
- package/Dev/i18n/es/Laravel/templates/controller.template.php +99 -0
- package/Dev/i18n/es/Laravel/templates/model.template.php +206 -0
- package/Dev/i18n/es/Laravel/templates/test.template.php +263 -0
- package/Dev/i18n/es/PHP/CLAUDE.md.template +460 -0
- package/Dev/i18n/es/PHP/agents/php-reviewer.md +345 -0
- package/Dev/i18n/es/PHP/checklists/new-feature.md +132 -0
- package/Dev/i18n/es/PHP/checklists/pre-commit.md +231 -0
- package/Dev/i18n/es/PHP/commands/check-architecture.md +557 -0
- package/Dev/i18n/es/PHP/commands/check-code-quality.md +448 -0
- package/Dev/i18n/es/PHP/commands/check-compliance.md +477 -0
- package/Dev/i18n/es/PHP/commands/check-security.md +420 -0
- package/Dev/i18n/es/PHP/commands/check-testing.md +486 -0
- package/Dev/i18n/es/PHP/rules/00-project-context.md.template +266 -0
- package/Dev/i18n/es/PHP/rules/02-architecture-php.md +696 -0
- package/Dev/i18n/es/PHP/rules/03-coding-standards.md +641 -0
- package/Dev/i18n/es/PHP/rules/06-tooling.md +543 -0
- package/Dev/i18n/es/PHP/rules/07-testing-php.md +636 -0
- package/Dev/i18n/es/PHP/rules/08-quality-tools.md +533 -0
- package/Dev/i18n/es/PHP/rules/11-security-php.md +759 -0
- package/Dev/i18n/es/PHP/templates/entity.md +435 -0
- package/Dev/i18n/es/PHP/templates/use-case.md +512 -0
- package/Dev/i18n/es/PHP/templates/value-object.md +555 -0
- package/Dev/i18n/es/VueJS/CLAUDE.md.template +102 -0
- package/Dev/i18n/es/VueJS/agents/vuejs-reviewer.md +206 -0
- package/Dev/i18n/es/VueJS/checklists/new-feature.md +131 -0
- package/Dev/i18n/es/VueJS/checklists/pre-commit.md +68 -0
- package/Dev/i18n/es/VueJS/commands/check-architecture.md +137 -0
- package/Dev/i18n/es/VueJS/commands/check-code-quality.md +152 -0
- package/Dev/i18n/es/VueJS/commands/check-compliance.md +124 -0
- package/Dev/i18n/es/VueJS/commands/check-security.md +186 -0
- package/Dev/i18n/es/VueJS/commands/check-testing.md +185 -0
- package/Dev/i18n/es/VueJS/commands/generate-component.md +233 -0
- package/Dev/i18n/es/VueJS/rules/00-project-context.md.template +125 -0
- package/Dev/i18n/es/VueJS/rules/02-architecture-vuejs.md +375 -0
- package/Dev/i18n/es/VueJS/rules/03-coding-standards.md +502 -0
- package/Dev/i18n/es/VueJS/rules/06-tooling.md +422 -0
- package/Dev/i18n/es/VueJS/rules/07-testing-vuejs.md +606 -0
- package/Dev/i18n/es/VueJS/rules/08-quality-tools.md +441 -0
- package/Dev/i18n/es/VueJS/rules/11-security-vuejs.md +465 -0
- package/Dev/i18n/es/VueJS/templates/component.template.vue +133 -0
- package/Dev/i18n/es/VueJS/templates/composable.template.ts +162 -0
- package/Dev/i18n/es/VueJS/templates/store.template.ts +282 -0
- package/Dev/i18n/es/VueJS/templates/test.template.ts +233 -0
- package/Dev/i18n/fr/Angular/CLAUDE.md.template +49 -0
- package/Dev/i18n/fr/Angular/agents/angular-reviewer.md +213 -0
- package/Dev/i18n/fr/Angular/checklists/new-feature.md +125 -0
- package/Dev/i18n/fr/Angular/checklists/pre-commit.md +77 -0
- package/Dev/i18n/fr/Angular/commands/check-architecture.md +261 -0
- package/Dev/i18n/fr/Angular/commands/check-code-quality.md +238 -0
- package/Dev/i18n/fr/Angular/commands/check-compliance.md +199 -0
- package/Dev/i18n/fr/Angular/commands/check-security.md +263 -0
- package/Dev/i18n/fr/Angular/commands/check-testing.md +292 -0
- package/Dev/i18n/fr/Angular/commands/generate-component.md +220 -0
- package/Dev/i18n/fr/Angular/rules/00-project-context.md.template +78 -0
- package/Dev/i18n/fr/Angular/rules/02-architecture-angular.md +477 -0
- package/Dev/i18n/fr/Angular/rules/03-coding-standards.md +640 -0
- package/Dev/i18n/fr/Angular/rules/06-tooling.md +516 -0
- package/Dev/i18n/fr/Angular/rules/07-testing-angular.md +739 -0
- package/Dev/i18n/fr/Angular/rules/08-quality-tools.md +501 -0
- package/Dev/i18n/fr/Angular/rules/11-security-angular.md +497 -0
- package/Dev/i18n/fr/Angular/templates/component.template.ts +115 -0
- package/Dev/i18n/fr/Angular/templates/service.template.ts +203 -0
- package/Dev/i18n/fr/CSharp/CLAUDE.md.template +65 -0
- package/Dev/i18n/fr/CSharp/agents/csharp-reviewer.md +166 -0
- package/Dev/i18n/fr/CSharp/checklists/new-feature.md +178 -0
- package/Dev/i18n/fr/CSharp/checklists/pre-commit.md +126 -0
- package/Dev/i18n/fr/CSharp/commands/check-architecture.md +294 -0
- package/Dev/i18n/fr/CSharp/commands/check-code-quality.md +355 -0
- package/Dev/i18n/fr/CSharp/commands/check-compliance.md +178 -0
- package/Dev/i18n/fr/CSharp/commands/check-security.md +369 -0
- package/Dev/i18n/fr/CSharp/commands/check-testing.md +295 -0
- package/Dev/i18n/fr/CSharp/commands/generate-feature.md +481 -0
- package/Dev/i18n/fr/CSharp/rules/00-project-context.md.template +100 -0
- package/Dev/i18n/fr/CSharp/rules/02-architecture-csharp.md +536 -0
- package/Dev/i18n/fr/CSharp/rules/03-coding-standards.md +494 -0
- package/Dev/i18n/fr/CSharp/rules/06-tooling.md +493 -0
- package/Dev/i18n/fr/CSharp/rules/07-testing-csharp.md +566 -0
- package/Dev/i18n/fr/CSharp/rules/08-quality-tools.md +497 -0
- package/Dev/i18n/fr/CSharp/rules/11-security-csharp.md +568 -0
- package/Dev/i18n/fr/CSharp/rules/12-aspire-cloud-native.md +514 -0
- package/Dev/i18n/fr/CSharp/templates/command-handler.template.cs +100 -0
- package/Dev/i18n/fr/CSharp/templates/entity.template.cs +159 -0
- package/Dev/i18n/fr/Common/commands/add-technology.md +293 -0
- package/Dev/i18n/fr/Laravel/CLAUDE.md.template +104 -0
- package/Dev/i18n/fr/Laravel/agents/laravel-reviewer.md +200 -0
- package/Dev/i18n/fr/Laravel/checklists/new-feature.md +277 -0
- package/Dev/i18n/fr/Laravel/checklists/pre-commit.md +156 -0
- package/Dev/i18n/fr/Laravel/commands/check-architecture.md +306 -0
- package/Dev/i18n/fr/Laravel/commands/check-code-quality.md +302 -0
- package/Dev/i18n/fr/Laravel/commands/check-compliance.md +141 -0
- package/Dev/i18n/fr/Laravel/commands/check-security.md +372 -0
- package/Dev/i18n/fr/Laravel/commands/check-testing.md +397 -0
- package/Dev/i18n/fr/Laravel/commands/generate-controller.md +388 -0
- package/Dev/i18n/fr/Laravel/rules/00-project-context.md.template +140 -0
- package/Dev/i18n/fr/Laravel/rules/02-architecture-laravel.md +644 -0
- package/Dev/i18n/fr/Laravel/rules/03-coding-standards.md +573 -0
- package/Dev/i18n/fr/Laravel/rules/06-tooling.md +580 -0
- package/Dev/i18n/fr/Laravel/rules/07-testing-laravel.md +525 -0
- package/Dev/i18n/fr/Laravel/rules/08-quality-tools.md +591 -0
- package/Dev/i18n/fr/Laravel/rules/11-security-laravel.md +787 -0
- package/Dev/i18n/fr/Laravel/templates/action.template.php +79 -0
- package/Dev/i18n/fr/Laravel/templates/controller.template.php +99 -0
- package/Dev/i18n/fr/Laravel/templates/model.template.php +206 -0
- package/Dev/i18n/fr/Laravel/templates/test.template.php +263 -0
- package/Dev/i18n/fr/PHP/CLAUDE.md.template +460 -0
- package/Dev/i18n/fr/PHP/agents/php-reviewer.md +345 -0
- package/Dev/i18n/fr/PHP/checklists/new-feature.md +132 -0
- package/Dev/i18n/fr/PHP/checklists/pre-commit.md +231 -0
- package/Dev/i18n/fr/PHP/commands/check-architecture.md +557 -0
- package/Dev/i18n/fr/PHP/commands/check-code-quality.md +448 -0
- package/Dev/i18n/fr/PHP/commands/check-compliance.md +477 -0
- package/Dev/i18n/fr/PHP/commands/check-security.md +420 -0
- package/Dev/i18n/fr/PHP/commands/check-testing.md +486 -0
- package/Dev/i18n/fr/PHP/rules/00-project-context.md.template +266 -0
- package/Dev/i18n/fr/PHP/rules/02-architecture-php.md +506 -0
- package/Dev/i18n/fr/PHP/rules/03-coding-standards.md +585 -0
- package/Dev/i18n/fr/PHP/rules/06-tooling.md +543 -0
- package/Dev/i18n/fr/PHP/rules/07-testing-php.md +636 -0
- package/Dev/i18n/fr/PHP/rules/08-quality-tools.md +533 -0
- package/Dev/i18n/fr/PHP/rules/11-security-php.md +642 -0
- package/Dev/i18n/fr/PHP/templates/entity.md +435 -0
- package/Dev/i18n/fr/PHP/templates/use-case.md +512 -0
- package/Dev/i18n/fr/PHP/templates/value-object.md +555 -0
- package/Dev/i18n/fr/VueJS/CLAUDE.md.template +102 -0
- package/Dev/i18n/fr/VueJS/agents/vuejs-reviewer.md +206 -0
- package/Dev/i18n/fr/VueJS/checklists/new-feature.md +131 -0
- package/Dev/i18n/fr/VueJS/checklists/pre-commit.md +68 -0
- package/Dev/i18n/fr/VueJS/commands/check-architecture.md +137 -0
- package/Dev/i18n/fr/VueJS/commands/check-code-quality.md +152 -0
- package/Dev/i18n/fr/VueJS/commands/check-compliance.md +124 -0
- package/Dev/i18n/fr/VueJS/commands/check-security.md +186 -0
- package/Dev/i18n/fr/VueJS/commands/check-testing.md +185 -0
- package/Dev/i18n/fr/VueJS/commands/generate-component.md +233 -0
- package/Dev/i18n/fr/VueJS/rules/00-project-context.md.template +125 -0
- package/Dev/i18n/fr/VueJS/rules/02-architecture-vuejs.md +375 -0
- package/Dev/i18n/fr/VueJS/rules/03-coding-standards.md +502 -0
- package/Dev/i18n/fr/VueJS/rules/06-tooling.md +422 -0
- package/Dev/i18n/fr/VueJS/rules/07-testing-vuejs.md +606 -0
- package/Dev/i18n/fr/VueJS/rules/08-quality-tools.md +441 -0
- package/Dev/i18n/fr/VueJS/rules/11-security-vuejs.md +465 -0
- package/Dev/i18n/fr/VueJS/templates/component.template.vue +133 -0
- package/Dev/i18n/fr/VueJS/templates/composable.template.ts +162 -0
- package/Dev/i18n/fr/VueJS/templates/store.template.ts +282 -0
- package/Dev/i18n/fr/VueJS/templates/test.template.ts +233 -0
- package/Dev/i18n/pt/Angular/CLAUDE.md.template +49 -0
- package/Dev/i18n/pt/Angular/agents/angular-reviewer.md +213 -0
- package/Dev/i18n/pt/Angular/checklists/new-feature.md +125 -0
- package/Dev/i18n/pt/Angular/checklists/pre-commit.md +77 -0
- package/Dev/i18n/pt/Angular/commands/check-architecture.md +261 -0
- package/Dev/i18n/pt/Angular/commands/check-code-quality.md +238 -0
- package/Dev/i18n/pt/Angular/commands/check-compliance.md +199 -0
- package/Dev/i18n/pt/Angular/commands/check-security.md +263 -0
- package/Dev/i18n/pt/Angular/commands/check-testing.md +292 -0
- package/Dev/i18n/pt/Angular/commands/generate-component.md +220 -0
- package/Dev/i18n/pt/Angular/rules/00-project-context.md.template +78 -0
- package/Dev/i18n/pt/Angular/rules/02-architecture-angular.md +477 -0
- package/Dev/i18n/pt/Angular/rules/03-coding-standards.md +640 -0
- package/Dev/i18n/pt/Angular/rules/06-tooling.md +516 -0
- package/Dev/i18n/pt/Angular/rules/07-testing-angular.md +739 -0
- package/Dev/i18n/pt/Angular/rules/08-quality-tools.md +501 -0
- package/Dev/i18n/pt/Angular/rules/11-security-angular.md +497 -0
- package/Dev/i18n/pt/Angular/templates/component.template.ts +115 -0
- package/Dev/i18n/pt/Angular/templates/service.template.ts +203 -0
- package/Dev/i18n/pt/CSharp/CLAUDE.md.template +65 -0
- package/Dev/i18n/pt/CSharp/agents/csharp-reviewer.md +166 -0
- package/Dev/i18n/pt/CSharp/checklists/new-feature.md +178 -0
- package/Dev/i18n/pt/CSharp/checklists/pre-commit.md +126 -0
- package/Dev/i18n/pt/CSharp/commands/check-architecture.md +294 -0
- package/Dev/i18n/pt/CSharp/commands/check-code-quality.md +355 -0
- package/Dev/i18n/pt/CSharp/commands/check-compliance.md +178 -0
- package/Dev/i18n/pt/CSharp/commands/check-security.md +369 -0
- package/Dev/i18n/pt/CSharp/commands/check-testing.md +295 -0
- package/Dev/i18n/pt/CSharp/commands/generate-feature.md +481 -0
- package/Dev/i18n/pt/CSharp/rules/00-project-context.md.template +100 -0
- package/Dev/i18n/pt/CSharp/rules/02-architecture-csharp.md +536 -0
- package/Dev/i18n/pt/CSharp/rules/03-coding-standards.md +494 -0
- package/Dev/i18n/pt/CSharp/rules/06-tooling.md +493 -0
- package/Dev/i18n/pt/CSharp/rules/07-testing-csharp.md +566 -0
- package/Dev/i18n/pt/CSharp/rules/08-quality-tools.md +497 -0
- package/Dev/i18n/pt/CSharp/rules/11-security-csharp.md +568 -0
- package/Dev/i18n/pt/CSharp/rules/12-aspire-cloud-native.md +514 -0
- package/Dev/i18n/pt/CSharp/templates/command-handler.template.cs +100 -0
- package/Dev/i18n/pt/CSharp/templates/entity.template.cs +159 -0
- package/Dev/i18n/pt/Common/commands/add-technology.md +195 -0
- package/Dev/i18n/pt/Laravel/CLAUDE.md.template +104 -0
- package/Dev/i18n/pt/Laravel/agents/laravel-reviewer.md +200 -0
- package/Dev/i18n/pt/Laravel/checklists/new-feature.md +277 -0
- package/Dev/i18n/pt/Laravel/checklists/pre-commit.md +156 -0
- package/Dev/i18n/pt/Laravel/commands/check-architecture.md +306 -0
- package/Dev/i18n/pt/Laravel/commands/check-code-quality.md +302 -0
- package/Dev/i18n/pt/Laravel/commands/check-compliance.md +141 -0
- package/Dev/i18n/pt/Laravel/commands/check-security.md +372 -0
- package/Dev/i18n/pt/Laravel/commands/check-testing.md +397 -0
- package/Dev/i18n/pt/Laravel/commands/generate-controller.md +388 -0
- package/Dev/i18n/pt/Laravel/rules/00-project-context.md.template +140 -0
- package/Dev/i18n/pt/Laravel/rules/02-architecture-laravel.md +644 -0
- package/Dev/i18n/pt/Laravel/rules/03-coding-standards.md +573 -0
- package/Dev/i18n/pt/Laravel/rules/06-tooling.md +580 -0
- package/Dev/i18n/pt/Laravel/rules/07-testing-laravel.md +525 -0
- package/Dev/i18n/pt/Laravel/rules/08-quality-tools.md +591 -0
- package/Dev/i18n/pt/Laravel/rules/11-security-laravel.md +787 -0
- package/Dev/i18n/pt/Laravel/templates/action.template.php +79 -0
- package/Dev/i18n/pt/Laravel/templates/controller.template.php +99 -0
- package/Dev/i18n/pt/Laravel/templates/model.template.php +206 -0
- package/Dev/i18n/pt/Laravel/templates/test.template.php +263 -0
- package/Dev/i18n/pt/PHP/CLAUDE.md.template +460 -0
- package/Dev/i18n/pt/PHP/agents/php-reviewer.md +345 -0
- package/Dev/i18n/pt/PHP/checklists/new-feature.md +132 -0
- package/Dev/i18n/pt/PHP/checklists/pre-commit.md +231 -0
- package/Dev/i18n/pt/PHP/commands/check-architecture.md +557 -0
- package/Dev/i18n/pt/PHP/commands/check-code-quality.md +448 -0
- package/Dev/i18n/pt/PHP/commands/check-compliance.md +477 -0
- package/Dev/i18n/pt/PHP/commands/check-security.md +420 -0
- package/Dev/i18n/pt/PHP/commands/check-testing.md +486 -0
- package/Dev/i18n/pt/PHP/rules/00-project-context.md.template +266 -0
- package/Dev/i18n/pt/PHP/rules/02-architecture-php.md +696 -0
- package/Dev/i18n/pt/PHP/rules/03-coding-standards.md +641 -0
- package/Dev/i18n/pt/PHP/rules/06-tooling.md +543 -0
- package/Dev/i18n/pt/PHP/rules/07-testing-php.md +636 -0
- package/Dev/i18n/pt/PHP/rules/08-quality-tools.md +533 -0
- package/Dev/i18n/pt/PHP/rules/11-security-php.md +759 -0
- package/Dev/i18n/pt/PHP/templates/entity.md +435 -0
- package/Dev/i18n/pt/PHP/templates/use-case.md +512 -0
- package/Dev/i18n/pt/PHP/templates/value-object.md +555 -0
- package/Dev/i18n/pt/VueJS/CLAUDE.md.template +102 -0
- package/Dev/i18n/pt/VueJS/agents/vuejs-reviewer.md +206 -0
- package/Dev/i18n/pt/VueJS/checklists/new-feature.md +131 -0
- package/Dev/i18n/pt/VueJS/checklists/pre-commit.md +68 -0
- package/Dev/i18n/pt/VueJS/commands/check-architecture.md +137 -0
- package/Dev/i18n/pt/VueJS/commands/check-code-quality.md +152 -0
- package/Dev/i18n/pt/VueJS/commands/check-compliance.md +124 -0
- package/Dev/i18n/pt/VueJS/commands/check-security.md +186 -0
- package/Dev/i18n/pt/VueJS/commands/check-testing.md +185 -0
- package/Dev/i18n/pt/VueJS/commands/generate-component.md +233 -0
- package/Dev/i18n/pt/VueJS/rules/00-project-context.md.template +125 -0
- package/Dev/i18n/pt/VueJS/rules/02-architecture-vuejs.md +375 -0
- package/Dev/i18n/pt/VueJS/rules/03-coding-standards.md +502 -0
- package/Dev/i18n/pt/VueJS/rules/06-tooling.md +422 -0
- package/Dev/i18n/pt/VueJS/rules/07-testing-vuejs.md +606 -0
- package/Dev/i18n/pt/VueJS/rules/08-quality-tools.md +441 -0
- package/Dev/i18n/pt/VueJS/rules/11-security-vuejs.md +465 -0
- package/Dev/i18n/pt/VueJS/templates/component.template.vue +133 -0
- package/Dev/i18n/pt/VueJS/templates/composable.template.ts +162 -0
- package/Dev/i18n/pt/VueJS/templates/store.template.ts +282 -0
- package/Dev/i18n/pt/VueJS/templates/test.template.ts +233 -0
- package/Dev/scripts/install-angular-rules.sh +543 -0
- package/Dev/scripts/install-csharp-rules.sh +544 -0
- package/Dev/scripts/install-flutter-rules.sh +17 -4
- package/Dev/scripts/install-from-config.sh +61 -23
- package/Dev/scripts/install-laravel-rules.sh +552 -0
- package/Dev/scripts/install-php-rules.sh +537 -0
- package/Dev/scripts/install-python-rules.sh +17 -4
- package/Dev/scripts/install-react-rules.sh +17 -4
- package/Dev/scripts/install-reactnative-rules.sh +17 -4
- package/Dev/scripts/install-symfony-rules.sh +22 -4
- package/Dev/scripts/install-vuejs-rules.sh +588 -0
- package/README.md +68 -2
- package/Tools/Ralph/README.md +106 -10
- package/Tools/Ralph/lib/checkpoint.sh +15 -9
- package/Tools/Ralph/lib/circuit-breaker.sh +16 -7
- package/Tools/Ralph/lib/context-manager.sh +450 -0
- package/Tools/Ralph/lib/context-reconstruction.sh +329 -0
- package/Tools/Ralph/lib/dod-validator.sh +17 -4
- package/Tools/Ralph/lib/loop.sh +33 -10
- package/Tools/Ralph/lib/session.sh +88 -33
- package/Tools/Ralph/lib/sprint-progress.sh +832 -0
- package/Tools/Ralph/lib/utils.sh +362 -0
- package/Tools/Ralph/ralph.sh +172 -14
- package/Tools/Ralph/templates/ralph.yml.template +80 -0
- package/Tools/Ralph/templates/sprint-progress.md.template +72 -0
- package/Tools/i18n/ralph/de.sh +30 -0
- package/Tools/i18n/ralph/en.sh +30 -0
- package/Tools/i18n/ralph/es.sh +30 -0
- package/Tools/i18n/ralph/fr.sh +30 -0
- package/Tools/i18n/ralph/pt.sh +30 -0
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Angular Project - Claude Instructions
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This is an Angular {{ANGULAR_VERSION}} project using standalone components and signals for reactive state management.
|
|
6
|
+
|
|
7
|
+
## Key Principles
|
|
8
|
+
|
|
9
|
+
1. **Standalone Components**: All components must be standalone (no NgModules)
|
|
10
|
+
2. **Signals First**: Use Angular Signals for reactive state
|
|
11
|
+
3. **OnPush Strategy**: All components use ChangeDetectionStrategy.OnPush
|
|
12
|
+
4. **Type Safety**: Strict TypeScript mode enabled
|
|
13
|
+
5. **Modern Control Flow**: Use @if, @for, @switch (not *ngIf, *ngFor)
|
|
14
|
+
|
|
15
|
+
## Project Structure
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
src/app/
|
|
19
|
+
├── core/ # Singleton services, guards, interceptors
|
|
20
|
+
├── shared/ # Reusable components, pipes, directives
|
|
21
|
+
├── features/ # Business features (domain-driven)
|
|
22
|
+
├── layout/ # Layout components (header, sidebar, shell)
|
|
23
|
+
└── app.routes.ts # Root routing
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Code Generation
|
|
27
|
+
|
|
28
|
+
When generating components:
|
|
29
|
+
```bash
|
|
30
|
+
ng generate component features/{{feature}}/components/{{name}} --standalone
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Testing
|
|
34
|
+
|
|
35
|
+
- Unit tests: Vitest or Jest with Angular Testing Library
|
|
36
|
+
- E2E tests: Cypress
|
|
37
|
+
- Minimum coverage: 80%
|
|
38
|
+
|
|
39
|
+
## Styling
|
|
40
|
+
|
|
41
|
+
{{STYLING_INSTRUCTIONS}}
|
|
42
|
+
|
|
43
|
+
## State Management
|
|
44
|
+
|
|
45
|
+
{{STATE_MANAGEMENT_INSTRUCTIONS}}
|
|
46
|
+
|
|
47
|
+
## Additional Instructions
|
|
48
|
+
|
|
49
|
+
{{CUSTOM_INSTRUCTIONS}}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Angular Code Reviewer Agent
|
|
2
|
+
|
|
3
|
+
You are an expert Angular code reviewer with deep knowledge of Angular best practices, TypeScript, RxJS, and modern web development patterns.
|
|
4
|
+
|
|
5
|
+
## Your Role
|
|
6
|
+
|
|
7
|
+
Review Angular code and provide constructive feedback on:
|
|
8
|
+
- Code quality and maintainability
|
|
9
|
+
- Angular best practices compliance
|
|
10
|
+
- Performance optimization
|
|
11
|
+
- Security vulnerabilities
|
|
12
|
+
- Testing coverage
|
|
13
|
+
|
|
14
|
+
## Review Criteria
|
|
15
|
+
|
|
16
|
+
### 1. Standalone Components
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
// ✅ Good
|
|
20
|
+
@Component({
|
|
21
|
+
selector: 'app-user-profile',
|
|
22
|
+
standalone: true,
|
|
23
|
+
imports: [CommonModule],
|
|
24
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
// ❌ Bad - Not standalone, no OnPush
|
|
28
|
+
@Component({
|
|
29
|
+
selector: 'app-user-profile'
|
|
30
|
+
})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Signals Usage
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
// ✅ Good - Using signals
|
|
37
|
+
count = signal(0);
|
|
38
|
+
doubleCount = computed(() => this.count() * 2);
|
|
39
|
+
|
|
40
|
+
// ❌ Bad - Using BehaviorSubject for local state
|
|
41
|
+
count$ = new BehaviorSubject(0);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Modern Control Flow
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// ✅ Good - @if, @for, @switch
|
|
48
|
+
@if (loading()) {
|
|
49
|
+
<spinner />
|
|
50
|
+
}
|
|
51
|
+
@for (item of items(); track item.id) {
|
|
52
|
+
<item-card [item]="item" />
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// ❌ Bad - Legacy *ngIf, *ngFor
|
|
56
|
+
*ngIf="loading"
|
|
57
|
+
*ngFor="let item of items"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 4. Dependency Injection
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
// ✅ Good - inject() function
|
|
64
|
+
private readonly service = inject(MyService);
|
|
65
|
+
|
|
66
|
+
// ⚠️ Acceptable but verbose
|
|
67
|
+
constructor(private service: MyService) {}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 5. Subscription Management
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
// ✅ Good - takeUntilDestroyed
|
|
74
|
+
private destroyRef = inject(DestroyRef);
|
|
75
|
+
|
|
76
|
+
ngOnInit() {
|
|
77
|
+
this.data$.pipe(
|
|
78
|
+
takeUntilDestroyed(this.destroyRef)
|
|
79
|
+
).subscribe();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ❌ Bad - No cleanup
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
this.data$.subscribe(); // Memory leak!
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 6. Error Handling
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// ✅ Good - Proper error handling
|
|
92
|
+
loadData() {
|
|
93
|
+
this.loading.set(true);
|
|
94
|
+
this.api.getData().subscribe({
|
|
95
|
+
next: data => this.data.set(data),
|
|
96
|
+
error: err => this.error.set(err.message),
|
|
97
|
+
complete: () => this.loading.set(false)
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// ❌ Bad - No error handling
|
|
102
|
+
loadData() {
|
|
103
|
+
this.api.getData().subscribe(data => this.data = data);
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 7. Type Safety
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
// ✅ Good - Typed forms
|
|
111
|
+
interface UserForm {
|
|
112
|
+
name: FormControl<string>;
|
|
113
|
+
email: FormControl<string>;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
form = new FormGroup<UserForm>({...});
|
|
117
|
+
|
|
118
|
+
// ❌ Bad - Untyped
|
|
119
|
+
form = new FormGroup({
|
|
120
|
+
name: new FormControl(''),
|
|
121
|
+
email: new FormControl('')
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Review Output Format
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## Code Review: {File/Component Name}
|
|
129
|
+
|
|
130
|
+
### Summary
|
|
131
|
+
Brief overview of the code quality and main findings.
|
|
132
|
+
|
|
133
|
+
### Score: X/100
|
|
134
|
+
|
|
135
|
+
### Strengths
|
|
136
|
+
- ✅ Point 1
|
|
137
|
+
- ✅ Point 2
|
|
138
|
+
|
|
139
|
+
### Issues Found
|
|
140
|
+
|
|
141
|
+
#### Critical (Must Fix)
|
|
142
|
+
- 🔴 Issue description
|
|
143
|
+
- File: `path/to/file.ts:line`
|
|
144
|
+
- Suggested fix: ...
|
|
145
|
+
|
|
146
|
+
#### Major (Should Fix)
|
|
147
|
+
- 🟠 Issue description
|
|
148
|
+
- File: `path/to/file.ts:line`
|
|
149
|
+
- Suggested fix: ...
|
|
150
|
+
|
|
151
|
+
#### Minor (Consider Fixing)
|
|
152
|
+
- 🟡 Issue description
|
|
153
|
+
- File: `path/to/file.ts:line`
|
|
154
|
+
- Suggested fix: ...
|
|
155
|
+
|
|
156
|
+
### Recommendations
|
|
157
|
+
1. Recommendation 1
|
|
158
|
+
2. Recommendation 2
|
|
159
|
+
|
|
160
|
+
### Code Suggestions
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
// Before
|
|
164
|
+
{code before}
|
|
165
|
+
|
|
166
|
+
// After
|
|
167
|
+
{code after}
|
|
168
|
+
```
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Review Checklist
|
|
172
|
+
|
|
173
|
+
### Architecture
|
|
174
|
+
- [ ] Correct folder structure
|
|
175
|
+
- [ ] No circular dependencies
|
|
176
|
+
- [ ] Smart/Dumb pattern followed
|
|
177
|
+
- [ ] Lazy loading implemented
|
|
178
|
+
|
|
179
|
+
### Components
|
|
180
|
+
- [ ] Standalone components
|
|
181
|
+
- [ ] OnPush change detection
|
|
182
|
+
- [ ] Signals for state
|
|
183
|
+
- [ ] Modern control flow
|
|
184
|
+
|
|
185
|
+
### Services
|
|
186
|
+
- [ ] Single responsibility
|
|
187
|
+
- [ ] Proper error handling
|
|
188
|
+
- [ ] Subscription management
|
|
189
|
+
- [ ] Injectable configuration
|
|
190
|
+
|
|
191
|
+
### Security
|
|
192
|
+
- [ ] No bypassSecurityTrust with user input
|
|
193
|
+
- [ ] Input validation
|
|
194
|
+
- [ ] No sensitive data exposure
|
|
195
|
+
|
|
196
|
+
### Testing
|
|
197
|
+
- [ ] Test coverage adequate
|
|
198
|
+
- [ ] Tests follow AAA pattern
|
|
199
|
+
- [ ] Edge cases covered
|
|
200
|
+
|
|
201
|
+
### Performance
|
|
202
|
+
- [ ] trackBy on lists
|
|
203
|
+
- [ ] No memory leaks
|
|
204
|
+
- [ ] Lazy loading used
|
|
205
|
+
|
|
206
|
+
## Severity Guidelines
|
|
207
|
+
|
|
208
|
+
| Severity | Criteria |
|
|
209
|
+
|----------|----------|
|
|
210
|
+
| Critical | Security vulnerabilities, memory leaks, breaking bugs |
|
|
211
|
+
| Major | Best practice violations, performance issues |
|
|
212
|
+
| Minor | Style issues, documentation gaps |
|
|
213
|
+
| Info | Suggestions for improvement |
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Angular New Feature Checklist
|
|
2
|
+
|
|
3
|
+
## Before Starting
|
|
4
|
+
|
|
5
|
+
- [ ] Requirements are clear and documented
|
|
6
|
+
- [ ] Feature scope is defined
|
|
7
|
+
- [ ] Design/mockups available (if UI)
|
|
8
|
+
- [ ] API contract defined (if backend integration)
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
|
|
12
|
+
- [ ] Feature folder created: `src/app/features/{feature}/`
|
|
13
|
+
- [ ] Correct folder structure:
|
|
14
|
+
```
|
|
15
|
+
features/{feature}/
|
|
16
|
+
├── components/
|
|
17
|
+
├── services/
|
|
18
|
+
├── store/
|
|
19
|
+
└── {feature}.routes.ts
|
|
20
|
+
```
|
|
21
|
+
- [ ] No cross-feature dependencies
|
|
22
|
+
|
|
23
|
+
## Components
|
|
24
|
+
|
|
25
|
+
- [ ] All components are standalone
|
|
26
|
+
- [ ] All components use OnPush
|
|
27
|
+
- [ ] Smart/Dumb pattern followed
|
|
28
|
+
- [ ] Signal inputs used (`input()`, `input.required()`)
|
|
29
|
+
- [ ] Signals used for local state
|
|
30
|
+
- [ ] Computed signals for derived state
|
|
31
|
+
|
|
32
|
+
## State Management
|
|
33
|
+
|
|
34
|
+
- [ ] Store service created if needed
|
|
35
|
+
- [ ] State is immutable
|
|
36
|
+
- [ ] Selectors are computed signals
|
|
37
|
+
- [ ] Actions update state correctly
|
|
38
|
+
|
|
39
|
+
## Routing
|
|
40
|
+
|
|
41
|
+
- [ ] Routes lazy loaded
|
|
42
|
+
- [ ] Guards added if protected
|
|
43
|
+
- [ ] Route params handled correctly
|
|
44
|
+
|
|
45
|
+
## Forms
|
|
46
|
+
|
|
47
|
+
- [ ] Typed reactive forms used
|
|
48
|
+
- [ ] Validation implemented
|
|
49
|
+
- [ ] Error messages displayed
|
|
50
|
+
- [ ] Form accessibility (labels, ARIA)
|
|
51
|
+
|
|
52
|
+
## API Integration
|
|
53
|
+
|
|
54
|
+
- [ ] API service created
|
|
55
|
+
- [ ] Error handling implemented
|
|
56
|
+
- [ ] Loading states managed
|
|
57
|
+
- [ ] Retry logic if needed
|
|
58
|
+
|
|
59
|
+
## Testing
|
|
60
|
+
|
|
61
|
+
- [ ] Unit tests for components
|
|
62
|
+
- [ ] Unit tests for services
|
|
63
|
+
- [ ] Unit tests for store
|
|
64
|
+
- [ ] Integration tests if complex
|
|
65
|
+
- [ ] Coverage > 80%
|
|
66
|
+
|
|
67
|
+
## Accessibility
|
|
68
|
+
|
|
69
|
+
- [ ] Semantic HTML used
|
|
70
|
+
- [ ] ARIA labels where needed
|
|
71
|
+
- [ ] Keyboard navigation works
|
|
72
|
+
- [ ] Focus management correct
|
|
73
|
+
- [ ] Color contrast sufficient
|
|
74
|
+
|
|
75
|
+
## Performance
|
|
76
|
+
|
|
77
|
+
- [ ] trackBy on all @for loops
|
|
78
|
+
- [ ] Lazy loading used
|
|
79
|
+
- [ ] No unnecessary re-renders
|
|
80
|
+
- [ ] Bundle size checked
|
|
81
|
+
|
|
82
|
+
## Documentation
|
|
83
|
+
|
|
84
|
+
- [ ] README updated if public API
|
|
85
|
+
- [ ] Complex logic documented
|
|
86
|
+
- [ ] Component inputs/outputs documented
|
|
87
|
+
|
|
88
|
+
## Code Quality
|
|
89
|
+
|
|
90
|
+
- [ ] No TypeScript errors
|
|
91
|
+
- [ ] No ESLint errors
|
|
92
|
+
- [ ] Code formatted
|
|
93
|
+
- [ ] No console.log in final code
|
|
94
|
+
|
|
95
|
+
## Before PR
|
|
96
|
+
|
|
97
|
+
- [ ] All tests pass
|
|
98
|
+
- [ ] Build succeeds
|
|
99
|
+
- [ ] No security issues
|
|
100
|
+
- [ ] Code reviewed by self
|
|
101
|
+
- [ ] PR description written
|
|
102
|
+
|
|
103
|
+
## PR Description Template
|
|
104
|
+
|
|
105
|
+
```markdown
|
|
106
|
+
## Summary
|
|
107
|
+
Brief description of the feature
|
|
108
|
+
|
|
109
|
+
## Changes
|
|
110
|
+
- Component A: Added user profile display
|
|
111
|
+
- Service B: Created API integration
|
|
112
|
+
- Store C: Added state management
|
|
113
|
+
|
|
114
|
+
## Testing
|
|
115
|
+
- [ ] Unit tests added
|
|
116
|
+
- [ ] Manual testing completed
|
|
117
|
+
|
|
118
|
+
## Screenshots
|
|
119
|
+
(if UI changes)
|
|
120
|
+
|
|
121
|
+
## Checklist
|
|
122
|
+
- [ ] Tests pass
|
|
123
|
+
- [ ] Build succeeds
|
|
124
|
+
- [ ] Documentation updated
|
|
125
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Angular Pre-Commit Checklist
|
|
2
|
+
|
|
3
|
+
## Before Committing
|
|
4
|
+
|
|
5
|
+
Run through this checklist before committing code changes.
|
|
6
|
+
|
|
7
|
+
### 1. Code Quality
|
|
8
|
+
|
|
9
|
+
- [ ] No TypeScript errors: `npx tsc --noEmit`
|
|
10
|
+
- [ ] No ESLint errors: `ng lint`
|
|
11
|
+
- [ ] Code is formatted: `npm run format:check`
|
|
12
|
+
- [ ] No console.log statements in production code
|
|
13
|
+
|
|
14
|
+
### 2. Tests
|
|
15
|
+
|
|
16
|
+
- [ ] All tests pass: `npm run test`
|
|
17
|
+
- [ ] New code has tests
|
|
18
|
+
- [ ] Coverage maintained: `npm run test:coverage`
|
|
19
|
+
|
|
20
|
+
### 3. Build
|
|
21
|
+
|
|
22
|
+
- [ ] Build succeeds: `ng build`
|
|
23
|
+
- [ ] No bundle size regressions
|
|
24
|
+
|
|
25
|
+
### 4. Angular Standards
|
|
26
|
+
|
|
27
|
+
- [ ] Components are standalone
|
|
28
|
+
- [ ] Components use OnPush change detection
|
|
29
|
+
- [ ] Signals used for local state
|
|
30
|
+
- [ ] Modern control flow (@if, @for)
|
|
31
|
+
- [ ] trackBy used in all @for loops
|
|
32
|
+
|
|
33
|
+
### 5. Security
|
|
34
|
+
|
|
35
|
+
- [ ] No sensitive data in code
|
|
36
|
+
- [ ] No bypassSecurityTrust* with user input
|
|
37
|
+
- [ ] Input validation on forms
|
|
38
|
+
- [ ] Routes properly protected
|
|
39
|
+
|
|
40
|
+
### 6. Documentation
|
|
41
|
+
|
|
42
|
+
- [ ] Complex logic documented
|
|
43
|
+
- [ ] Public API has JSDoc comments
|
|
44
|
+
- [ ] README updated if needed
|
|
45
|
+
|
|
46
|
+
## Quick Commands
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Run all checks
|
|
50
|
+
npm run lint && npm run test && ng build
|
|
51
|
+
|
|
52
|
+
# Fix formatting
|
|
53
|
+
npm run format
|
|
54
|
+
|
|
55
|
+
# Fix linting issues
|
|
56
|
+
ng lint --fix
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Commit Message Format
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
<type>(<scope>): <subject>
|
|
63
|
+
|
|
64
|
+
feat(users): add user profile component
|
|
65
|
+
fix(auth): handle token refresh error
|
|
66
|
+
docs(readme): update installation instructions
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Types
|
|
70
|
+
|
|
71
|
+
- `feat`: New feature
|
|
72
|
+
- `fix`: Bug fix
|
|
73
|
+
- `docs`: Documentation
|
|
74
|
+
- `style`: Formatting
|
|
75
|
+
- `refactor`: Code restructuring
|
|
76
|
+
- `test`: Adding tests
|
|
77
|
+
- `chore`: Maintenance
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Angular Architecture Review
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Angular Architecture Review
|
|
6
|
+
|
|
7
|
+
Analyze the Angular project architecture and provide recommendations for improvement.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Structure Analysis**
|
|
12
|
+
- Folder organization
|
|
13
|
+
- Feature modularity
|
|
14
|
+
- Dependency flow
|
|
15
|
+
- Layer separation
|
|
16
|
+
|
|
17
|
+
2. **Pattern Verification**
|
|
18
|
+
- Smart/Dumb components
|
|
19
|
+
- Service patterns
|
|
20
|
+
- State management
|
|
21
|
+
- Routing structure
|
|
22
|
+
|
|
23
|
+
3. **Generated Report**
|
|
24
|
+
- Architecture score
|
|
25
|
+
- Violations found
|
|
26
|
+
- Improvement recommendations
|
|
27
|
+
|
|
28
|
+
## Architecture Standards
|
|
29
|
+
|
|
30
|
+
### 1. Folder Structure
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
✅ Expected Structure:
|
|
34
|
+
src/app/
|
|
35
|
+
├── core/ # Singleton services, guards, interceptors
|
|
36
|
+
│ ├── services/
|
|
37
|
+
│ ├── guards/
|
|
38
|
+
│ ├── interceptors/
|
|
39
|
+
│ └── models/
|
|
40
|
+
├── shared/ # Reusable components, pipes, directives
|
|
41
|
+
│ ├── components/
|
|
42
|
+
│ ├── pipes/
|
|
43
|
+
│ ├── directives/
|
|
44
|
+
│ └── validators/
|
|
45
|
+
├── features/ # Business features
|
|
46
|
+
│ └── {feature}/
|
|
47
|
+
│ ├── components/
|
|
48
|
+
│ ├── services/
|
|
49
|
+
│ ├── store/
|
|
50
|
+
│ └── {feature}.routes.ts
|
|
51
|
+
├── layout/ # Layout components
|
|
52
|
+
│ ├── header/
|
|
53
|
+
│ ├── sidebar/
|
|
54
|
+
│ └── shell/
|
|
55
|
+
├── app.config.ts
|
|
56
|
+
├── app.component.ts
|
|
57
|
+
└── app.routes.ts
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2. Dependency Rules
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
✅ Allowed Dependencies:
|
|
64
|
+
- features → core, shared
|
|
65
|
+
- shared → core (types only)
|
|
66
|
+
- core → (external only)
|
|
67
|
+
|
|
68
|
+
❌ Forbidden Dependencies:
|
|
69
|
+
- core → features
|
|
70
|
+
- core → shared (components)
|
|
71
|
+
- shared → features
|
|
72
|
+
- features → features (cross-feature)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3. Smart/Dumb Pattern
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
// ✅ Container (Smart) Component
|
|
79
|
+
// - Injects services
|
|
80
|
+
// - Manages state
|
|
81
|
+
// - Handles side effects
|
|
82
|
+
@Component({
|
|
83
|
+
selector: 'app-user-list-container',
|
|
84
|
+
template: `
|
|
85
|
+
<app-user-list
|
|
86
|
+
[users]="users()"
|
|
87
|
+
[loading]="loading()"
|
|
88
|
+
(userSelected)="onSelect($event)"
|
|
89
|
+
/>
|
|
90
|
+
`
|
|
91
|
+
})
|
|
92
|
+
export class UserListContainerComponent {
|
|
93
|
+
private usersService = inject(UsersService);
|
|
94
|
+
users = this.usersService.users;
|
|
95
|
+
loading = this.usersService.loading;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// ✅ Presenter (Dumb) Component
|
|
99
|
+
// - Only @Input/@Output
|
|
100
|
+
// - No service injection
|
|
101
|
+
// - Pure display logic
|
|
102
|
+
@Component({
|
|
103
|
+
selector: 'app-user-list',
|
|
104
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
105
|
+
})
|
|
106
|
+
export class UserListComponent {
|
|
107
|
+
@Input({ required: true }) users!: User[];
|
|
108
|
+
@Input() loading = false;
|
|
109
|
+
@Output() userSelected = new EventEmitter<string>();
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 4. Service Layer
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
// ✅ API Service (Data access)
|
|
117
|
+
@Injectable({ providedIn: 'root' })
|
|
118
|
+
export class UsersApiService {
|
|
119
|
+
private http = inject(HttpClient);
|
|
120
|
+
|
|
121
|
+
getUsers(): Observable<User[]> {
|
|
122
|
+
return this.http.get<User[]>('/api/users');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// ✅ Store Service (State management)
|
|
127
|
+
@Injectable({ providedIn: 'root' })
|
|
128
|
+
export class UsersStore {
|
|
129
|
+
private state = signal<UsersState>(initialState);
|
|
130
|
+
|
|
131
|
+
users = computed(() => this.state().users);
|
|
132
|
+
loading = computed(() => this.state().loading);
|
|
133
|
+
|
|
134
|
+
setUsers(users: User[]): void {
|
|
135
|
+
this.state.update(s => ({ ...s, users }));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// ✅ Facade Service (Orchestration)
|
|
140
|
+
@Injectable({ providedIn: 'root' })
|
|
141
|
+
export class UsersService {
|
|
142
|
+
private api = inject(UsersApiService);
|
|
143
|
+
private store = inject(UsersStore);
|
|
144
|
+
|
|
145
|
+
users = this.store.users;
|
|
146
|
+
loading = this.store.loading;
|
|
147
|
+
|
|
148
|
+
loadUsers(): void {
|
|
149
|
+
this.store.setLoading(true);
|
|
150
|
+
this.api.getUsers().subscribe({
|
|
151
|
+
next: users => this.store.setUsers(users),
|
|
152
|
+
error: err => this.store.setError(err.message)
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 5. Routing Structure
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
// ✅ Root routes with lazy loading
|
|
162
|
+
export const routes: Routes = [
|
|
163
|
+
{
|
|
164
|
+
path: '',
|
|
165
|
+
loadComponent: () => import('./layout/shell/shell.component'),
|
|
166
|
+
children: [
|
|
167
|
+
{
|
|
168
|
+
path: 'users',
|
|
169
|
+
loadChildren: () => import('./features/users/users.routes'),
|
|
170
|
+
canActivate: [authGuard]
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
];
|
|
175
|
+
|
|
176
|
+
// ✅ Feature routes
|
|
177
|
+
export const USERS_ROUTES: Routes = [
|
|
178
|
+
{ path: '', loadComponent: () => import('./user-list.component') },
|
|
179
|
+
{ path: ':id', loadComponent: () => import('./user-detail.component') }
|
|
180
|
+
];
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Scoring Criteria
|
|
184
|
+
|
|
185
|
+
| Category | Weight | Criteria |
|
|
186
|
+
|----------|--------|----------|
|
|
187
|
+
| Folder Structure | 20% | Correct organization |
|
|
188
|
+
| Dependency Flow | 20% | No circular/forbidden deps |
|
|
189
|
+
| Smart/Dumb Pattern | 15% | Proper separation |
|
|
190
|
+
| Service Layer | 15% | API/Store/Facade pattern |
|
|
191
|
+
| Lazy Loading | 15% | Routes properly lazy loaded |
|
|
192
|
+
| Feature Isolation | 15% | No cross-feature imports |
|
|
193
|
+
|
|
194
|
+
## Output Format
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
══════════════════════════════════════════════════════════════
|
|
198
|
+
ANGULAR ARCHITECTURE REVIEW
|
|
199
|
+
══════════════════════════════════════════════════════════════
|
|
200
|
+
|
|
201
|
+
📊 SCORE: 78/100
|
|
202
|
+
|
|
203
|
+
📁 FOLDER STRUCTURE: 90/100
|
|
204
|
+
──────────────────────────────────────────────────────────────
|
|
205
|
+
✅ core/ properly organized
|
|
206
|
+
✅ shared/ properly organized
|
|
207
|
+
✅ features/ properly organized
|
|
208
|
+
⚠️ Missing layout/ folder
|
|
209
|
+
|
|
210
|
+
🔗 DEPENDENCY FLOW: 70/100
|
|
211
|
+
──────────────────────────────────────────────────────────────
|
|
212
|
+
✅ features → core: OK
|
|
213
|
+
✅ features → shared: OK
|
|
214
|
+
❌ Forbidden: features/users → features/auth
|
|
215
|
+
- src/app/features/users/user-profile.component.ts:5
|
|
216
|
+
imports { AuthService } from '../auth/services'
|
|
217
|
+
|
|
218
|
+
🧩 SMART/DUMB PATTERN: 80/100
|
|
219
|
+
──────────────────────────────────────────────────────────────
|
|
220
|
+
✅ 16/20 components follow pattern
|
|
221
|
+
⚠️ 4 components mix concerns:
|
|
222
|
+
- src/app/features/users/user-list.component.ts
|
|
223
|
+
Smart component with display logic
|
|
224
|
+
|
|
225
|
+
🔧 SERVICE LAYER: 75/100
|
|
226
|
+
──────────────────────────────────────────────────────────────
|
|
227
|
+
✅ API services: OK
|
|
228
|
+
✅ Store services: OK
|
|
229
|
+
⚠️ Missing facade pattern in:
|
|
230
|
+
- features/auth/
|
|
231
|
+
- features/dashboard/
|
|
232
|
+
|
|
233
|
+
🚀 LAZY LOADING: 85/100
|
|
234
|
+
──────────────────────────────────────────────────────────────
|
|
235
|
+
✅ Feature routes lazy loaded
|
|
236
|
+
⚠️ Shared components not lazy loaded
|
|
237
|
+
|
|
238
|
+
📋 RECOMMENDATIONS
|
|
239
|
+
──────────────────────────────────────────────────────────────
|
|
240
|
+
1. Create layout/ folder for Header, Sidebar, Shell
|
|
241
|
+
2. Remove cross-feature import (users → auth)
|
|
242
|
+
→ Move AuthService to core/
|
|
243
|
+
3. Separate smart/dumb components in user-list
|
|
244
|
+
4. Add facade services for auth and dashboard features
|
|
245
|
+
5. Consider lazy loading large shared components
|
|
246
|
+
|
|
247
|
+
══════════════════════════════════════════════════════════════
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Architecture Checklist
|
|
251
|
+
|
|
252
|
+
- [ ] Correct folder structure (core/shared/features/layout)
|
|
253
|
+
- [ ] No forbidden dependencies
|
|
254
|
+
- [ ] No cross-feature imports
|
|
255
|
+
- [ ] Smart/Dumb pattern followed
|
|
256
|
+
- [ ] Service layer properly structured
|
|
257
|
+
- [ ] All feature routes lazy loaded
|
|
258
|
+
- [ ] Standalone components used
|
|
259
|
+
- [ ] Guards and interceptors in core/
|
|
260
|
+
- [ ] Reusable components in shared/
|
|
261
|
+
- [ ] Feature-specific code in features/
|