@the-bearded-bear/claude-craft 8.22.0 → 8.23.0
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/base/Angular/rules/00-project-context.md.template +1 -1
- package/Dev/i18n/base/CSharp/rules/06-tooling.md +0 -2
- package/Dev/i18n/base/CSharp/rules/11-security-csharp.md +184 -160
- package/Dev/i18n/base/Common/commands/aliases.md +3 -0
- package/Dev/i18n/base/Common/commands/audit-claude-alignment.md +201 -0
- package/Dev/i18n/base/Common/commands/init.md +1 -1
- package/Dev/i18n/base/Common/commands/search.md +2 -1
- package/Dev/i18n/base/Common/skills/dynamic-workflows/SKILL.md +1 -1
- package/Dev/i18n/base/Common/skills/ecosystem-tools/SKILL.md +2 -1
- package/Dev/i18n/base/Laravel/rules/06-tooling.md +0 -2
- package/Dev/i18n/base/PHP/checklists/new-feature.md +1 -1
- package/Dev/i18n/base/PHP/commands/check-code-quality.md +3 -3
- package/Dev/i18n/base/Vercel/checklists/pre-commit.md +1 -1
- package/Dev/i18n/base/Vercel/commands/check-security.md +12 -12
- package/Dev/i18n/base/Vercel/rules/00-project-context.md.template +1 -1
- package/Dev/i18n/base/Vercel/rules/02-architecture-vercel.md +2 -2
- package/Dev/i18n/base/Vercel/rules/03-coding-standards.md +1 -1
- package/Dev/i18n/base/Vercel/rules/06-tooling.md +12 -0
- package/Dev/i18n/base/Vercel/rules/07-testing-vercel.md +1 -1
- package/Dev/i18n/base/Vercel/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/base/Vercel/rules/11-security-vercel.md +1 -1
- package/Dev/i18n/base/Vercel/templates/function-handler.template.ts +1 -1
- package/Dev/i18n/base/Vite/checklists/new-feature.md +2 -2
- package/Dev/i18n/base/Vite/checklists/pre-commit.md +2 -2
- package/Dev/i18n/base/Vite/commands/check-architecture.md +5 -5
- package/Dev/i18n/base/Vite/commands/check-library-build.md +3 -3
- package/Dev/i18n/base/Vite/commands/scaffold-project.md +2 -2
- package/Dev/i18n/base/Vite/rules/02-architecture-vite.md +5 -5
- package/Dev/i18n/base/Vite/rules/03-coding-standards.md +1 -1
- package/Dev/i18n/base/Vite/rules/06-tooling.md +2 -2
- package/Dev/i18n/base/Vite/rules/07-testing-vite.md +1 -1
- package/Dev/i18n/base/Vite/rules/11-security-vite.md +4 -4
- package/Dev/i18n/base/Vite/templates/library-entry.template.ts +2 -2
- package/Dev/i18n/base/Vite/templates/vite.config.template.ts +2 -2
- package/Dev/i18n/base/VueJS/rules/06-tooling.md +3 -2
- package/Dev/i18n/de/Angular/agents/angular-reviewer.md +3 -3
- package/Dev/i18n/de/Common/agents/devops-engineer.md +15 -1
- package/Dev/i18n/de/Common/agents/ralph-conductor.md +12 -1
- package/Dev/i18n/de/Common/agents/refactoring-specialist.md +9 -0
- package/Dev/i18n/de/Common/agents/security-auditor.md +10 -7
- package/Dev/i18n/de/Common/agents/tdd-coach.md +9 -0
- package/Dev/i18n/de/Common/agents/uiux-orchestrator.md +10 -1
- package/Dev/i18n/de/Common/commands/getting-started.md +2 -2
- package/Dev/i18n/de/Common/commands/setup-rtk.md +2 -2
- package/Dev/i18n/de/Common/rules/04-solid-principles.md +1 -1
- package/Dev/i18n/de/Common/rules/05-kiss-dry-yagni.md +5 -2
- package/Dev/i18n/de/Common/rules/10-documentation.md +1 -1
- package/Dev/i18n/de/Common/rules/11-security.md +76 -73
- package/Dev/i18n/de/Common/rules/12-context-management.md +29 -19
- package/Dev/i18n/de/Common/templates/settings.json.template +6 -6
- package/Dev/i18n/de/Flutter/agents/flutter-reviewer.md +4 -4
- package/Dev/i18n/de/Flutter/rules/06-tooling.md +30 -24
- package/Dev/i18n/de/Flutter/rules/07-testing-flutter.md +0 -0
- package/Dev/i18n/de/Flutter/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/de/Flutter/rules/12-performance.md +17 -17
- package/Dev/i18n/de/Flutter/rules/13-state-management.md +0 -0
- package/Dev/i18n/de/PHP/agents/php-reviewer.md +6 -6
- package/Dev/i18n/de/PHP/commands/check-compliance.md +3 -3
- package/Dev/i18n/de/PHP/rules/03-coding-standards.md +4 -2
- package/Dev/i18n/de/PHP/rules/06-tooling.md +4 -7
- package/Dev/i18n/de/PHP/rules/08-quality-tools.md +2 -2
- package/Dev/i18n/de/Paperclip/CLAUDE.md.template +2 -2
- package/Dev/i18n/de/Paperclip/README.md +1 -1
- package/Dev/i18n/de/Paperclip/commands/setup-company.md +1 -1
- package/Dev/i18n/de/Paperclip/rules/06-tooling.md +3 -3
- package/Dev/i18n/de/Paperclip/rules/11-security-paperclip.md +9 -0
- package/Dev/i18n/de/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
- package/Dev/i18n/de/Python/commands/generate-model.md +3 -1
- package/Dev/i18n/de/Python/rules/06-tooling.md +1 -1
- package/Dev/i18n/de/Python/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/de/Python/rules/11-security-python.md +2 -2
- package/Dev/i18n/de/React/agents/react-reviewer.md +9 -5
- package/Dev/i18n/de/React/rules/06-tooling.md +0 -2
- package/Dev/i18n/de/React/rules/11-security-react.md +9 -0
- package/Dev/i18n/de/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/de/ReactNative/rules/06-tooling.md +19 -3
- package/Dev/i18n/de/Symfony/agents/symfony-reviewer.md +5 -5
- package/Dev/i18n/de/Symfony/checklists/README.md +1 -1
- package/Dev/i18n/de/Symfony/checklists/new-feature.md +2 -2
- package/Dev/i18n/de/Symfony/checklists/pre-commit.md +4 -4
- package/Dev/i18n/de/Symfony/checklists/refactoring.md +1 -1
- package/Dev/i18n/de/Symfony/commands/check-architecture.md +4 -4
- package/Dev/i18n/de/Symfony/commands/check-code-quality.md +15 -15
- package/Dev/i18n/de/Symfony/commands/check-security.md +32 -32
- package/Dev/i18n/de/Symfony/commands/check-testing.md +16 -16
- package/Dev/i18n/de/Symfony/rules/03-coding-standards.md +4 -4
- package/Dev/i18n/de/Symfony/rules/06-docker-hadolint.md +0 -4
- package/Dev/i18n/de/Symfony/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/de/Symfony/rules/16-i18n.md +2 -0
- package/Dev/i18n/de/Symfony/rules/17-async.md +1 -0
- package/Dev/i18n/de/Symfony/rules/19-aggregates.md +1 -0
- package/Dev/i18n/de/Symfony/rules/20-domain-events.md +1 -0
- package/Dev/i18n/de/Team/commands/delivery.md +1 -1
- package/Dev/i18n/de/Vercel/CLAUDE.md.template +2 -2
- package/Dev/i18n/de/Vercel/agents/vercel-reviewer.md +8 -8
- package/Dev/i18n/de/Vite/CLAUDE.md.template +2 -2
- package/Dev/i18n/de/Vite/agents/vite-reviewer.md +19 -17
- package/Dev/i18n/de/Vite/commands/check-compliance.md +2 -2
- package/Dev/i18n/en/Angular/agents/angular-reviewer.md +3 -3
- package/Dev/i18n/en/Common/agents/devops-engineer.md +15 -1
- package/Dev/i18n/en/Common/agents/ralph-conductor.md +11 -0
- package/Dev/i18n/en/Common/agents/refactoring-specialist.md +9 -0
- package/Dev/i18n/en/Common/agents/security-auditor.md +10 -7
- package/Dev/i18n/en/Common/agents/tdd-coach.md +9 -0
- package/Dev/i18n/en/Common/agents/uiux-orchestrator.md +10 -1
- package/Dev/i18n/en/Common/commands/getting-started.md +2 -2
- package/Dev/i18n/en/Common/commands/setup-rtk.md +2 -2
- package/Dev/i18n/en/Common/rules/04-solid-principles.md +1 -1
- package/Dev/i18n/en/Common/rules/05-kiss-dry-yagni.md +5 -2
- package/Dev/i18n/en/Common/rules/10-documentation.md +1 -1
- package/Dev/i18n/en/Common/rules/11-security.md +76 -73
- package/Dev/i18n/en/Common/rules/12-context-management.md +31 -21
- package/Dev/i18n/en/Common/templates/settings.json.template +6 -6
- package/Dev/i18n/en/Flutter/agents/flutter-reviewer.md +4 -4
- package/Dev/i18n/en/Flutter/rules/06-tooling.md +29 -23
- package/Dev/i18n/en/Flutter/rules/07-testing-flutter.md +0 -0
- package/Dev/i18n/en/Flutter/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/en/Flutter/rules/12-performance.md +17 -17
- package/Dev/i18n/en/Flutter/rules/13-state-management.md +0 -0
- package/Dev/i18n/en/PHP/CLAUDE.md.template +1 -1
- package/Dev/i18n/en/PHP/agents/php-reviewer.md +6 -6
- package/Dev/i18n/en/PHP/commands/check-compliance.md +1 -1
- package/Dev/i18n/en/PHP/rules/03-coding-standards.md +4 -2
- package/Dev/i18n/en/PHP/rules/06-tooling.md +4 -7
- package/Dev/i18n/en/PHP/rules/08-quality-tools.md +2 -2
- package/Dev/i18n/en/Paperclip/CLAUDE.md.template +2 -2
- package/Dev/i18n/en/Paperclip/README.md +1 -1
- package/Dev/i18n/en/Paperclip/commands/setup-company.md +1 -1
- package/Dev/i18n/en/Paperclip/rules/06-tooling.md +3 -3
- package/Dev/i18n/en/Paperclip/rules/11-security-paperclip.md +9 -0
- package/Dev/i18n/en/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
- package/Dev/i18n/en/Python/commands/generate-model.md +3 -1
- package/Dev/i18n/en/Python/rules/06-tooling.md +1 -1
- package/Dev/i18n/en/Python/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/en/Python/rules/11-security-python.md +11 -11
- package/Dev/i18n/en/React/agents/react-reviewer.md +9 -5
- package/Dev/i18n/en/React/rules/06-tooling.md +0 -2
- package/Dev/i18n/en/React/rules/11-security-react.md +9 -0
- package/Dev/i18n/en/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/en/ReactNative/rules/02-architecture.md +1 -1
- package/Dev/i18n/en/ReactNative/rules/06-tooling.md +19 -3
- package/Dev/i18n/en/Symfony/agents/symfony-reviewer.md +5 -5
- package/Dev/i18n/en/Symfony/checklists/README.md +1 -1
- package/Dev/i18n/en/Symfony/checklists/new-feature.md +2 -2
- package/Dev/i18n/en/Symfony/checklists/pre-commit.md +4 -4
- package/Dev/i18n/en/Symfony/checklists/refactoring.md +1 -1
- package/Dev/i18n/en/Symfony/commands/check-architecture.md +4 -4
- package/Dev/i18n/en/Symfony/commands/check-code-quality.md +15 -15
- package/Dev/i18n/en/Symfony/commands/check-security.md +32 -32
- package/Dev/i18n/en/Symfony/commands/check-testing.md +16 -16
- package/Dev/i18n/en/Symfony/rules/03-coding-standards.md +4 -4
- package/Dev/i18n/en/Symfony/rules/06-docker-hadolint.md +0 -4
- package/Dev/i18n/en/Symfony/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/en/Symfony/rules/16-i18n.md +2 -0
- package/Dev/i18n/en/Symfony/rules/17-async.md +1 -0
- package/Dev/i18n/en/Symfony/rules/19-aggregates.md +1 -0
- package/Dev/i18n/en/Symfony/rules/20-domain-events.md +1 -0
- package/Dev/i18n/en/Team/commands/delivery.md +1 -1
- package/Dev/i18n/en/Vercel/CLAUDE.md.template +2 -2
- package/Dev/i18n/en/Vercel/agents/vercel-reviewer.md +8 -8
- package/Dev/i18n/en/Vite/CLAUDE.md.template +2 -2
- package/Dev/i18n/en/Vite/agents/vite-reviewer.md +19 -17
- package/Dev/i18n/en/Vite/commands/check-compliance.md +2 -2
- package/Dev/i18n/en/Workflow/commands/review.md +0 -0
- package/Dev/i18n/en/Workflow/commands/start.md +0 -0
- package/Dev/i18n/es/Angular/agents/angular-reviewer.md +3 -3
- package/Dev/i18n/es/Common/agents/devops-engineer.md +15 -1
- package/Dev/i18n/es/Common/agents/ralph-conductor.md +11 -0
- package/Dev/i18n/es/Common/agents/refactoring-specialist.md +9 -0
- package/Dev/i18n/es/Common/agents/security-auditor.md +10 -7
- package/Dev/i18n/es/Common/agents/tdd-coach.md +9 -0
- package/Dev/i18n/es/Common/agents/uiux-orchestrator.md +10 -1
- package/Dev/i18n/es/Common/commands/getting-started.md +2 -2
- package/Dev/i18n/es/Common/commands/setup-rtk.md +2 -2
- package/Dev/i18n/es/Common/rules/04-solid-principles.md +1 -1
- package/Dev/i18n/es/Common/rules/05-kiss-dry-yagni.md +5 -2
- package/Dev/i18n/es/Common/rules/10-documentation.md +1 -1
- package/Dev/i18n/es/Common/rules/11-security.md +76 -73
- package/Dev/i18n/es/Common/rules/12-context-management.md +29 -19
- package/Dev/i18n/es/Common/templates/settings.json.template +6 -6
- package/Dev/i18n/es/Flutter/agents/flutter-reviewer.md +4 -4
- package/Dev/i18n/es/Flutter/rules/06-tooling.md +31 -25
- package/Dev/i18n/es/Flutter/rules/07-testing-flutter.md +0 -0
- package/Dev/i18n/es/Flutter/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/es/Flutter/rules/12-performance.md +17 -17
- package/Dev/i18n/es/Flutter/rules/13-state-management.md +0 -0
- package/Dev/i18n/es/PHP/agents/php-reviewer.md +6 -6
- package/Dev/i18n/es/PHP/commands/check-compliance.md +3 -3
- package/Dev/i18n/es/PHP/rules/03-coding-standards.md +4 -2
- package/Dev/i18n/es/PHP/rules/06-tooling.md +4 -7
- package/Dev/i18n/es/PHP/rules/08-quality-tools.md +2 -2
- package/Dev/i18n/es/Paperclip/CLAUDE.md.template +2 -2
- package/Dev/i18n/es/Paperclip/README.md +1 -1
- package/Dev/i18n/es/Paperclip/commands/setup-company.md +1 -1
- package/Dev/i18n/es/Paperclip/rules/06-tooling.md +3 -3
- package/Dev/i18n/es/Paperclip/rules/11-security-paperclip.md +9 -0
- package/Dev/i18n/es/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
- package/Dev/i18n/es/Python/commands/generate-model.md +3 -1
- package/Dev/i18n/es/Python/rules/06-tooling.md +1 -1
- package/Dev/i18n/es/Python/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/es/Python/rules/11-security-python.md +2 -2
- package/Dev/i18n/es/React/agents/react-reviewer.md +9 -5
- package/Dev/i18n/es/React/rules/06-tooling.md +0 -2
- package/Dev/i18n/es/React/rules/11-security-react.md +9 -0
- package/Dev/i18n/es/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/es/ReactNative/rules/06-tooling.md +19 -3
- package/Dev/i18n/es/Symfony/agents/symfony-reviewer.md +5 -5
- package/Dev/i18n/es/Symfony/checklists/README.md +1 -1
- package/Dev/i18n/es/Symfony/checklists/new-feature.md +2 -2
- package/Dev/i18n/es/Symfony/checklists/pre-commit.md +4 -4
- package/Dev/i18n/es/Symfony/checklists/refactoring.md +1 -1
- package/Dev/i18n/es/Symfony/commands/check-architecture.md +4 -4
- package/Dev/i18n/es/Symfony/commands/check-code-quality.md +15 -15
- package/Dev/i18n/es/Symfony/commands/check-security.md +32 -32
- package/Dev/i18n/es/Symfony/commands/check-testing.md +16 -16
- package/Dev/i18n/es/Symfony/rules/03-coding-standards.md +4 -4
- package/Dev/i18n/es/Symfony/rules/06-docker-hadolint.md +0 -4
- package/Dev/i18n/es/Symfony/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/es/Symfony/rules/16-i18n.md +2 -0
- package/Dev/i18n/es/Symfony/rules/17-async.md +1 -0
- package/Dev/i18n/es/Symfony/rules/19-aggregates.md +1 -0
- package/Dev/i18n/es/Symfony/rules/20-domain-events.md +1 -0
- package/Dev/i18n/es/Team/commands/delivery.md +1 -1
- package/Dev/i18n/es/Vercel/CLAUDE.md.template +2 -2
- package/Dev/i18n/es/Vercel/agents/vercel-reviewer.md +7 -7
- package/Dev/i18n/es/Vite/CLAUDE.md.template +2 -2
- package/Dev/i18n/es/Vite/agents/vite-reviewer.md +19 -17
- package/Dev/i18n/es/Vite/commands/check-compliance.md +2 -2
- package/Dev/i18n/fr/Angular/agents/angular-reviewer.md +3 -3
- package/Dev/i18n/fr/Common/agents/devops-engineer.md +15 -1
- package/Dev/i18n/fr/Common/agents/ralph-conductor.md +12 -1
- package/Dev/i18n/fr/Common/agents/refactoring-specialist.md +9 -0
- package/Dev/i18n/fr/Common/agents/security-auditor.md +10 -7
- package/Dev/i18n/fr/Common/agents/tdd-coach.md +9 -0
- package/Dev/i18n/fr/Common/agents/uiux-orchestrator.md +10 -1
- package/Dev/i18n/fr/Common/commands/getting-started.md +2 -2
- package/Dev/i18n/fr/Common/commands/setup-rtk.md +2 -2
- package/Dev/i18n/fr/Common/rules/04-solid-principles.md +1 -1
- package/Dev/i18n/fr/Common/rules/05-kiss-dry-yagni.md +5 -2
- package/Dev/i18n/fr/Common/rules/10-documentation.md +1 -1
- package/Dev/i18n/fr/Common/rules/11-security.md +76 -73
- package/Dev/i18n/fr/Common/rules/12-context-management.md +30 -20
- package/Dev/i18n/fr/Common/templates/settings.json.template +6 -6
- package/Dev/i18n/fr/Flutter/agents/flutter-reviewer.md +4 -4
- package/Dev/i18n/fr/Flutter/rules/06-tooling.md +10 -4
- package/Dev/i18n/fr/Flutter/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/fr/PHP/agents/php-reviewer.md +6 -6
- package/Dev/i18n/fr/PHP/commands/check-compliance.md +3 -3
- package/Dev/i18n/fr/PHP/rules/03-coding-standards.md +4 -2
- package/Dev/i18n/fr/PHP/rules/06-tooling.md +4 -7
- package/Dev/i18n/fr/PHP/rules/08-quality-tools.md +2 -2
- package/Dev/i18n/fr/Paperclip/CLAUDE.md.template +2 -2
- package/Dev/i18n/fr/Paperclip/README.md +1 -1
- package/Dev/i18n/fr/Paperclip/commands/setup-company.md +1 -1
- package/Dev/i18n/fr/Paperclip/rules/06-tooling.md +3 -3
- package/Dev/i18n/fr/Paperclip/rules/11-security-paperclip.md +9 -0
- package/Dev/i18n/fr/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
- package/Dev/i18n/fr/Python/commands/generate-model.md +3 -1
- package/Dev/i18n/fr/Python/rules/06-tooling.md +1 -3
- package/Dev/i18n/fr/Python/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/fr/Python/rules/11-security-python.md +2 -2
- package/Dev/i18n/fr/React/agents/react-reviewer.md +9 -5
- package/Dev/i18n/fr/React/rules/06-tooling.md +0 -2
- package/Dev/i18n/fr/React/rules/11-security-react.md +9 -0
- package/Dev/i18n/fr/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/fr/ReactNative/rules/06-tooling.md +19 -3
- package/Dev/i18n/fr/Symfony/agents/symfony-reviewer.md +5 -5
- package/Dev/i18n/fr/Symfony/checklists/README.md +1 -1
- package/Dev/i18n/fr/Symfony/checklists/new-feature.md +2 -2
- package/Dev/i18n/fr/Symfony/checklists/pre-commit.md +4 -4
- package/Dev/i18n/fr/Symfony/checklists/refactoring.md +1 -1
- package/Dev/i18n/fr/Symfony/commands/check-architecture.md +4 -4
- package/Dev/i18n/fr/Symfony/commands/check-code-quality.md +15 -15
- package/Dev/i18n/fr/Symfony/commands/check-security.md +32 -32
- package/Dev/i18n/fr/Symfony/commands/check-testing.md +16 -16
- package/Dev/i18n/fr/Symfony/rules/03-coding-standards.md +4 -4
- package/Dev/i18n/fr/Symfony/rules/06-docker-hadolint.md +0 -4
- package/Dev/i18n/fr/Symfony/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/fr/Symfony/rules/16-i18n.md +2 -0
- package/Dev/i18n/fr/Symfony/rules/17-async.md +1 -0
- package/Dev/i18n/fr/Symfony/rules/19-aggregates.md +1 -0
- package/Dev/i18n/fr/Symfony/rules/20-domain-events.md +1 -0
- package/Dev/i18n/fr/Team/commands/delivery.md +1 -1
- package/Dev/i18n/fr/Vercel/CLAUDE.md.template +2 -2
- package/Dev/i18n/fr/Vercel/agents/vercel-reviewer.md +8 -8
- package/Dev/i18n/fr/Vite/CLAUDE.md.template +2 -2
- package/Dev/i18n/fr/Vite/agents/vite-reviewer.md +19 -17
- package/Dev/i18n/fr/Vite/commands/check-compliance.md +2 -2
- package/Dev/i18n/pt/Angular/agents/angular-reviewer.md +3 -3
- package/Dev/i18n/pt/Common/agents/devops-engineer.md +15 -1
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +11 -0
- package/Dev/i18n/pt/Common/agents/refactoring-specialist.md +9 -0
- package/Dev/i18n/pt/Common/agents/security-auditor.md +10 -7
- package/Dev/i18n/pt/Common/agents/tdd-coach.md +9 -0
- package/Dev/i18n/pt/Common/agents/uiux-orchestrator.md +10 -1
- package/Dev/i18n/pt/Common/commands/getting-started.md +2 -2
- package/Dev/i18n/pt/Common/commands/setup-rtk.md +2 -2
- package/Dev/i18n/pt/Common/rules/04-solid-principles.md +1 -1
- package/Dev/i18n/pt/Common/rules/05-kiss-dry-yagni.md +5 -2
- package/Dev/i18n/pt/Common/rules/10-documentation.md +1 -1
- package/Dev/i18n/pt/Common/rules/11-security.md +76 -73
- package/Dev/i18n/pt/Common/rules/12-context-management.md +29 -19
- package/Dev/i18n/pt/Common/templates/settings.json.template +6 -6
- package/Dev/i18n/pt/Flutter/agents/flutter-reviewer.md +4 -4
- package/Dev/i18n/pt/Flutter/rules/06-tooling.md +12 -6
- package/Dev/i18n/pt/Flutter/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/pt/PHP/agents/php-reviewer.md +6 -6
- package/Dev/i18n/pt/PHP/commands/check-compliance.md +3 -3
- package/Dev/i18n/pt/PHP/rules/03-coding-standards.md +4 -2
- package/Dev/i18n/pt/PHP/rules/06-tooling.md +4 -7
- package/Dev/i18n/pt/PHP/rules/08-quality-tools.md +2 -2
- package/Dev/i18n/pt/Paperclip/CLAUDE.md.template +2 -2
- package/Dev/i18n/pt/Paperclip/README.md +1 -1
- package/Dev/i18n/pt/Paperclip/commands/setup-company.md +1 -1
- package/Dev/i18n/pt/Paperclip/rules/06-tooling.md +3 -3
- package/Dev/i18n/pt/Paperclip/rules/11-security-paperclip.md +9 -0
- package/Dev/i18n/pt/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
- package/Dev/i18n/pt/Python/commands/generate-model.md +3 -1
- package/Dev/i18n/pt/Python/rules/06-tooling.md +1 -1
- package/Dev/i18n/pt/Python/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/pt/Python/rules/11-security-python.md +2 -2
- package/Dev/i18n/pt/React/agents/react-reviewer.md +9 -5
- package/Dev/i18n/pt/React/rules/06-tooling.md +0 -2
- package/Dev/i18n/pt/React/rules/11-security-react.md +9 -0
- package/Dev/i18n/pt/ReactNative/agents/reactnative-reviewer.md +4 -4
- package/Dev/i18n/pt/ReactNative/rules/06-tooling.md +19 -3
- package/Dev/i18n/pt/Symfony/agents/symfony-reviewer.md +5 -5
- package/Dev/i18n/pt/Symfony/checklists/README.md +1 -1
- package/Dev/i18n/pt/Symfony/checklists/new-feature.md +2 -2
- package/Dev/i18n/pt/Symfony/checklists/pre-commit.md +4 -4
- package/Dev/i18n/pt/Symfony/checklists/refactoring.md +1 -1
- package/Dev/i18n/pt/Symfony/commands/check-architecture.md +4 -4
- package/Dev/i18n/pt/Symfony/commands/check-code-quality.md +15 -15
- package/Dev/i18n/pt/Symfony/commands/check-security.md +32 -32
- package/Dev/i18n/pt/Symfony/commands/check-testing.md +16 -16
- package/Dev/i18n/pt/Symfony/rules/03-coding-standards.md +4 -4
- package/Dev/i18n/pt/Symfony/rules/06-docker-hadolint.md +0 -4
- package/Dev/i18n/pt/Symfony/rules/08-quality-tools.md +1 -1
- package/Dev/i18n/pt/Symfony/rules/16-i18n.md +2 -0
- package/Dev/i18n/pt/Symfony/rules/17-async.md +1 -0
- package/Dev/i18n/pt/Symfony/rules/19-aggregates.md +1 -0
- package/Dev/i18n/pt/Symfony/rules/20-domain-events.md +1 -0
- package/Dev/i18n/pt/Team/commands/delivery.md +1 -1
- package/Dev/i18n/pt/Vercel/CLAUDE.md.template +2 -2
- package/Dev/i18n/pt/Vercel/agents/vercel-reviewer.md +8 -8
- package/Dev/i18n/pt/Vite/CLAUDE.md.template +2 -2
- package/Dev/i18n/pt/Vite/agents/vite-reviewer.md +19 -17
- package/Dev/i18n/pt/Vite/commands/check-compliance.md +2 -2
- package/Dev/scripts/install-paperclip-rules.sh +5 -5
- package/Dev/scripts/install-vite-rules.sh +4 -4
- package/Infra/i18n/de/Ansible/agents/ansible-architect.md +2 -0
- package/Infra/i18n/de/Docker/commands/docker-architecture.md +0 -2
- package/Infra/i18n/de/Docker/commands/docker-compose-setup.md +0 -2
- package/Infra/i18n/de/FrankenPHP/agents/frankenphp-architect.md +4 -1
- package/Infra/i18n/de/FrankenPHP/agents/frankenphp-deployment.md +2 -2
- package/Infra/i18n/de/FrankenPHP/agents/frankenphp-security.md +1 -1
- package/Infra/i18n/de/FrankenPHP/commands/deploy-setup.md +1 -1
- package/Infra/i18n/de/Hcloud/agents/hcloud-architect.md +14 -4
- package/Infra/i18n/de/Hcloud/agents/hcloud-cost.md +1 -1
- package/Infra/i18n/de/Hcloud/agents/hcloud-debug.md +1 -1
- package/Infra/i18n/de/Hcloud/agents/hcloud-deployment.md +2 -2
- package/Infra/i18n/de/Hcloud/agents/hcloud-security.md +1 -1
- package/Infra/i18n/de/Hcloud/commands/architecture.md +3 -3
- package/Infra/i18n/de/Hcloud/commands/debug.md +1 -1
- package/Infra/i18n/de/Kubernetes/agents/kubernetes-architect.md +3 -3
- package/Infra/i18n/de/Kubernetes/commands/architecture.md +1 -1
- package/Infra/i18n/de/OpenTofu/agents/opentofu-architect.md +1 -1
- package/Infra/i18n/de/OpenTofu/agents/opentofu-deployment.md +2 -2
- package/Infra/i18n/de/PgBouncer/agents/pgbouncer-architect.md +11 -2
- package/Infra/i18n/de/PgBouncer/agents/pgbouncer-debug.md +1 -0
- package/Infra/i18n/de/PgBouncer/agents/pgbouncer-deployment.md +38 -30
- package/Infra/i18n/de/PgBouncer/commands/deploy-setup.md +1 -1
- package/Infra/i18n/en/Ansible/agents/ansible-architect.md +2 -0
- package/Infra/i18n/en/Docker/commands/docker-architecture.md +0 -2
- package/Infra/i18n/en/Docker/commands/docker-compose-setup.md +0 -2
- package/Infra/i18n/en/FrankenPHP/agents/frankenphp-architect.md +4 -1
- package/Infra/i18n/en/FrankenPHP/agents/frankenphp-deployment.md +2 -2
- package/Infra/i18n/en/FrankenPHP/agents/frankenphp-security.md +1 -1
- package/Infra/i18n/en/FrankenPHP/commands/deploy-setup.md +1 -1
- package/Infra/i18n/en/Hcloud/agents/hcloud-architect.md +14 -4
- package/Infra/i18n/en/Hcloud/agents/hcloud-cost.md +1 -1
- package/Infra/i18n/en/Hcloud/agents/hcloud-debug.md +1 -1
- package/Infra/i18n/en/Hcloud/agents/hcloud-deployment.md +2 -2
- package/Infra/i18n/en/Hcloud/agents/hcloud-security.md +1 -1
- package/Infra/i18n/en/Hcloud/commands/architecture.md +3 -3
- package/Infra/i18n/en/Hcloud/commands/debug.md +1 -1
- package/Infra/i18n/en/Kubernetes/agents/kubernetes-architect.md +3 -3
- package/Infra/i18n/en/Kubernetes/commands/architecture.md +1 -1
- package/Infra/i18n/en/OpenTofu/agents/opentofu-architect.md +1 -1
- package/Infra/i18n/en/OpenTofu/agents/opentofu-deployment.md +2 -2
- package/Infra/i18n/en/PgBouncer/agents/pgbouncer-architect.md +11 -2
- package/Infra/i18n/en/PgBouncer/agents/pgbouncer-debug.md +1 -0
- package/Infra/i18n/en/PgBouncer/agents/pgbouncer-deployment.md +38 -30
- package/Infra/i18n/en/PgBouncer/commands/deploy-setup.md +1 -1
- package/Infra/i18n/es/Ansible/agents/ansible-architect.md +2 -0
- package/Infra/i18n/es/Docker/commands/docker-architecture.md +0 -2
- package/Infra/i18n/es/Docker/commands/docker-compose-setup.md +0 -2
- package/Infra/i18n/es/FrankenPHP/agents/frankenphp-architect.md +4 -1
- package/Infra/i18n/es/FrankenPHP/agents/frankenphp-deployment.md +2 -2
- package/Infra/i18n/es/FrankenPHP/agents/frankenphp-security.md +1 -1
- package/Infra/i18n/es/FrankenPHP/commands/deploy-setup.md +1 -1
- package/Infra/i18n/es/Hcloud/agents/hcloud-architect.md +14 -4
- package/Infra/i18n/es/Hcloud/agents/hcloud-cost.md +1 -1
- package/Infra/i18n/es/Hcloud/agents/hcloud-debug.md +1 -1
- package/Infra/i18n/es/Hcloud/agents/hcloud-deployment.md +2 -2
- package/Infra/i18n/es/Hcloud/agents/hcloud-security.md +1 -1
- package/Infra/i18n/es/Hcloud/commands/architecture.md +3 -3
- package/Infra/i18n/es/Hcloud/commands/debug.md +1 -1
- package/Infra/i18n/es/Kubernetes/agents/kubernetes-architect.md +3 -3
- package/Infra/i18n/es/Kubernetes/commands/architecture.md +1 -1
- package/Infra/i18n/es/OpenTofu/agents/opentofu-architect.md +1 -1
- package/Infra/i18n/es/OpenTofu/agents/opentofu-deployment.md +2 -2
- package/Infra/i18n/es/PgBouncer/agents/pgbouncer-architect.md +11 -2
- package/Infra/i18n/es/PgBouncer/agents/pgbouncer-debug.md +1 -0
- package/Infra/i18n/es/PgBouncer/agents/pgbouncer-deployment.md +38 -30
- package/Infra/i18n/es/PgBouncer/commands/deploy-setup.md +1 -1
- package/Infra/i18n/fr/Ansible/agents/ansible-architect.md +2 -0
- package/Infra/i18n/fr/Docker/commands/docker-architecture.md +0 -2
- package/Infra/i18n/fr/Docker/commands/docker-compose-setup.md +0 -2
- package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-architect.md +4 -1
- package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-deployment.md +2 -2
- package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-security.md +1 -1
- package/Infra/i18n/fr/FrankenPHP/commands/deploy-setup.md +1 -1
- package/Infra/i18n/fr/Hcloud/agents/hcloud-architect.md +14 -4
- package/Infra/i18n/fr/Hcloud/agents/hcloud-cost.md +1 -1
- package/Infra/i18n/fr/Hcloud/agents/hcloud-debug.md +1 -1
- package/Infra/i18n/fr/Hcloud/agents/hcloud-deployment.md +2 -2
- package/Infra/i18n/fr/Hcloud/agents/hcloud-security.md +1 -1
- package/Infra/i18n/fr/Hcloud/commands/architecture.md +3 -3
- package/Infra/i18n/fr/Hcloud/commands/debug.md +1 -1
- package/Infra/i18n/fr/Kubernetes/agents/kubernetes-architect.md +3 -3
- package/Infra/i18n/fr/Kubernetes/commands/architecture.md +1 -1
- package/Infra/i18n/fr/OpenTofu/agents/opentofu-architect.md +1 -1
- package/Infra/i18n/fr/OpenTofu/agents/opentofu-deployment.md +2 -2
- package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-architect.md +11 -2
- package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-debug.md +1 -0
- package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-deployment.md +38 -30
- package/Infra/i18n/fr/PgBouncer/commands/deploy-setup.md +1 -1
- package/Infra/i18n/pt/Ansible/agents/ansible-architect.md +2 -0
- package/Infra/i18n/pt/Docker/commands/docker-architecture.md +0 -2
- package/Infra/i18n/pt/Docker/commands/docker-compose-setup.md +0 -2
- package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-architect.md +4 -1
- package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-deployment.md +2 -2
- package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-security.md +1 -1
- package/Infra/i18n/pt/FrankenPHP/commands/deploy-setup.md +1 -1
- package/Infra/i18n/pt/Hcloud/agents/hcloud-architect.md +14 -4
- package/Infra/i18n/pt/Hcloud/agents/hcloud-cost.md +1 -1
- package/Infra/i18n/pt/Hcloud/agents/hcloud-debug.md +1 -1
- package/Infra/i18n/pt/Hcloud/agents/hcloud-deployment.md +2 -2
- package/Infra/i18n/pt/Hcloud/agents/hcloud-security.md +1 -1
- package/Infra/i18n/pt/Hcloud/commands/architecture.md +3 -3
- package/Infra/i18n/pt/Hcloud/commands/debug.md +1 -1
- package/Infra/i18n/pt/Kubernetes/agents/kubernetes-architect.md +3 -3
- package/Infra/i18n/pt/Kubernetes/commands/architecture.md +1 -1
- package/Infra/i18n/pt/OpenTofu/agents/opentofu-architect.md +1 -1
- package/Infra/i18n/pt/OpenTofu/agents/opentofu-deployment.md +2 -2
- package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-architect.md +11 -2
- package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-debug.md +1 -0
- package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-deployment.md +38 -30
- package/Infra/i18n/pt/PgBouncer/commands/deploy-setup.md +1 -1
- package/README.md +30 -22
- package/Tools/Ralph/.ralph/hooks/pre-tool-context.sh +2 -2
- package/Tools/StatusLine/README.md +1 -1
- package/bundles/cursor/.cursorrules +32 -32
- package/bundles/windsurf/.windsurfrules +32 -32
- package/cli/lib/doctor.js +15 -15
- package/cli/lib/tech-registry.js +10 -10
- package/package.json +2 -1
|
@@ -175,6 +175,8 @@ Usage :
|
|
|
175
175
|
$this->translator->trans('client.created', [], 'messages', $locale);
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
Messages pluriels/genrés : ICU MessageFormat (MF1 via le domaine `+intl-icu` de Symfony) ; **MessageFormat 2.0** est stable dans CLDR 47 (mars 2025) — vérifier le support de la bibliothèque avant de migrer.
|
|
179
|
+
|
|
178
180
|
## Checklist i18n
|
|
179
181
|
|
|
180
182
|
- [ ] Country enum utilisé partout
|
|
@@ -188,3 +188,4 @@ final class MessengerEventSubscriber implements EventSubscriberInterface
|
|
|
188
188
|
- [ ] Workers supervisord en prod
|
|
189
189
|
- [ ] Monitoring des failed messages
|
|
190
190
|
- [ ] Tests avec `messenger:consume --limit=1`
|
|
191
|
+
- [ ] Messages exposés à d'autres systèmes documentés avec AsyncAPI 3.x (3.1.0)
|
|
@@ -517,7 +517,7 @@ Pour 1 EPIC, 5 US, ~25 tâches :
|
|
|
517
517
|
| **Temps total** | **~120 min** | **~55 min** | **~2.2x** |
|
|
518
518
|
| Coût total* | ~$28 | ~$17 | **-38%** |
|
|
519
519
|
|
|
520
|
-
*Économies de coût car Sonnet ($
|
|
520
|
+
*Économies de coût car Sonnet 5.5 ($2/$10/M) gère la majorité du travail vs Opus 5.5 ($4/$20/M) en mode séquentiel.
|
|
521
521
|
|
|
522
522
|
## Attentes de performance
|
|
523
523
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**Périmètre** : uniquement les fonctionnalités de plateforme indépendantes de tout framework — vercel.json, Functions, ISR, Cron, Storage. Explicitement hors périmètre : Next.js, ainsi que tout adaptateur de déploiement propre à un framework.
|
|
10
10
|
|
|
11
|
-
> **Note :** Vercel (ce stack) couvre uniquement la **surface de la plateforme de déploiement indépendante de tout framework** : la configuration `vercel.json` (rewrites, redirects, headers, regions), les Serverless Functions sur le runtime Node.js / Fluid Compute, les primitives de cache ISR, les Cron Jobs, le Vercel Storage (Blob natif ; Postgres/KV via le Marketplace — Neon/Upstash), Analytics/Speed Insights, et le workflow variables d'environnement/Preview Deployment. Ce n'est **pas** un stack Next.js — Next.js lui-même est hors périmètre et n'est pas une technologie claude-craft supportée (aucun namespace `/nextjs:*` n'existe). Le routage, le rendu ou les patterns de récupération de données propres à un framework relèvent du stack propre à ce framework (`/react:*`, `/vuejs:*`, `/angular:*`) — consulter le `tooling.md` de ce stack pour savoir comment il s'intègre avec la sortie de build de Vercel. Par ailleurs, l'Edge Runtime (`export const runtime = 'edge'`) est **
|
|
11
|
+
> **Note :** Vercel (ce stack) couvre uniquement la **surface de la plateforme de déploiement indépendante de tout framework** : la configuration `vercel.json` (rewrites, redirects, headers, regions), les Serverless Functions sur le runtime Node.js / Fluid Compute, les primitives de cache ISR, les Cron Jobs, le Vercel Storage (Blob natif ; Postgres/KV via le Marketplace — Neon/Upstash), Analytics/Speed Insights, et le workflow variables d'environnement/Preview Deployment. Ce n'est **pas** un stack Next.js — Next.js lui-même est hors périmètre et n'est pas une technologie claude-craft supportée (aucun namespace `/nextjs:*` n'existe). Le routage, le rendu ou les patterns de récupération de données propres à un framework relèvent du stack propre à ce framework (`/react:*`, `/vuejs:*`, `/angular:*`) — consulter le `tooling.md` de ce stack pour savoir comment il s'intègre avec la sortie de build de Vercel. Par ailleurs, l'Edge Runtime (`export const runtime = 'edge'`) est **déconseillé par Vercel**, qui privilégie le Fluid Compute sur le runtime Node.js ; ce stack documente l'Edge Runtime uniquement pour aider à identifier et migrer du code legacy, pas comme un pattern recommandé pour du nouveau code.
|
|
12
12
|
|
|
13
13
|
### Structure du projet
|
|
14
14
|
```
|
|
@@ -38,7 +38,7 @@ Voir `rules/02-architecture.md` pour les patterns complets.
|
|
|
38
38
|
| Règle | Raison |
|
|
39
39
|
|------|--------|
|
|
40
40
|
| vercel.json validé contre `$schema` | Détecte les globs/clés mal orthographiés avant qu'ils échouent silencieusement au déploiement |
|
|
41
|
-
| Node.js/Fluid Compute est le runtime par défaut | L'Edge Runtime (`runtime: 'edge'`) est
|
|
41
|
+
| Node.js/Fluid Compute est le runtime par défaut | L'Edge Runtime (`runtime: 'edge'`) est déconseillé — cible de migration legacy uniquement |
|
|
42
42
|
| Variables d'environnement jamais en dur ni commitées | Les secrets appartiennent au store de variables d'environnement de Vercel, scopés par environnement |
|
|
43
43
|
| Les endpoints Cron vérifient l'en-tête secret | Un chemin cron non protégé peut être déclenché par quiconque le trouve |
|
|
44
44
|
| Couverture 80%+ sur la logique des handlers | Assurance qualité pour la logique métier des Functions et du middleware |
|
|
@@ -221,10 +221,10 @@ Une Function déclare-t-elle export const config = { runtime: 'edge' } (ou
|
|
|
221
221
|
"runtime": "edge" dans le bloc functions de vercel.json) ?
|
|
222
222
|
OUI --> Cette Function est-elle nouvellement ajoutée ou récemment modifiée
|
|
223
223
|
(pas du code purement legacy, non touché) ?
|
|
224
|
-
OUI --> MAJEUR : l'Edge Runtime est
|
|
224
|
+
OUI --> MAJEUR : l'Edge Runtime n'est pas recommandé par Vercel — migrer vers le
|
|
225
225
|
Fluid Compute sur le runtime Node.js (par défaut) pour un accès
|
|
226
226
|
complet aux API Node, des cold starts avec cache de bytecode
|
|
227
|
-
(Node
|
|
227
|
+
(Node 22+), et une tarification Active CPU
|
|
228
228
|
NON --> MINEUR : marquer comme dette de migration legacy, ne pas bloquer
|
|
229
229
|
du code non modifié
|
|
230
230
|
NON --> La Function s'exécute sur le défaut Node.js/Fluid Compute --> passer à la
|
|
@@ -237,7 +237,7 @@ Une Function déclare-t-elle export const config = { runtime: 'edge' } (ou
|
|
|
237
237
|
La version Node.js est-elle épinglée (package.json "engines.node", ou le réglage
|
|
238
238
|
Node.js Version du projet Vercel) sur 20.x ou plus récent ?
|
|
239
239
|
NON --> MINEUR : une version Node non épinglée/ancienne renonce à l'amélioration
|
|
240
|
-
de cold-start du cache de bytecode de Fluid Compute (spécifique à Node
|
|
240
|
+
de cold-start du cache de bytecode de Fluid Compute (spécifique à Node 22+)
|
|
241
241
|
et risque une dérive silencieuse de runtime entre les redéploiements
|
|
242
242
|
OUI --> OK
|
|
243
243
|
```
|
|
@@ -260,7 +260,7 @@ avant de l'utiliser ?
|
|
|
260
260
|
|
|
261
261
|
**Edge Runtime sur du code nouveau/modifié :**
|
|
262
262
|
```typescript
|
|
263
|
-
// INTERDIT — Edge Runtime déclaré sur une Function nouvellement ajoutée : pattern
|
|
263
|
+
// INTERDIT — Edge Runtime déclaré sur une Function nouvellement ajoutée : pattern déconseillé
|
|
264
264
|
export const config = { runtime: 'edge' };
|
|
265
265
|
|
|
266
266
|
export default function handler(req: Request) {
|
|
@@ -269,7 +269,7 @@ export default function handler(req: Request) {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
// CORRECT — défaut Node.js/Fluid Compute, accès complet aux API Node, cold starts
|
|
272
|
-
// plus rapides sur Node
|
|
272
|
+
// plus rapides sur Node 22+ via le cache de bytecode
|
|
273
273
|
export const config = { maxDuration: 10 };
|
|
274
274
|
|
|
275
275
|
export default function handler(req: VercelRequest, res: VercelResponse) {
|
|
@@ -297,7 +297,7 @@ export default function handler(req: VercelRequest, res: VercelResponse) {
|
|
|
297
297
|
```
|
|
298
298
|
```typescript
|
|
299
299
|
// api/legacy.ts
|
|
300
|
-
// TODO(JIRA-1234): migrer hors de l'Edge Runtime —
|
|
300
|
+
// TODO(JIRA-1234): migrer hors de l'Edge Runtime — déconseillé par Vercel, voir Fluid Compute
|
|
301
301
|
export const config = { runtime: 'edge' };
|
|
302
302
|
```
|
|
303
303
|
|
|
@@ -350,7 +350,7 @@ export default async function handler(req: VercelRequest, res: VercelResponse) {
|
|
|
350
350
|
|---------|----------|--------------|
|
|
351
351
|
| Runtime | Défaut Node.js/Fluid Compute | `runtime: 'edge'` sur du code nouveau/modifié |
|
|
352
352
|
| Edge Runtime legacy | Marqueur de migration ticketé (TODO + référence d'issue) | Edge Runtime silencieux, non signalé, laissé en place |
|
|
353
|
-
| Version Node | Épinglée sur 20
|
|
353
|
+
| Version Node | Épinglée sur 22.x ou 24.x (Node 20 est déprécié sur Vercel depuis le 2026-10-01) (`engines.node` ou réglage du projet) | Non épinglée, dérive du défaut |
|
|
354
354
|
| Input du handler | Validé/parsé (zod, garde manuelle) avant utilisation | `req.body`/`req.query` brut utilisé sans vérification |
|
|
355
355
|
| Sortie du handler | Status explicite + body typé sur chaque chemin | 200 implicite, forme d'erreur incohérente |
|
|
356
356
|
| Vigilance cold-start | Imports lourds chargés paresseusement/différés quand non toujours nécessaires | Chaque dépendance importée avec empressement en haut du module |
|
|
@@ -836,7 +836,7 @@ describe('api/cron/daily', () => {
|
|
|
836
836
|
| Sujet | À vérifier |
|
|
837
837
|
|-------|---------------|
|
|
838
838
|
| **Fluid Compute** | Confirmer que les Functions passent par défaut en Fluid Compute (tarification Active CPU), pas l'ancienne facturation Serverless Functions à concurrence fixe |
|
|
839
|
-
| **
|
|
839
|
+
| **Edge Runtime déconseillé** | Tout `runtime: 'edge'` trouvé doit porter une référence de ticket de migration, jamais être présenté comme le pattern recommandé pour du nouveau code |
|
|
840
840
|
| **Packages Storage dépréciés** | Les imports `@vercel/kv`/`@vercel/postgres` sont un constat MAJEUR quelle que soit la date d'ajout — signaler pour migration Marketplace (Neon/Upstash) |
|
|
841
841
|
| **Primitive de cache ISR vs headers de vercel.json** | La revalidation native du framework et les `headers` de vercel.json ne doivent jamais cibler la même route pour `Cache-Control` |
|
|
842
842
|
| **Limites de plan Cron** | Le plan Hobby plafonne les Cron Jobs à 1/jour — vérifier que la planification déclarée correspond au palier de plan réellement utilisé |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
**Stack** : Vite {{VITE_VERSION}}, TypeScript {{TS_VERSION}}
|
|
8
8
|
|
|
9
|
-
**Périmètre** : usage de Vite indépendant de tout framework uniquement — applications vanilla JS/TS, création de librairies (build.lib), applications multi-pages (
|
|
9
|
+
**Périmètre** : usage de Vite indépendant de tout framework uniquement — applications vanilla JS/TS, création de librairies (build.lib), applications multi-pages (rolldownOptions.input), points d'entrée Workers/WASM. Ne couvre pas la configuration du serveur de développement React/Vue/Angular/Svelte — voir le tooling.md propre à ce stack.
|
|
10
10
|
|
|
11
11
|
### Structure du projet
|
|
12
12
|
```
|
|
@@ -32,7 +32,7 @@ project-root/
|
|
|
32
32
|
### Architecture : {{ARCHITECTURE_PATTERN}}
|
|
33
33
|
- **Point d'entrée** : `index.html` à la racine du projet (ou `root`), jamais dans `public/`
|
|
34
34
|
- **Mode librairie** : `build.lib` + `vite-plugin-dts` pour les packages publiés sur npm
|
|
35
|
-
- **Multi-pages** : `
|
|
35
|
+
- **Multi-pages** : top-level `input` nommant explicitement chaque entrée HTML
|
|
36
36
|
- **Workers/WASM** : `new Worker(new URL(...), { type: 'module' })`, suffixes `?init`/`?url`
|
|
37
37
|
|
|
38
38
|
Voir `rules/02-architecture.md` pour les patterns complets.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vite-reviewer
|
|
3
|
-
description: Spécialiste de revue de code Vite 8.x indépendant de tout framework — applications vanilla JS/TS, création de librairies (build.lib), applications multi-pages (
|
|
3
|
+
description: Spécialiste de revue de code Vite 8.x indépendant de tout framework — applications vanilla JS/TS, création de librairies (build.lib), applications multi-pages (rolldownOptions.input), points d'entrée Workers/WASM, configuration de plugins
|
|
4
4
|
model: haiku
|
|
5
5
|
effort: low
|
|
6
6
|
maxTurns: 6
|
|
@@ -14,13 +14,13 @@ skills: [solid-principles, testing, security]
|
|
|
14
14
|
|
|
15
15
|
## Identité
|
|
16
16
|
|
|
17
|
-
Je suis un spécialiste de la revue de code Vite 8.x, **indépendant de tout framework** par conception. Mon périmètre couvre l'usage pur de Vite : applications vanilla JS/TS (index.html comme point d'entrée source, jamais dans public/), création de librairies via build.lib et vite-plugin-dts, applications multi-pages via build.
|
|
17
|
+
Je suis un spécialiste de la revue de code Vite 8.x, **indépendant de tout framework** par conception. Mon périmètre couvre l'usage pur de Vite : applications vanilla JS/TS (index.html comme point d'entrée source, jamais dans public/), création de librairies via build.lib et vite-plugin-dts, applications multi-pages via build.rolldownOptions.input, et points d'entrée Workers/WASM. Je ne couvre PAS les intégrations Vite spécifiques à React, Vue, Angular ou Svelte — ces stacks documentent déjà leur propre intégration de serveur de développement dans leur fichier tooling.md respectif. Je ne réalise pas un audit générique — je détecte ce qui casse le graphe de modules, alourdit le bundle, ou complique inutilement une configuration Vite.
|
|
18
18
|
|
|
19
19
|
## Système de notation (100 points)
|
|
20
20
|
|
|
21
21
|
| Catégorie | Points | Focus |
|
|
22
22
|
|----------|--------|-------|
|
|
23
|
-
| Config et Architecture Vite | 30 | vite.config.ts, index.html, build.lib,
|
|
23
|
+
| Config et Architecture Vite | 30 | vite.config.ts, index.html, build.lib, rolldownOptions.input, plugins |
|
|
24
24
|
| TypeScript et Qualité | 20 | tsconfig strict, moduleResolution bundler, vite-plugin-dts |
|
|
25
25
|
| Tests | 25 | Config/couverture Vitest, tests sur le build publié |
|
|
26
26
|
| Sortie de build et Performance | 25 | Taille du bundle, tree-shaking, externalisation, code-splitting |
|
|
@@ -49,7 +49,7 @@ Le package est-il consommé par d'autres packages/apps (publié sur npm) ?
|
|
|
49
49
|
OUI --> build.lib est-il configuré ?
|
|
50
50
|
NON --> CRITIQUE : sans build.lib, Vite produit un bundle d'application
|
|
51
51
|
(index.html requis, pas de formats ESM/CJS multiples, pas d'externalisation des peer deps)
|
|
52
|
-
OUI -->
|
|
52
|
+
OUI --> rolldownOptions.external couvre-t-il toutes les peerDependencies ?
|
|
53
53
|
NON --> MAJEUR : le runtime du framework hôte sera dupliqué chez le consommateur
|
|
54
54
|
OUI --> vite-plugin-dts est-il configuré ?
|
|
55
55
|
NON --> MAJEUR : pas de typages publiés, package inutilisable en TypeScript strict
|
|
@@ -62,7 +62,7 @@ Le package est-il consommé par d'autres packages/apps (publié sur npm) ?
|
|
|
62
62
|
```
|
|
63
63
|
Le projet a-t-il plusieurs pages HTML distinctes (pas seulement des routes côté client) ?
|
|
64
64
|
NON --> SPA classique : un seul index.html, routage côté client
|
|
65
|
-
OUI --> build.
|
|
65
|
+
OUI --> build.rolldownOptions.input est-il un objet nommant chaque page ?
|
|
66
66
|
NON --> MAJEUR : les pages secondaires ne sont pas buildées ou dépendent d'un
|
|
67
67
|
chemin de chargement manuel, non optimisé
|
|
68
68
|
OUI --> Les pages partagent-elles des dépendances lourdes ?
|
|
@@ -133,7 +133,7 @@ export default defineConfig({
|
|
|
133
133
|
formats: ['es', 'cjs'],
|
|
134
134
|
fileName: (format) => `my-lib.${format}.js`,
|
|
135
135
|
},
|
|
136
|
-
|
|
136
|
+
rolldownOptions: {
|
|
137
137
|
// Ne jamais bundler les peer dependencies
|
|
138
138
|
external: ['react', 'react-dom'],
|
|
139
139
|
output: {
|
|
@@ -144,7 +144,7 @@ export default defineConfig({
|
|
|
144
144
|
});
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
**
|
|
147
|
+
**rolldownOptions.input pour les applications multi-pages :**
|
|
148
148
|
```typescript
|
|
149
149
|
// MAUVAIS : pages secondaires non déclarées dans la config
|
|
150
150
|
export default defineConfig({});
|
|
@@ -155,7 +155,7 @@ import { defineConfig } from 'vite';
|
|
|
155
155
|
|
|
156
156
|
export default defineConfig({
|
|
157
157
|
build: {
|
|
158
|
-
|
|
158
|
+
rolldownOptions: {
|
|
159
159
|
input: {
|
|
160
160
|
main: resolve(__dirname, 'index.html'),
|
|
161
161
|
about: resolve(__dirname, 'pages/about.html'),
|
|
@@ -225,8 +225,10 @@ export function vitePluginMyTransform(): Plugin {
|
|
|
225
225
|
| index.html | À la racine de `root`, transformé comme entrée source | Copié dans public/ |
|
|
226
226
|
| public/ | Assets statiques uniquement (favicon, robots.txt) | HTML/JS source importé depuis public/ |
|
|
227
227
|
| build.lib | Configuré pour chaque package publié | Bundle d'application publié comme librairie |
|
|
228
|
-
|
|
|
229
|
-
|
|
|
228
|
+
| rolldownOptions.external | Peer deps externalisées | Framework hôte bundlé dans la librairie |
|
|
229
|
+
| rolldownOptions.input | Objet nommant chaque page HTML (multi-pages) | Chargement manuel, non optimisé |
|
|
230
|
+
| rollupOptions / worker.rollupOptions / optimizeDeps.esbuildOptions | Équivalents rolldownOptions (dépréciés depuis Vite 8) | Alias dépréciés conservés dans la config |
|
|
231
|
+
| Node.js | `^20.19.0` ou `>=22.12.0` (prérequis Vite 8) | Node 18 ou 20 < 20.19 |
|
|
230
232
|
| Plugins custom | Préfixe vite-plugin-*, propriété `name` explicite | Plugin anonyme sans nom |
|
|
231
233
|
| Variables d'environnement | Préfixe VITE_ pour l'exposition client | Secrets non préfixés référencés côté client |
|
|
232
234
|
|
|
@@ -237,7 +239,7 @@ export function vitePluginMyTransform(): Plugin {
|
|
|
237
239
|
| vite.config.ts correct (defineConfig, alias synchronisés avec tsconfig) | 8 |
|
|
238
240
|
| index.html à la racine du bon dossier, jamais dans public/ | 6 |
|
|
239
241
|
| build.lib correctement configuré (entry, formats, external, vite-plugin-dts) | 8 |
|
|
240
|
-
|
|
|
242
|
+
| rolldownOptions.input pour le multi-pages, plugins nommés selon la convention vite-plugin-* | 8 |
|
|
241
243
|
|
|
242
244
|
---
|
|
243
245
|
|
|
@@ -441,7 +443,7 @@ package.json déclare-t-il "sideEffects": false ?
|
|
|
441
443
|
### Arbre de décision : Code-splitting multi-pages
|
|
442
444
|
|
|
443
445
|
```
|
|
444
|
-
L'application a-t-elle plusieurs pages (
|
|
446
|
+
L'application a-t-elle plusieurs pages (rolldownOptions.input) ?
|
|
445
447
|
OUI --> manualChunks isole-t-il un chunk vendor partagé ?
|
|
446
448
|
NON --> MAJEUR : chaque page duplique les mêmes dépendances lourdes
|
|
447
449
|
OUI --> Le plus gros chunk lazy dépasse-t-il 80KB gzip ?
|
|
@@ -486,14 +488,14 @@ export { formatDate, parseDate } from './utils';
|
|
|
486
488
|
// MAUVAIS : le framework hôte est bundlé dans la librairie publiée
|
|
487
489
|
export default defineConfig({
|
|
488
490
|
build: { lib: { entry: 'src/index.ts', formats: ['es'] } },
|
|
489
|
-
// pas de
|
|
491
|
+
// pas de rolldownOptions.external
|
|
490
492
|
});
|
|
491
493
|
|
|
492
494
|
// BON : peer deps explicitement externalisées
|
|
493
495
|
export default defineConfig({
|
|
494
496
|
build: {
|
|
495
497
|
lib: { entry: 'src/index.ts', formats: ['es', 'cjs'] },
|
|
496
|
-
|
|
498
|
+
rolldownOptions: {
|
|
497
499
|
external: (id) => /^(react|react-dom|vue)/.test(id),
|
|
498
500
|
},
|
|
499
501
|
},
|
|
@@ -507,7 +509,7 @@ export default defineConfig({
|
|
|
507
509
|
|
|
508
510
|
// BON : chunk vendor partagé entre toutes les pages
|
|
509
511
|
build: {
|
|
510
|
-
|
|
512
|
+
rolldownOptions: {
|
|
511
513
|
output: {
|
|
512
514
|
manualChunks(id) {
|
|
513
515
|
if (id.includes('node_modules')) return 'vendor';
|
|
@@ -564,8 +566,8 @@ build: {
|
|
|
564
566
|
|
|
565
567
|
### Phase 2 : Configuration spécifique Vite (15 min)
|
|
566
568
|
|
|
567
|
-
1. Si librairie : vérifier build.lib, formats,
|
|
568
|
-
2. Si multi-pages : vérifier
|
|
569
|
+
1. Si librairie : vérifier build.lib, formats, rolldownOptions.external, vite-plugin-dts
|
|
570
|
+
2. Si multi-pages : vérifier rolldownOptions.input, manualChunks
|
|
569
571
|
3. Si Workers/WASM : vérifier new URL(...import.meta.url), suffixes ?init/?url
|
|
570
572
|
4. Vérifier la convention de nommage des plugins custom (vite-plugin-*, propriété name)
|
|
571
573
|
5. Vérifier les variables d'environnement (préfixe VITE_, aucun secret exposé côté client)
|
|
@@ -36,7 +36,7 @@ Exécuter la vérification complète de configuration et d'architecture :
|
|
|
36
36
|
- Correction de vite.config.ts (defineConfig, alias synchronisés avec tsconfig) (8 pts)
|
|
37
37
|
- Emplacement d'index.html à la racine du projet, jamais dans public/ (6 pts)
|
|
38
38
|
- Configuration build.lib pour les librairies (entry, formats, external, vite-plugin-dts) (8 pts)
|
|
39
|
-
-
|
|
39
|
+
- rolldownOptions.input pour les applications multi-pages, convention de nommage des plugins (vite-plugin-*) (8 pts)
|
|
40
40
|
|
|
41
41
|
**Référence** : `.claude/agents/vite-reviewer.md` (section 1)
|
|
42
42
|
|
|
@@ -151,7 +151,7 @@ Sous-scores :
|
|
|
151
151
|
• Correction de vite.config.ts : XX/8
|
|
152
152
|
• Emplacement d'index.html : XX/6
|
|
153
153
|
• Configuration build.lib : XX/8
|
|
154
|
-
•
|
|
154
|
+
• rolldownOptions.input / plugins : XX/8
|
|
155
155
|
|
|
156
156
|
Points forts :
|
|
157
157
|
- [Points forts architecture]
|
|
@@ -46,8 +46,8 @@ O estado e sincrono e usado para renderizacao?
|
|
|
46
46
|
|
|
47
47
|
**Zoneless por padrao (estavel) :**
|
|
48
48
|
- Economia de ~33 KB de bundle (Zone.js opcional)
|
|
49
|
-
- +30-40% de
|
|
50
|
-
-
|
|
49
|
+
- Ganhos de performance variam conforme a aplicacao (o numero "+30-40%" vem de uma fonte de 2024): medir, nao assumir
|
|
50
|
+
- Nenhum provider necessario na v21+/v22: `provideZonelessChangeDetection()` so e necessario na v20 (https://angular.dev/guide/zoneless)
|
|
51
51
|
|
|
52
52
|
**Signal Forms (estavel v22) :**
|
|
53
53
|
- Alternativa nativa baseada em signals aos Reactive Forms, **pronto para producao**
|
|
@@ -421,7 +421,7 @@ A aplicacao utiliza deteccao de mudancas zoneless?
|
|
|
421
421
|
SIM --> Os event listeners disparam corretamente o CD?
|
|
422
422
|
NAO --> Zone.js e utilizado?
|
|
423
423
|
SIM --> MENOR em v22+: migracao para zoneless recomendada (economiza ~33 KB)
|
|
424
|
-
NAO --> Verificar que
|
|
424
|
+
NAO --> Verificar que nenhum provideZoneChangeDetection() reativa o Zone.js (zoneless por padrao desde a v21)
|
|
425
425
|
|
|
426
426
|
httpResource() e usado para requisicoes HTTP repetitivas?
|
|
427
427
|
NAO --> Os componentes usam signal + effect + HttpClient?
|
|
@@ -7,6 +7,20 @@ maxTurns: 8
|
|
|
7
7
|
tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
|
|
8
8
|
permissionMode: default
|
|
9
9
|
skills: [security, git-workflow]
|
|
10
|
+
disallowedTools:
|
|
11
|
+
- "Bash(rm -rf:*)"
|
|
12
|
+
- "Bash(dd:*)"
|
|
13
|
+
- "Bash(mkfs:*)"
|
|
14
|
+
- "Bash(kubectl delete:*)"
|
|
15
|
+
- "Bash(helm uninstall:*)"
|
|
16
|
+
- "Bash(terraform destroy:*)"
|
|
17
|
+
- "Bash(tofu destroy:*)"
|
|
18
|
+
- "Bash(docker system prune -a*)"
|
|
19
|
+
- "Bash(docker volume rm:*)"
|
|
20
|
+
- "Bash(curl * | sh*)"
|
|
21
|
+
- "Bash(wget * | sh*)"
|
|
22
|
+
- "Bash(git push --force*)"
|
|
23
|
+
- "Bash(git push -f*)"
|
|
10
24
|
---
|
|
11
25
|
|
|
12
26
|
# Agente Engenheiro DevOps
|
|
@@ -31,7 +45,7 @@ Você é um **Engenheiro DevOps Sênior** com mais de 10 anos de experiência em
|
|
|
31
45
|
| Docker | Multi-stage builds, otimização de imagem, security scanning |
|
|
32
46
|
| Docker Compose | Orquestração local, profiles, extensions |
|
|
33
47
|
| Kubernetes | Deployments, Services, Ingress, ConfigMaps, Secrets |
|
|
34
|
-
| Helm | Charts, values, templating | 4.2.
|
|
48
|
+
| Helm | Charts, values, templating | 4.2.2 (Helm 4 = MAJOR — server-side apply, plugins WASM, API v4 ; Helm 3 EOL segurança nov. 2026) |
|
|
35
49
|
|
|
36
50
|
### Provedores de Nuvem
|
|
37
51
|
| Provedor | Serviços |
|
|
@@ -5,6 +5,17 @@ model: opus
|
|
|
5
5
|
effort: xhigh
|
|
6
6
|
maxTurns: 10
|
|
7
7
|
memory: user
|
|
8
|
+
disallowedTools:
|
|
9
|
+
- "Bash(rm -rf:*)"
|
|
10
|
+
- "Bash(dd:*)"
|
|
11
|
+
- "Bash(mkfs:*)"
|
|
12
|
+
- "Bash(:(){:|:&};:*)"
|
|
13
|
+
- "Bash(sudo:*)"
|
|
14
|
+
- "Bash(chmod 777:*)"
|
|
15
|
+
- "Bash(curl * | sh*)"
|
|
16
|
+
- "Bash(wget * | sh*)"
|
|
17
|
+
- "Bash(git push --force*)"
|
|
18
|
+
- "Bash(git push -f*)"
|
|
8
19
|
---
|
|
9
20
|
|
|
10
21
|
# Agente Ralph Conductor v2.0
|
|
@@ -7,6 +7,15 @@ maxTurns: 8
|
|
|
7
7
|
tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
|
|
8
8
|
permissionMode: default
|
|
9
9
|
skills: [solid-principles, testing, kiss-dry-yagni]
|
|
10
|
+
disallowedTools:
|
|
11
|
+
- "Bash(rm -rf:*)"
|
|
12
|
+
- "Bash(dd:*)"
|
|
13
|
+
- "Bash(mkfs:*)"
|
|
14
|
+
- "Bash(:(){:|:&};:*)"
|
|
15
|
+
- "Bash(sudo:*)"
|
|
16
|
+
- "Bash(chmod 777:*)"
|
|
17
|
+
- "Bash(curl * | sh*)"
|
|
18
|
+
- "Bash(wget * | sh*)"
|
|
10
19
|
---
|
|
11
20
|
|
|
12
21
|
# Agente Especialista em Refatoração
|
|
@@ -22,13 +22,16 @@ Você é um **Auditor de Segurança Sênior** com mais de 15 anos de experiênci
|
|
|
22
22
|
|
|
23
23
|
| # | Ameaça | Foco da auditoria |
|
|
24
24
|
|---|--------|-------------------|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
25
|
+
| A01 | Broken Access Control (inclui SSRF) | Verificar permissões por requisição, negar por padrão |
|
|
26
|
+
| A02 | Security Misconfiguration | Hardening, mensagens de erro genéricas em produção |
|
|
27
|
+
| A03 | Software Supply Chain Failures | SLSA, SBOM, Sigstore keyless, Dependabot/Renovate, Trivy/Grype, `npm audit --audit-level=moderate` |
|
|
28
|
+
| A04 | Cryptographic Failures | TLS 1.3, Argon2id, sem MD5/SHA1 em código novo |
|
|
29
|
+
| A05 | Injection | Consultas parametrizadas, validação, sanitização |
|
|
30
|
+
| A06 | Insecure Design | Modelagem de ameaças, rate limiting |
|
|
31
|
+
| A07 | Authentication Failures | MFA, protecao contra forca bruta, JWT EdDSA, sessoes invalidadas no logout |
|
|
32
|
+
| A08 | Software or Data Integrity Failures | Verificacao de assinaturas/checksums, CI/CD seguro, atualizacoes assinadas |
|
|
33
|
+
| A09 | Security Logging and Alerting Failures | Centralizar logs, alertas em anomalias, retencao >= 1 ano, nunca registrar credenciais/tokens |
|
|
34
|
+
| A10 | Mishandling of Exceptional Conditions | Registrar erros, nunca expor stack traces |
|
|
32
35
|
|
|
33
36
|
### Domínios de auditoria
|
|
34
37
|
|
|
@@ -7,6 +7,15 @@ maxTurns: 8
|
|
|
7
7
|
tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
|
|
8
8
|
permissionMode: default
|
|
9
9
|
skills: [testing, solid-principles]
|
|
10
|
+
disallowedTools:
|
|
11
|
+
- "Bash(rm -rf:*)"
|
|
12
|
+
- "Bash(dd:*)"
|
|
13
|
+
- "Bash(mkfs:*)"
|
|
14
|
+
- "Bash(:(){:|:&};:*)"
|
|
15
|
+
- "Bash(sudo:*)"
|
|
16
|
+
- "Bash(chmod 777:*)"
|
|
17
|
+
- "Bash(curl * | sh*)"
|
|
18
|
+
- "Bash(wget * | sh*)"
|
|
10
19
|
---
|
|
11
20
|
|
|
12
21
|
# Agente Coach TDD/BDD
|
|
@@ -4,8 +4,17 @@ description: UI-UX coordination and orchestration
|
|
|
4
4
|
model: sonnet
|
|
5
5
|
effort: medium
|
|
6
6
|
maxTurns: 10
|
|
7
|
-
tools: [Read, Glob, Grep, Edit, Write, Bash,
|
|
7
|
+
tools: [Read, Glob, Grep, Edit, Write, Bash, Agent, WebFetch, WebSearch]
|
|
8
8
|
permissionMode: default
|
|
9
|
+
disallowedTools:
|
|
10
|
+
- "Bash(rm -rf:*)"
|
|
11
|
+
- "Bash(dd:*)"
|
|
12
|
+
- "Bash(mkfs:*)"
|
|
13
|
+
- "Bash(:(){:|:&};:*)"
|
|
14
|
+
- "Bash(sudo:*)"
|
|
15
|
+
- "Bash(chmod 777:*)"
|
|
16
|
+
- "Bash(curl * | sh*)"
|
|
17
|
+
- "Bash(wget * | sh*)"
|
|
9
18
|
---
|
|
10
19
|
|
|
11
20
|
# Agente Orquestrador UI/UX
|
|
@@ -70,7 +70,7 @@ Based on the detected stack, recommend 3 contextualized commands that provide im
|
|
|
70
70
|
- `/vuejs:check-security` — XSS, CSP, OWASP audit
|
|
71
71
|
|
|
72
72
|
**Laravel:**
|
|
73
|
-
- `/laravel:check-code-quality` —
|
|
73
|
+
- `/laravel:check-code-quality` — PER-CS 3.0, Pest 4/5, coding standards
|
|
74
74
|
- `/laravel:check-testing` — Test coverage with Pest
|
|
75
75
|
- `/laravel:check-security` — OWASP audit, Sanctum config
|
|
76
76
|
|
|
@@ -91,7 +91,7 @@ Based on the detected stack, recommend 3 contextualized commands that provide im
|
|
|
91
91
|
|
|
92
92
|
**PHP (standalone):**
|
|
93
93
|
- `/php:check-code-quality` — PSR-12, PHPStan Level 10
|
|
94
|
-
- `/php:check-testing` — Pest
|
|
94
|
+
- `/php:check-testing` — Pest 5 test coverage
|
|
95
95
|
- `/php:check-security` — Security best practices
|
|
96
96
|
|
|
97
97
|
**Unknown/Multi-stack:**
|
|
@@ -75,9 +75,9 @@ echo "CLAUDE_CODE_FORK_SUBAGENT=${CLAUDE_CODE_FORK_SUBAGENT:-NÃO DEFINIDO}"
|
|
|
75
75
|
Se não estiverem definidas, recomendar adicionar a `~/.bashrc` (ou `~/.zshrc`):
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
|
-
# Usar Sonnet
|
|
78
|
+
# Usar Sonnet 5.5 para sub-agents (exploração, grep, leitura de ficheiros) em vez de Opus
|
|
79
79
|
# → 40-60% de redução de custo nas invocações de sub-agents
|
|
80
|
-
export CLAUDE_CODE_SUBAGENT_MODEL="sonnet"
|
|
80
|
+
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-5-5"
|
|
81
81
|
|
|
82
82
|
# Executar sub-agents em contextos isolados (Claude Code 2.1.117+, ver COMPATIBILITY.md)
|
|
83
83
|
# → Evita poluir a janela de contexto principal com o estado intermédio dos sub-agents
|
|
@@ -357,7 +357,7 @@ A logica de negocio e isolada dos detalhes tecnicos
|
|
|
357
357
|
|
|
358
358
|
#### SRP
|
|
359
359
|
- [ ] Cada classe tem uma unica responsabilidade claramente definida
|
|
360
|
-
- [ ] Os metodos fazem uma unica coisa (< 20 linhas)
|
|
360
|
+
- [ ] Os metodos fazem uma unica coisa (meta < 10, max 20 linhas)
|
|
361
361
|
- [ ] Sem metodos com "e" ou "ou" no nome
|
|
362
362
|
|
|
363
363
|
#### OCP
|
|
@@ -29,7 +29,7 @@ O codigo mais simples e frequentemente o melhor codigo.
|
|
|
29
29
|
|
|
30
30
|
### Regras KISS
|
|
31
31
|
|
|
32
|
-
1. **Metodos curtos:**
|
|
32
|
+
1. **Metodos curtos:** Meta < 10 linhas, limite maximo 20 linhas por metodo
|
|
33
33
|
2. **Complexidade ciclomatica:** Maximo 10 por metodo
|
|
34
34
|
3. **Profundidade de indentacao:** Maximo 3 niveis
|
|
35
35
|
4. **Parametros:** Maximo 4 parametros por metodo
|
|
@@ -369,7 +369,7 @@ class ConcreteRepository // Infrastructure
|
|
|
369
369
|
### Antes de cada commit
|
|
370
370
|
|
|
371
371
|
#### KISS
|
|
372
|
-
- [ ] Metodos <
|
|
372
|
+
- [ ] Metodos < 10 linhas (limite 20)
|
|
373
373
|
- [ ] Complexidade ciclomatica < 10
|
|
374
374
|
- [ ] Indentacao max 3 niveis
|
|
375
375
|
- [ ] Parametros max 4 por metodo
|
|
@@ -395,11 +395,14 @@ class ConcreteRepository // Infrastructure
|
|
|
395
395
|
|---------|------|--------|
|
|
396
396
|
| Linhas por metodo | < 10 | < 20 |
|
|
397
397
|
| Complexidade ciclomatica | < 5 | < 10 |
|
|
398
|
+
| Complexidade cognitiva | < 7 | < 10 |
|
|
398
399
|
| Linhas por classe | < 150 | < 200 |
|
|
399
400
|
| Duplicacao | 0% | < 3% |
|
|
400
401
|
| Cobertura de testes | > 80% | > 70% |
|
|
401
402
|
| Dependencias por classe | < 5 | < 7 |
|
|
402
403
|
|
|
404
|
+
> Os limites de Cognitive Complexity (SonarQube S3776) < 7 / < 10 sao uma escolha interna, deliberadamente mais estrita que o padrao do Sonar (15 por funcao); relaxe-os se o contexto da equipe exigir.
|
|
405
|
+
|
|
403
406
|
---
|
|
404
407
|
|
|
405
408
|
## Recursos
|