@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
|
@@ -517,7 +517,7 @@ Für 1 EPIC, 5 US, ~25 Aufgaben:
|
|
|
517
517
|
| **Gesamtzeit** | **~120 Min.** | **~55 Min.** | **~2,2x** |
|
|
518
518
|
| Gesamtkosten* | ~$28 | ~$17 | **-38%** |
|
|
519
519
|
|
|
520
|
-
*Kosteneinsparungen, weil Sonnet ($
|
|
520
|
+
*Kosteneinsparungen, weil Sonnet 5.5 ($2/$10/M) die meiste Arbeit übernimmt vs. Opus 5.5 ($4/$20/M) im sequenziellen Modus.
|
|
521
521
|
|
|
522
522
|
## Leistungserwartungen
|
|
523
523
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**Geltungsbereich**: ausschließlich framework-agnostische Platform-Features — vercel.json, Functions, ISR, Cron, Storage. Ausdrücklich nicht Next.js, nicht der eigene Deploy-Adapter irgendeines Frameworks.
|
|
10
10
|
|
|
11
|
-
> **Hinweis:** Vercel (dieser Stack) deckt ausschließlich die **framework-agnostische Deployment-Platform-Oberfläche** ab: `vercel.json`-Konfiguration (Rewrites, Redirects, Headers, Regionen), Serverless Functions auf der Node.js-Laufzeit / Fluid Compute, ISR-Cache-Primitiven, Cron Jobs, Vercel Storage (Blob nativ; Postgres/KV über den Marketplace — Neon/Upstash), Analytics/Speed Insights sowie den Workflow für Umgebungsvariablen/Preview-Deployments. Es ist **kein** Next.js-Stack — Next.js selbst liegt außerhalb des Geltungsbereichs und ist keine unterstützte claude-craft-Technologie (es existiert kein `/nextjs:*`-Namespace). Framework-spezifische Routing-, Rendering- oder Data-Fetching-Muster gehören zum jeweils eigenen Stack des Frameworks (`/react:*`, `/vuejs:*`, `/angular:*`) — dort ist in der `tooling.md` nachzulesen, wie die Integration mit Vercels Build-Output funktioniert. Zusätzlich
|
|
11
|
+
> **Hinweis:** Vercel (dieser Stack) deckt ausschließlich die **framework-agnostische Deployment-Platform-Oberfläche** ab: `vercel.json`-Konfiguration (Rewrites, Redirects, Headers, Regionen), Serverless Functions auf der Node.js-Laufzeit / Fluid Compute, ISR-Cache-Primitiven, Cron Jobs, Vercel Storage (Blob nativ; Postgres/KV über den Marketplace — Neon/Upstash), Analytics/Speed Insights sowie den Workflow für Umgebungsvariablen/Preview-Deployments. Es ist **kein** Next.js-Stack — Next.js selbst liegt außerhalb des Geltungsbereichs und ist keine unterstützte claude-craft-Technologie (es existiert kein `/nextjs:*`-Namespace). Framework-spezifische Routing-, Rendering- oder Data-Fetching-Muster gehören zum jeweils eigenen Stack des Frameworks (`/react:*`, `/vuejs:*`, `/angular:*`) — dort ist in der `tooling.md` nachzulesen, wie die Integration mit Vercels Build-Output funktioniert. Zusätzlich wird die Edge Runtime (`export const runtime = 'edge'`) von Vercel **nicht empfohlen**; Vercel bevorzugt Fluid Compute auf der Node.js-Laufzeit; dieser Stack dokumentiert die Edge Runtime nur, um Legacy-Code zu identifizieren und zu migrieren, nicht als empfohlenes Muster für neue Arbeiten.
|
|
12
12
|
|
|
13
13
|
### Projektstruktur
|
|
14
14
|
```
|
|
@@ -38,7 +38,7 @@ Vollständige Muster siehe `rules/02-architecture.md`.
|
|
|
38
38
|
| Regel | Begründung |
|
|
39
39
|
|------|--------|
|
|
40
40
|
| vercel.json gegen `$schema` validiert | Fängt vertippte Globs/Schlüssel ab, bevor sie beim Deploy stillschweigend fehlschlagen |
|
|
41
|
-
| Node.js/Fluid Compute ist die Laufzeit-Vorgabe | Die Edge Runtime (`runtime: 'edge'`)
|
|
41
|
+
| Node.js/Fluid Compute ist die Laufzeit-Vorgabe | Die Edge Runtime (`runtime: 'edge'`) wird nicht empfohlen — nur Ziel für Legacy-Migrationen |
|
|
42
42
|
| Umgebungsvariablen niemals hartkodiert oder committet | Secrets gehören in Vercels Umgebungsvariablen-Store, pro Umgebung skopiert |
|
|
43
43
|
| Cron-Endpunkte prüfen den Secret-Header | Ein ungeschützter Cron-Pfad kann von jedem ausgelöst werden, der ihn findet |
|
|
44
44
|
| >= 80% Coverage auf der Handler-Logik | Qualitätssicherung für die Business-Logik von Functions und Middleware |
|
|
@@ -211,9 +211,9 @@ Deklariert irgendeine Function export const config = { runtime: 'edge' } (oder
|
|
|
211
211
|
"runtime": "edge" im functions-Block der vercel.json)?
|
|
212
212
|
JA --> Wurde diese Function neu hinzugefügt oder kürzlich geändert (nicht rein
|
|
213
213
|
legacy, unangetasteter Code)?
|
|
214
|
-
JA --> SCHWERWIEGEND: die Edge Runtime
|
|
214
|
+
JA --> SCHWERWIEGEND: die Edge Runtime wird von Vercel nicht empfohlen — Migration
|
|
215
215
|
zu Fluid Compute auf der Node.js-Laufzeit (Standard) für vollen
|
|
216
|
-
Node-API-Zugriff, Bytecode-gecachte Cold Starts (Node
|
|
216
|
+
Node-API-Zugriff, Bytecode-gecachte Cold Starts (Node 22+) und
|
|
217
217
|
Active-CPU-Pricing
|
|
218
218
|
NEIN --> GERINGFÜGIG: als Legacy-Migrationsschuld markieren, unmodifizierten
|
|
219
219
|
Code nicht blockieren
|
|
@@ -228,7 +228,7 @@ Ist die Node.js-Version gepinnt (package.json "engines.node", oder die "Node.js
|
|
|
228
228
|
Version"-Einstellung des Vercel-Projekts) auf 20.x oder neuer?
|
|
229
229
|
NEIN --> GERINGFÜGIG: eine ungepinnte/alte Node-Version verzichtet auf die
|
|
230
230
|
Cold-Start-Verbesserung durch Fluid Computes Bytecode-Caching
|
|
231
|
-
(spezifisch für Node
|
|
231
|
+
(spezifisch für Node 22+) und riskiert stillschweigende Laufzeit-Drift
|
|
232
232
|
über Redeploys hinweg
|
|
233
233
|
JA --> OK
|
|
234
234
|
```
|
|
@@ -251,7 +251,7 @@ bevor er ihn verwendet?
|
|
|
251
251
|
|
|
252
252
|
**Edge Runtime bei neuem/geändertem Code:**
|
|
253
253
|
```typescript
|
|
254
|
-
// VERBOTEN — Edge Runtime bei einer neu hinzugefügten Function deklariert:
|
|
254
|
+
// VERBOTEN — Edge Runtime bei einer neu hinzugefügten Function deklariert: nicht empfohlenes Muster
|
|
255
255
|
export const config = { runtime: 'edge' };
|
|
256
256
|
|
|
257
257
|
export default function handler(req: Request) {
|
|
@@ -260,7 +260,7 @@ export default function handler(req: Request) {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
// KORREKT — Node.js-/Fluid-Compute-Vorgabe, voller Node-API-Zugriff, schnellere
|
|
263
|
-
// Cold Starts auf Node
|
|
263
|
+
// Cold Starts auf Node 22+ via Bytecode-Caching
|
|
264
264
|
export const config = { maxDuration: 10 };
|
|
265
265
|
|
|
266
266
|
export default function handler(req: VercelRequest, res: VercelResponse) {
|
|
@@ -286,7 +286,7 @@ export default function handler(req: VercelRequest, res: VercelResponse) {
|
|
|
286
286
|
```
|
|
287
287
|
```typescript
|
|
288
288
|
// api/legacy.ts
|
|
289
|
-
// TODO(JIRA-1234): weg von der Edge Runtime migrieren — von Vercel
|
|
289
|
+
// TODO(JIRA-1234): weg von der Edge Runtime migrieren — von Vercel nicht empfohlen, siehe Fluid Compute
|
|
290
290
|
export const config = { runtime: 'edge' };
|
|
291
291
|
```
|
|
292
292
|
|
|
@@ -339,7 +339,7 @@ export default async function handler(req: VercelRequest, res: VercelResponse) {
|
|
|
339
339
|
|---------|----------|--------------|
|
|
340
340
|
| Laufzeit | Node.js-/Fluid-Compute-Vorgabe | `runtime: 'edge'` bei neuem/geändertem Code |
|
|
341
341
|
| Legacy Edge Runtime | Tickettierter Migrations-Marker (TODO + Issue-Referenz) | Stillschweigende, unmarkierte Edge Runtime belassen |
|
|
342
|
-
| Node-Version | Auf
|
|
342
|
+
| Node-Version | Auf 22.x oder 24.x gepinnt (Node 20 ist bei Vercel seit 2026-10-01 deprecated) (`engines.node` oder Projekteinstellung) | Ungepinnt, driftende Vorgabe |
|
|
343
343
|
| Handler-Input | Validiert/geparst (zod, manueller Guard) vor Verwendung | Rohes `req.body`/`req.query` ungeprüft verwendet |
|
|
344
344
|
| Handler-Output | Expliziter Status + typisierter Body auf jedem Pfad | Implizites 200, inkonsistente Fehlerform |
|
|
345
345
|
| Cold-Start-Bewusstsein | Schwere Imports lazy geladen/verzögert, wenn nicht immer benötigt | Jede Abhängigkeit eager am Modul-Top importiert |
|
|
@@ -816,7 +816,7 @@ describe('api/cron/daily', () => {
|
|
|
816
816
|
| Thema | Zu prüfen |
|
|
817
817
|
|-------|---------------|
|
|
818
818
|
| **Fluid Compute** | Bestätigen, dass Functions standardmäßig auf Fluid Compute laufen (Active-CPU-Pricing), nicht auf dem legacy Serverless-Functions-Billing mit fixer Concurrency |
|
|
819
|
-
| **
|
|
819
|
+
| **Edge Runtime nicht empfohlen** | Jedes gefundene `runtime: 'edge'` sollte eine Migrationsticket-Referenz tragen, niemals als empfohlenes Muster für neuen Code präsentiert werden |
|
|
820
820
|
| **Deprecatete Storage-Pakete** | `@vercel/kv`/`@vercel/postgres`-Imports sind unabhängig vom Hinzufügungszeitpunkt ein SCHWERWIEGENDER Befund — für Marketplace-Migration (Neon/Upstash) markieren |
|
|
821
821
|
| **ISR-Cache-Primitive vs. vercel.json-Headers** | Framework-native Revalidierung und vercel.json-`headers` dürfen niemals dieselbe Route für `Cache-Control` adressieren |
|
|
822
822
|
| **Cron-Plan-Limits** | Der Hobby-Plan begrenzt Cron Jobs auf 1/Tag — verifizieren, dass der deklarierte Zeitplan zur tatsächlich genutzten Plan-Stufe passt |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
**Stack**: Vite {{VITE_VERSION}}, TypeScript {{TS_VERSION}}
|
|
8
8
|
|
|
9
|
-
**Geltungsbereich**: ausschließlich framework-agnostische Vite-Nutzung — Vanilla JS/TS-Anwendungen, Bibliotheksentwicklung (build.lib), Multi-Page-Anwendungen (
|
|
9
|
+
**Geltungsbereich**: ausschließlich framework-agnostische Vite-Nutzung — Vanilla JS/TS-Anwendungen, Bibliotheksentwicklung (build.lib), Multi-Page-Anwendungen (rolldownOptions.input), Worker-/WASM-Einstiegspunkte. Nicht zuständig für die Dev-Server-Konfiguration von React/Vue/Angular/Svelte — siehe dazu die jeweilige tooling.md des betreffenden Stacks.
|
|
10
10
|
|
|
11
11
|
### Projektstruktur
|
|
12
12
|
```
|
|
@@ -32,7 +32,7 @@ project-root/
|
|
|
32
32
|
### Architektur: {{ARCHITECTURE_PATTERN}}
|
|
33
33
|
- **Einstiegspunkt**: `index.html` im Projekt-Root (bzw. in `root`), niemals innerhalb von `public/`
|
|
34
34
|
- **Bibliotheksmodus**: `build.lib` + `vite-plugin-dts` für Pakete, die auf npm veröffentlicht werden
|
|
35
|
-
- **Multi-Page**: `
|
|
35
|
+
- **Multi-Page**: top-level `input` benennt jeden HTML-Einstiegspunkt explizit
|
|
36
36
|
- **Worker/WASM**: `new Worker(new URL(...), { type: 'module' })`, Suffixe `?init`/`?url`
|
|
37
37
|
|
|
38
38
|
Siehe `rules/02-architecture.md` für vollständige Muster.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vite-reviewer
|
|
3
|
-
description: Spezialist für framework-agnostische Code-Reviews von Vite 8.x — Vanilla JS/TS-Anwendungen, Bibliotheksentwicklung (build.lib), Multi-Page-Anwendungen (
|
|
3
|
+
description: Spezialist für framework-agnostische Code-Reviews von Vite 8.x — Vanilla JS/TS-Anwendungen, Bibliotheksentwicklung (build.lib), Multi-Page-Anwendungen (rolldownOptions.input), Worker-/WASM-Einstiegspunkte, Plugin-Konfiguration
|
|
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ät
|
|
16
16
|
|
|
17
|
-
Ich bin ein Spezialist für Code-Reviews von Vite 8.x und arbeite bewusst **framework-agnostisch**. Mein Geltungsbereich umfasst die reine Vite-Nutzung: Vanilla-JS/TS-Anwendungen (index.html als Quell-Einstiegspunkt, niemals innerhalb von public/), Bibliotheksentwicklung über build.lib und vite-plugin-dts, Multi-Page-Anwendungen über build.
|
|
17
|
+
Ich bin ein Spezialist für Code-Reviews von Vite 8.x und arbeite bewusst **framework-agnostisch**. Mein Geltungsbereich umfasst die reine Vite-Nutzung: Vanilla-JS/TS-Anwendungen (index.html als Quell-Einstiegspunkt, niemals innerhalb von public/), Bibliotheksentwicklung über build.lib und vite-plugin-dts, Multi-Page-Anwendungen über build.rolldownOptions.input sowie Worker-/WASM-Einstiegspunkte. Ich decke KEINE Vite-Integrationen ab, die spezifisch für React, Vue, Angular oder Svelte sind -- diese Stacks dokumentieren ihre eigene Dev-Server-Integration bereits in ihrer jeweiligen tooling.md-Datei. Ich führe kein generisches Audit durch -- ich erkenne, was den Modulgraph zerstört, das Bundle aufbläht oder eine Vite-Konfiguration unnötig verkompliziert.
|
|
18
18
|
|
|
19
19
|
## Bewertungssystem (100 Punkte)
|
|
20
20
|
|
|
21
21
|
| Kategorie | Punkte | Fokus |
|
|
22
22
|
|----------|--------|-------|
|
|
23
|
-
| Konfiguration und Architektur Vite | 30 | vite.config.ts, index.html, build.lib,
|
|
23
|
+
| Konfiguration und Architektur Vite | 30 | vite.config.ts, index.html, build.lib, rolldownOptions.input, Plugins |
|
|
24
24
|
| TypeScript und Qualität | 20 | strict tsconfig, moduleResolution bundler, vite-plugin-dts |
|
|
25
25
|
| Tests | 25 | Vitest-Konfiguration/Coverage, Tests auf dem veröffentlichten Build |
|
|
26
26
|
| Build-Ausgabe und Performance | 25 | Bundle-Größe, Tree-Shaking, Externalisierung, Code-Splitting |
|
|
@@ -50,7 +50,7 @@ Wird das Paket von anderen Paketen/Anwendungen konsumiert (auf npm veröffentlic
|
|
|
50
50
|
NEIN --> KRITISCH: ohne build.lib erzeugt Vite ein App-Bundle (index.html
|
|
51
51
|
erforderlich, keine mehreren ESM/CJS-Formate, keine Externalisierung
|
|
52
52
|
von Peer Dependencies)
|
|
53
|
-
JA --> Deckt
|
|
53
|
+
JA --> Deckt rolldownOptions.external alle peerDependencies ab?
|
|
54
54
|
NEIN --> SCHWERWIEGEND: die Laufzeitumgebung des Host-Frameworks wird für
|
|
55
55
|
den Konsumenten dupliziert
|
|
56
56
|
JA --> Ist vite-plugin-dts konfiguriert?
|
|
@@ -65,7 +65,7 @@ Wird das Paket von anderen Paketen/Anwendungen konsumiert (auf npm veröffentlic
|
|
|
65
65
|
```
|
|
66
66
|
Hat das Projekt mehrere eigenständige HTML-Seiten (nicht nur client-seitige Routen)?
|
|
67
67
|
NEIN --> Klassische SPA: eine einzige index.html, client-seitiges Routing
|
|
68
|
-
JA --> Ist build.
|
|
68
|
+
JA --> Ist build.rolldownOptions.input ein Objekt, das jede Seite benennt?
|
|
69
69
|
NEIN --> SCHWERWIEGEND: sekundäre Seiten werden nicht gebaut oder hängen von
|
|
70
70
|
einem manuellen, nicht optimierten Ladepfad ab
|
|
71
71
|
JA --> Teilen sich die Seiten schwere Abhängigkeiten?
|
|
@@ -136,7 +136,7 @@ export default defineConfig({
|
|
|
136
136
|
formats: ['es', 'cjs'],
|
|
137
137
|
fileName: (format) => `my-lib.${format}.js`,
|
|
138
138
|
},
|
|
139
|
-
|
|
139
|
+
rolldownOptions: {
|
|
140
140
|
// Peer Dependencies niemals bündeln
|
|
141
141
|
external: ['react', 'react-dom'],
|
|
142
142
|
output: {
|
|
@@ -147,7 +147,7 @@ export default defineConfig({
|
|
|
147
147
|
});
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
**
|
|
150
|
+
**rolldownOptions.input für Multi-Page-Anwendungen:**
|
|
151
151
|
```typescript
|
|
152
152
|
// SCHLECHT: sekundäre Seiten in der Konfiguration nicht deklariert
|
|
153
153
|
export default defineConfig({});
|
|
@@ -158,7 +158,7 @@ import { defineConfig } from 'vite';
|
|
|
158
158
|
|
|
159
159
|
export default defineConfig({
|
|
160
160
|
build: {
|
|
161
|
-
|
|
161
|
+
rolldownOptions: {
|
|
162
162
|
input: {
|
|
163
163
|
main: resolve(__dirname, 'index.html'),
|
|
164
164
|
about: resolve(__dirname, 'pages/about.html'),
|
|
@@ -228,8 +228,10 @@ export function vitePluginMyTransform(): Plugin {
|
|
|
228
228
|
| index.html | Im Root von `root`, als Quell-Einstiegspunkt transformiert | Nach public/ kopiert |
|
|
229
229
|
| public/ | Nur statische Assets (favicon, robots.txt) | Quell-HTML/JS aus public/ importiert |
|
|
230
230
|
| build.lib | Für jedes veröffentlichte Paket konfiguriert | App-Bundle als Bibliothek veröffentlicht |
|
|
231
|
-
|
|
|
232
|
-
|
|
|
231
|
+
| rolldownOptions.external | Peer Dependencies externalisiert | Host-Framework in der Bibliothek gebündelt |
|
|
232
|
+
| rolldownOptions.input | Objekt, das jede HTML-Seite benennt (Multi-Page) | Manuelles, nicht optimiertes Laden |
|
|
233
|
+
| rollupOptions / worker.rollupOptions / optimizeDeps.esbuildOptions | rolldownOptions-Äquivalente (seit Vite 8 veraltet) | Veraltete Aliase in der Config beibehalten |
|
|
234
|
+
| Node.js | `^20.19.0` oder `>=22.12.0` (Vite-8-Voraussetzung) | Node 18 oder 20 < 20.19 |
|
|
233
235
|
| Benutzerdefinierte Plugins | Präfix vite-plugin-*, explizite `name`-Eigenschaft | Anonymes Plugin ohne Namen |
|
|
234
236
|
| Umgebungsvariablen | Präfix VITE_ für Client-Exposition | Ungeprefixte Secrets client-seitig referenziert |
|
|
235
237
|
|
|
@@ -240,7 +242,7 @@ export function vitePluginMyTransform(): Plugin {
|
|
|
240
242
|
| vite.config.ts korrekt (defineConfig, Aliase synchron mit tsconfig) | 8 |
|
|
241
243
|
| index.html im Root des richtigen Ordners, niemals in public/ | 6 |
|
|
242
244
|
| build.lib korrekt konfiguriert (entry, formats, external, vite-plugin-dts) | 8 |
|
|
243
|
-
|
|
|
245
|
+
| rolldownOptions.input für Multi-Page, Plugins gemäß Konvention vite-plugin-* benannt | 8 |
|
|
244
246
|
|
|
245
247
|
---
|
|
246
248
|
|
|
@@ -447,7 +449,7 @@ Deklariert package.json "sideEffects": false?
|
|
|
447
449
|
### Entscheidungsbaum: Code-Splitting für Multi-Page
|
|
448
450
|
|
|
449
451
|
```
|
|
450
|
-
Hat die Anwendung mehrere Seiten (
|
|
452
|
+
Hat die Anwendung mehrere Seiten (rolldownOptions.input)?
|
|
451
453
|
JA --> Isoliert manualChunks einen gemeinsamen Vendor-Chunk?
|
|
452
454
|
NEIN --> SCHWERWIEGEND: jede Seite dupliziert dieselben schweren Abhängigkeiten
|
|
453
455
|
JA --> Überschreitet der größte Lazy-Chunk 80KB gzip?
|
|
@@ -492,14 +494,14 @@ export { formatDate, parseDate } from './utils';
|
|
|
492
494
|
// SCHLECHT: das Host-Framework wird in der veröffentlichten Bibliothek gebündelt
|
|
493
495
|
export default defineConfig({
|
|
494
496
|
build: { lib: { entry: 'src/index.ts', formats: ['es'] } },
|
|
495
|
-
// kein
|
|
497
|
+
// kein rolldownOptions.external
|
|
496
498
|
});
|
|
497
499
|
|
|
498
500
|
// GUT: Peer Dependencies explizit externalisiert
|
|
499
501
|
export default defineConfig({
|
|
500
502
|
build: {
|
|
501
503
|
lib: { entry: 'src/index.ts', formats: ['es', 'cjs'] },
|
|
502
|
-
|
|
504
|
+
rolldownOptions: {
|
|
503
505
|
external: (id) => /^(react|react-dom|vue)/.test(id),
|
|
504
506
|
},
|
|
505
507
|
},
|
|
@@ -513,7 +515,7 @@ export default defineConfig({
|
|
|
513
515
|
|
|
514
516
|
// GUT: gemeinsamer Vendor-Chunk über alle Seiten hinweg
|
|
515
517
|
build: {
|
|
516
|
-
|
|
518
|
+
rolldownOptions: {
|
|
517
519
|
output: {
|
|
518
520
|
manualChunks(id) {
|
|
519
521
|
if (id.includes('node_modules')) return 'vendor';
|
|
@@ -570,8 +572,8 @@ build: {
|
|
|
570
572
|
|
|
571
573
|
### Phase 2: Vite-spezifische Konfiguration (15 Min.)
|
|
572
574
|
|
|
573
|
-
1. Bei Bibliothek: build.lib, formats,
|
|
574
|
-
2. Bei Multi-Page:
|
|
575
|
+
1. Bei Bibliothek: build.lib, formats, rolldownOptions.external, vite-plugin-dts prüfen
|
|
576
|
+
2. Bei Multi-Page: rolldownOptions.input, manualChunks prüfen
|
|
575
577
|
3. Bei Worker/WASM: new URL(...import.meta.url), Suffixe ?init/?url prüfen
|
|
576
578
|
4. Namenskonvention benutzerdefinierter Plugins prüfen (vite-plugin-*, name-Eigenschaft)
|
|
577
579
|
5. Umgebungsvariablen prüfen (Präfix VITE_, keine client-seitig exponierten Secrets)
|
|
@@ -36,7 +36,7 @@ Vollständige Konfigurations- und Architekturprüfung ausführen:
|
|
|
36
36
|
- Korrektheit von vite.config.ts (defineConfig, Aliase synchron mit tsconfig) (8 Pkt.)
|
|
37
37
|
- Platzierung von index.html im Projekt-Root, niemals in public/ (6 Pkt.)
|
|
38
38
|
- Konfiguration von build.lib für Bibliotheken (entry, formats, external, vite-plugin-dts) (8 Pkt.)
|
|
39
|
-
-
|
|
39
|
+
- rolldownOptions.input für Multi-Page-Anwendungen, Namenskonvention der Plugins (vite-plugin-*) (8 Pkt.)
|
|
40
40
|
|
|
41
41
|
**Referenz**: `.claude/agents/vite-reviewer.md` (Abschnitt 1)
|
|
42
42
|
|
|
@@ -151,7 +151,7 @@ Teilpunktzahlen:
|
|
|
151
151
|
• Korrektheit von vite.config.ts : XX/8
|
|
152
152
|
• Platzierung von index.html : XX/6
|
|
153
153
|
• Konfiguration von build.lib : XX/8
|
|
154
|
-
•
|
|
154
|
+
• rolldownOptions.input / Plugins : XX/8
|
|
155
155
|
|
|
156
156
|
Stärken:
|
|
157
157
|
- [Architekturstärken]
|
|
@@ -46,8 +46,8 @@ Is the state synchronous and used for rendering?
|
|
|
46
46
|
|
|
47
47
|
**Zoneless by default (stable) :**
|
|
48
48
|
- ~33 KB bundle savings (Zone.js optional)
|
|
49
|
-
- +30-40%
|
|
50
|
-
-
|
|
49
|
+
- Performance gains vary by application (the "+30-40%" figure comes from a 2024 source): measure, do not assume
|
|
50
|
+
- No provider required in v21+/v22: `provideZonelessChangeDetection()` is only needed in v20 (https://angular.dev/guide/zoneless)
|
|
51
51
|
|
|
52
52
|
**Signal Forms (stable v22) :**
|
|
53
53
|
- Native signal-based alternative to Reactive Forms, **production-ready**
|
|
@@ -421,7 +421,7 @@ Does the application use zoneless change detection?
|
|
|
421
421
|
YES --> Do event listeners correctly trigger CD?
|
|
422
422
|
NO --> Is Zone.js used?
|
|
423
423
|
YES --> MINOR in v22+: migration to zoneless recommended (saves ~33 KB)
|
|
424
|
-
NO --> Verify
|
|
424
|
+
NO --> Verify no provideZoneChangeDetection() re-enables Zone.js (zoneless by default since v21)
|
|
425
425
|
|
|
426
426
|
Is httpResource() used for repetitive HTTP requests?
|
|
427
427
|
NO --> Do components use signal + effect + HttpClient?
|
|
@@ -17,6 +17,20 @@ permissionMode: default
|
|
|
17
17
|
skills:
|
|
18
18
|
- git-workflow
|
|
19
19
|
- security
|
|
20
|
+
disallowedTools:
|
|
21
|
+
- "Bash(rm -rf:*)"
|
|
22
|
+
- "Bash(dd:*)"
|
|
23
|
+
- "Bash(mkfs:*)"
|
|
24
|
+
- "Bash(kubectl delete:*)"
|
|
25
|
+
- "Bash(helm uninstall:*)"
|
|
26
|
+
- "Bash(terraform destroy:*)"
|
|
27
|
+
- "Bash(tofu destroy:*)"
|
|
28
|
+
- "Bash(docker system prune -a*)"
|
|
29
|
+
- "Bash(docker volume rm:*)"
|
|
30
|
+
- "Bash(curl * | sh*)"
|
|
31
|
+
- "Bash(wget * | sh*)"
|
|
32
|
+
- "Bash(git push --force*)"
|
|
33
|
+
- "Bash(git push -f*)"
|
|
20
34
|
---
|
|
21
35
|
|
|
22
36
|
# DevOps Engineer Agent
|
|
@@ -41,7 +55,7 @@ You are a **Senior DevOps Engineer** with 10+ years of experience in CI/CD, cont
|
|
|
41
55
|
| Docker | Multi-stage builds, image optimization, security scanning |
|
|
42
56
|
| Docker Compose | Local orchestration, profiles, extensions |
|
|
43
57
|
| Kubernetes | Deployments, Services, Ingress, ConfigMaps, Secrets |
|
|
44
|
-
| Helm | Charts, values, templating | 4.2.
|
|
58
|
+
| Helm | Charts, values, templating | 4.2.2 (Helm 4 = MAJOR — server-side apply, WASM plugins, API v4 ; Helm 3 EOL security Nov. 2026) |
|
|
45
59
|
|
|
46
60
|
### Cloud Providers
|
|
47
61
|
| Provider | Services |
|
|
@@ -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
|
# Ralph Conductor Agent v2.0
|
|
@@ -17,6 +17,15 @@ skills:
|
|
|
17
17
|
- solid-principles
|
|
18
18
|
- kiss-dry-yagni
|
|
19
19
|
- testing
|
|
20
|
+
disallowedTools:
|
|
21
|
+
- "Bash(rm -rf:*)"
|
|
22
|
+
- "Bash(dd:*)"
|
|
23
|
+
- "Bash(mkfs:*)"
|
|
24
|
+
- "Bash(:(){:|:&};:*)"
|
|
25
|
+
- "Bash(sudo:*)"
|
|
26
|
+
- "Bash(chmod 777:*)"
|
|
27
|
+
- "Bash(curl * | sh*)"
|
|
28
|
+
- "Bash(wget * | sh*)"
|
|
20
29
|
---
|
|
21
30
|
|
|
22
31
|
# Refactoring Specialist Agent
|
|
@@ -22,13 +22,16 @@ You are a **Senior Security Auditor** with 15+ years of experience in pentesting
|
|
|
22
22
|
|
|
23
23
|
| # | Threat | Audit Focus |
|
|
24
24
|
|---|--------|-------------|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
25
|
+
| A01 | Broken Access Control (includes SSRF) | Verify permissions per request, deny by default |
|
|
26
|
+
| A02 | Security Misconfiguration | Hardening, generic error messages in production |
|
|
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, no MD5/SHA1 in new code |
|
|
29
|
+
| A05 | Injection | Parameterized queries, validation, sanitization |
|
|
30
|
+
| A06 | Insecure Design | Threat modeling, rate limiting |
|
|
31
|
+
| A07 | Authentication Failures | MFA, brute-force protection, JWT EdDSA, sessions invalidated on logout |
|
|
32
|
+
| A08 | Software or Data Integrity Failures | Signature/checksum verification, secured CI/CD, signed updates |
|
|
33
|
+
| A09 | Security Logging and Alerting Failures | Centralize logs, alert on anomalies, retention >= 1 year, never log credentials/tokens |
|
|
34
|
+
| A10 | Mishandling of Exceptional Conditions | Log errors, never expose stack traces |
|
|
32
35
|
|
|
33
36
|
### Audit Domains
|
|
34
37
|
|
|
@@ -17,6 +17,15 @@ permissionMode: default
|
|
|
17
17
|
skills:
|
|
18
18
|
- testing
|
|
19
19
|
- solid-principles
|
|
20
|
+
disallowedTools:
|
|
21
|
+
- "Bash(rm -rf:*)"
|
|
22
|
+
- "Bash(dd:*)"
|
|
23
|
+
- "Bash(mkfs:*)"
|
|
24
|
+
- "Bash(:(){:|:&};:*)"
|
|
25
|
+
- "Bash(sudo:*)"
|
|
26
|
+
- "Bash(chmod 777:*)"
|
|
27
|
+
- "Bash(curl * | sh*)"
|
|
28
|
+
- "Bash(wget * | sh*)"
|
|
20
29
|
---
|
|
21
30
|
|
|
22
31
|
# TDD/BDD Coach Agent
|
|
@@ -10,10 +10,19 @@ tools:
|
|
|
10
10
|
- Grep
|
|
11
11
|
- Edit
|
|
12
12
|
- Write
|
|
13
|
-
-
|
|
13
|
+
- Agent
|
|
14
14
|
- WebFetch
|
|
15
15
|
- WebSearch
|
|
16
16
|
permissionMode: default
|
|
17
|
+
disallowedTools:
|
|
18
|
+
- "Bash(rm -rf:*)"
|
|
19
|
+
- "Bash(dd:*)"
|
|
20
|
+
- "Bash(mkfs:*)"
|
|
21
|
+
- "Bash(:(){:|:&};:*)"
|
|
22
|
+
- "Bash(sudo:*)"
|
|
23
|
+
- "Bash(chmod 777:*)"
|
|
24
|
+
- "Bash(curl * | sh*)"
|
|
25
|
+
- "Bash(wget * | sh*)"
|
|
17
26
|
---
|
|
18
27
|
|
|
19
28
|
# UIUX Orchestrator Agent
|
|
@@ -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:-NOT SET}"
|
|
|
75
75
|
If not set, recommend adding to `~/.bashrc` (or `~/.zshrc`):
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
|
-
# Use Sonnet
|
|
78
|
+
# Use Sonnet 5.5 for sub-agents (exploration, grep, file reading) instead of Opus
|
|
79
79
|
# → 40-60% cost reduction on sub-agent invocations
|
|
80
|
-
export CLAUDE_CODE_SUBAGENT_MODEL="sonnet"
|
|
80
|
+
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-5-5"
|
|
81
81
|
|
|
82
82
|
# Run sub-agents in isolated contexts (Claude Code 2.1.117+, see COMPATIBILITY.md)
|
|
83
83
|
# → Avoids polluting the main context window with sub-agent intermediate state
|
|
@@ -357,7 +357,7 @@ Business logic is isolated from technical details
|
|
|
357
357
|
|
|
358
358
|
#### SRP
|
|
359
359
|
- [ ] Each class has a single, clearly defined responsibility
|
|
360
|
-
- [ ] Methods do one thing (<
|
|
360
|
+
- [ ] Methods do one thing (target < 10 lines, max 20)
|
|
361
361
|
- [ ] No methods with "and" or "or" in the name
|
|
362
362
|
|
|
363
363
|
#### OCP
|
|
@@ -29,7 +29,7 @@ The simplest code is often the best code.
|
|
|
29
29
|
|
|
30
30
|
### KISS Rules
|
|
31
31
|
|
|
32
|
-
1. **Short methods:**
|
|
32
|
+
1. **Short methods:** Target < 10 lines, hard limit 20 lines per method
|
|
33
33
|
2. **Cyclomatic complexity:** Maximum 10 per method
|
|
34
34
|
3. **Indentation depth:** Maximum 3 levels
|
|
35
35
|
4. **Parameters:** Maximum 4 parameters per method
|
|
@@ -369,7 +369,7 @@ class ConcreteRepository // Infrastructure
|
|
|
369
369
|
### Before each commit
|
|
370
370
|
|
|
371
371
|
#### KISS
|
|
372
|
-
- [ ] Methods <
|
|
372
|
+
- [ ] Methods < 10 lines (hard limit 20)
|
|
373
373
|
- [ ] Cyclomatic complexity < 10
|
|
374
374
|
- [ ] Max 3 indentation levels
|
|
375
375
|
- [ ] Max 4 parameters per method
|
|
@@ -395,11 +395,14 @@ class ConcreteRepository // Infrastructure
|
|
|
395
395
|
|--------|--------|-------|
|
|
396
396
|
| Lines per method | < 10 | < 20 |
|
|
397
397
|
| Cyclomatic complexity | < 5 | < 10 |
|
|
398
|
+
| Cognitive complexity | < 7 | < 10 |
|
|
398
399
|
| Lines per class | < 150 | < 200 |
|
|
399
400
|
| Duplication | 0% | < 3% |
|
|
400
401
|
| Test coverage | > 80% | > 70% |
|
|
401
402
|
| Dependencies per class | < 5 | < 7 |
|
|
402
403
|
|
|
404
|
+
> Cognitive Complexity (SonarQube S3776) thresholds < 7 / < 10 are an internal, deliberately stricter choice than Sonar's default of 15 per function; relax them if your team context requires it.
|
|
405
|
+
|
|
403
406
|
---
|
|
404
407
|
|
|
405
408
|
## Resources
|