@bonesofspring/ai-rules 0.2.11 → 0.2.12
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/CHANGELOG.md +30 -0
- package/README.md +5 -1
- package/bin/cli.js +4 -0
- package/package.json +1 -1
- package/presets/_shared/README.md +1 -1
- package/presets/_shared/core/agent-team/agent-task-metrics.md +30 -0
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +9 -1
- package/presets/_shared/core/meta/preset-layering.md +1 -1
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +5 -5
- package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
- package/presets/_shared/core/meta/preset-twin-sync.md +4 -0
- package/presets/_shared/core/review/technical-retro.md +2 -0
- package/presets/claude/go/agents/build-verifier.md +2 -2
- package/presets/claude/go/agents/task-router.md +4 -0
- package/presets/claude/go/commands/task-continue.md +17 -16
- package/presets/claude/go/commands/task.md +4 -0
- package/presets/claude/go/commands/technical-retro.md +4 -0
- package/presets/claude/go/hooks/chain-team-phases.sh +226 -26
- package/presets/claude/go/rules/README.md +6 -0
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +4 -0
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -5
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +4 -0
- package/presets/claude/go/rules/tooling-and-review/technical-retro.md +2 -0
- package/presets/claude/go/team/README.md +8 -0
- package/presets/claude/ios-swift/agents/build-verifier.md +3 -3
- package/presets/claude/ios-swift/agents/task-router.md +4 -0
- package/presets/claude/ios-swift/commands/task-continue.md +17 -16
- package/presets/claude/ios-swift/commands/task.md +4 -0
- package/presets/claude/ios-swift/commands/technical-retro.md +4 -0
- package/presets/claude/ios-swift/hooks/chain-team-phases.sh +226 -26
- package/presets/claude/ios-swift/rules/README.md +6 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +4 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -5
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +4 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +2 -0
- package/presets/claude/ios-swift/team/README.md +8 -0
- package/presets/claude/java/agents/build-verifier.md +3 -3
- package/presets/claude/java/agents/task-router.md +4 -0
- package/presets/claude/java/commands/task-continue.md +17 -16
- package/presets/claude/java/commands/task.md +4 -0
- package/presets/claude/java/commands/technical-retro.md +4 -0
- package/presets/claude/java/hooks/chain-team-phases.sh +226 -26
- package/presets/claude/java/rules/README.md +6 -0
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +4 -0
- package/presets/claude/java/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -5
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +4 -0
- package/presets/claude/java/rules/tooling-and-review/technical-retro.md +2 -0
- package/presets/claude/java/team/README.md +8 -0
- package/presets/claude/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/claude/mcp-ts/agents/task-router.md +4 -0
- package/presets/claude/mcp-ts/commands/task-continue.md +21 -20
- package/presets/claude/mcp-ts/commands/task.md +4 -0
- package/presets/claude/mcp-ts/commands/technical-retro.md +4 -0
- package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +226 -26
- package/presets/claude/mcp-ts/rules/README.md +6 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +4 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -5
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +4 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +2 -4
- package/presets/claude/mcp-ts/team/README.md +8 -0
- package/presets/claude/next/agents/build-verifier.md +3 -3
- package/presets/claude/next/agents/task-router.md +4 -0
- package/presets/claude/next/commands/task-continue.md +17 -16
- package/presets/claude/next/commands/task.md +4 -0
- package/presets/claude/next/commands/technical-retro.md +4 -0
- package/presets/claude/next/hooks/chain-team-phases.sh +226 -26
- package/presets/claude/next/rules/README.md +6 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +4 -0
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -5
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +4 -0
- package/presets/claude/next/rules/tooling-and-review/technical-retro.md +2 -0
- package/presets/claude/next/team/README.md +19 -0
- package/presets/claude/php-hexagonal/CLAUDE.md +31 -0
- package/presets/claude/php-hexagonal/MCP.md +15 -0
- package/presets/claude/php-hexagonal/README.md +26 -0
- package/presets/claude/php-hexagonal/REPO_AGENTS.md +46 -0
- package/presets/claude/php-hexagonal/agents/README.md +32 -0
- package/presets/claude/php-hexagonal/agents/api-contract-reviewer.md +23 -0
- package/presets/claude/php-hexagonal/agents/build-verifier.md +45 -0
- package/presets/claude/php-hexagonal/agents/ci-investigator.md +21 -0
- package/presets/claude/php-hexagonal/agents/code-reviewer.md +40 -0
- package/presets/claude/php-hexagonal/agents/codebase-analyzer.md +28 -0
- package/presets/claude/php-hexagonal/agents/debugger.md +29 -0
- package/presets/claude/php-hexagonal/agents/feature-developer.md +47 -0
- package/presets/claude/php-hexagonal/agents/integration-test-generator.md +22 -0
- package/presets/claude/php-hexagonal/agents/integration-test-healer.md +22 -0
- package/presets/claude/php-hexagonal/agents/integration-test-planner.md +22 -0
- package/presets/claude/php-hexagonal/agents/migration-specialist.md +31 -0
- package/presets/claude/php-hexagonal/agents/performance-auditor.md +22 -0
- package/presets/claude/php-hexagonal/agents/qa-tester.md +24 -0
- package/presets/claude/php-hexagonal/agents/security-reviewer.md +20 -0
- package/presets/claude/php-hexagonal/agents/solution-architect.md +28 -0
- package/presets/claude/php-hexagonal/agents/task-analyst.md +25 -0
- package/presets/claude/php-hexagonal/agents/task-router.md +73 -0
- package/presets/claude/php-hexagonal/agents/tech-writer.md +15 -0
- package/presets/claude/php-hexagonal/agents/unit-test-generator.md +21 -0
- package/presets/claude/php-hexagonal/agents/unit-test-healer.md +13 -0
- package/presets/claude/php-hexagonal/agents/unit-test-planner.md +26 -0
- package/presets/claude/php-hexagonal/commands/README.md +13 -0
- package/presets/claude/php-hexagonal/commands/feature-continue.md +51 -0
- package/presets/claude/php-hexagonal/commands/feature-start.md +30 -0
- package/presets/claude/php-hexagonal/commands/task-continue.md +50 -0
- package/presets/claude/php-hexagonal/commands/task.md +53 -0
- package/presets/claude/php-hexagonal/commands/technical-retro.md +62 -0
- package/presets/claude/php-hexagonal/hooks/README.md +16 -0
- package/presets/claude/php-hexagonal/hooks/chain-team-phases.sh +582 -0
- package/presets/claude/php-hexagonal/hooks/examples/README.md +18 -0
- package/presets/claude/php-hexagonal/hooks/examples/format-edited.example.sh +11 -0
- package/presets/claude/php-hexagonal/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/claude/php-hexagonal/hooks/examples/test-on-save.example.sh +19 -0
- package/presets/claude/php-hexagonal/hooks/guard-shell-command.sh +80 -0
- package/presets/claude/php-hexagonal/mcp.json +11 -0
- package/presets/claude/php-hexagonal/rules/README.md +67 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/README.md +14 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/adapters-driven.md +38 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/adapters-driving.md +38 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/api-grpc.md +29 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/api-http.md +36 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/messaging-adapters.md +37 -0
- package/presets/claude/php-hexagonal/rules/api-and-data/persistence-adapters.md +33 -0
- package/presets/claude/php-hexagonal/rules/architecture/README.md +16 -0
- package/presets/claude/php-hexagonal/rules/architecture/application-usecases.md +31 -0
- package/presets/claude/php-hexagonal/rules/architecture/boundaries.md +34 -0
- package/presets/claude/php-hexagonal/rules/architecture/composition-root.md +33 -0
- package/presets/claude/php-hexagonal/rules/architecture/domain-layer.md +37 -0
- package/presets/claude/php-hexagonal/rules/architecture/feature-delivery.md +53 -0
- package/presets/claude/php-hexagonal/rules/architecture/module-public-api.md +31 -0
- package/presets/claude/php-hexagonal/rules/architecture/ports-interfaces.md +34 -0
- package/presets/claude/php-hexagonal/rules/architecture/reference-features.md +39 -0
- package/presets/claude/php-hexagonal/rules/stack/README.md +10 -0
- package/presets/claude/php-hexagonal/rules/stack/php-app-core.md +35 -0
- package/presets/claude/php-hexagonal/rules/stack/php-conventions.md +51 -0
- package/presets/claude/php-hexagonal/rules/testing/README.md +11 -0
- package/presets/claude/php-hexagonal/rules/testing/e2e.md +35 -0
- package/presets/claude/php-hexagonal/rules/testing/integration.md +31 -0
- package/presets/claude/php-hexagonal/rules/testing/unit.md +32 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/README.md +21 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-intake.md +26 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +183 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +53 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-review.md +60 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/design-guidance.md +111 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/php-tooling.md +39 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/post-change-test.md +31 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +69 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +50 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/security-php.md +29 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/technical-retro.md +22 -0
- package/presets/claude/php-hexagonal/rules/ui-and-accessibility/README.md +5 -0
- package/presets/claude/php-hexagonal/skills/README.md +5 -0
- package/presets/claude/php-hexagonal/skills/ci-investigation/SKILL.md +11 -0
- package/presets/claude/php-hexagonal/skills/code-review/SKILL.md +25 -0
- package/presets/claude/php-hexagonal/skills/debug-investigation/SKILL.md +15 -0
- package/presets/claude/php-hexagonal/skills/feature-delivery/SKILL.md +30 -0
- package/presets/claude/php-hexagonal/skills/integration-testing/SKILL.md +15 -0
- package/presets/claude/php-hexagonal/skills/technical-retro/SKILL.md +54 -0
- package/presets/claude/php-hexagonal/skills/unit-testing/SKILL.md +14 -0
- package/presets/claude/php-hexagonal/skills/write-adr/SKILL.md +41 -0
- package/presets/claude/php-hexagonal/team/README.md +37 -0
- package/presets/claude/php-hexagonal/team/conventions.md +21 -0
- package/presets/claude/php-hexagonal/team/fixtures/bugfix-standard.json +37 -0
- package/presets/claude/php-hexagonal/team/fixtures/feature-full.json +25 -0
- package/presets/claude/php-hexagonal/team/fixtures/feature-light.json +17 -0
- package/presets/claude/php-laravel/CLAUDE.md +20 -0
- package/presets/claude/php-laravel/MCP.md +5 -0
- package/presets/claude/php-laravel/README.md +30 -0
- package/presets/claude/php-laravel/REPO_AGENTS.md +47 -0
- package/presets/claude/php-laravel/agents/README.md +32 -0
- package/presets/claude/php-laravel/agents/api-contract-reviewer.md +23 -0
- package/presets/claude/php-laravel/agents/build-verifier.md +45 -0
- package/presets/claude/php-laravel/agents/ci-investigator.md +21 -0
- package/presets/claude/php-laravel/agents/code-reviewer.md +40 -0
- package/presets/claude/php-laravel/agents/codebase-analyzer.md +28 -0
- package/presets/claude/php-laravel/agents/debugger.md +29 -0
- package/presets/claude/php-laravel/agents/feature-developer.md +47 -0
- package/presets/claude/php-laravel/agents/integration-test-generator.md +22 -0
- package/presets/claude/php-laravel/agents/integration-test-healer.md +22 -0
- package/presets/claude/php-laravel/agents/integration-test-planner.md +22 -0
- package/presets/claude/php-laravel/agents/migration-specialist.md +31 -0
- package/presets/claude/php-laravel/agents/performance-auditor.md +22 -0
- package/presets/claude/php-laravel/agents/qa-tester.md +30 -0
- package/presets/claude/php-laravel/agents/security-reviewer.md +32 -0
- package/presets/claude/php-laravel/agents/solution-architect.md +29 -0
- package/presets/claude/php-laravel/agents/task-analyst.md +25 -0
- package/presets/claude/php-laravel/agents/task-router.md +92 -0
- package/presets/claude/php-laravel/agents/tech-writer.md +15 -0
- package/presets/claude/php-laravel/agents/unit-test-generator.md +21 -0
- package/presets/claude/php-laravel/agents/unit-test-healer.md +13 -0
- package/presets/claude/php-laravel/agents/unit-test-planner.md +26 -0
- package/presets/claude/php-laravel/commands/README.md +13 -0
- package/presets/claude/php-laravel/commands/feature-continue.md +51 -0
- package/presets/claude/php-laravel/commands/feature-start.md +30 -0
- package/presets/claude/php-laravel/commands/task-continue.md +50 -0
- package/presets/claude/php-laravel/commands/task.md +53 -0
- package/presets/claude/php-laravel/commands/technical-retro.md +62 -0
- package/presets/claude/php-laravel/hooks/README.md +16 -0
- package/presets/claude/php-laravel/hooks/chain-team-phases.sh +582 -0
- package/presets/claude/php-laravel/hooks/examples/README.md +18 -0
- package/presets/claude/php-laravel/hooks/examples/format-edited.example.sh +11 -0
- package/presets/claude/php-laravel/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/claude/php-laravel/hooks/examples/test-on-save.example.sh +19 -0
- package/presets/claude/php-laravel/hooks/guard-shell-command.sh +80 -0
- package/presets/claude/php-laravel/mcp.json +11 -0
- package/presets/claude/php-laravel/rules/README.md +67 -0
- package/presets/claude/php-laravel/rules/api-and-data/README.md +3 -0
- package/presets/claude/php-laravel/rules/api-and-data/eloquent-persistence.md +31 -0
- package/presets/claude/php-laravel/rules/api-and-data/events-listeners.md +31 -0
- package/presets/claude/php-laravel/rules/api-and-data/form-requests.md +29 -0
- package/presets/claude/php-laravel/rules/api-and-data/http-layer.md +32 -0
- package/presets/claude/php-laravel/rules/api-and-data/jobs-queues.md +41 -0
- package/presets/claude/php-laravel/rules/api-and-data/policies-authorization.md +29 -0
- package/presets/claude/php-laravel/rules/api-and-data/routes-api.md +29 -0
- package/presets/claude/php-laravel/rules/architecture/README.md +3 -0
- package/presets/claude/php-laravel/rules/architecture/actions-services.md +30 -0
- package/presets/claude/php-laravel/rules/architecture/boundaries.md +34 -0
- package/presets/claude/php-laravel/rules/architecture/domain-layer.md +24 -0
- package/presets/claude/php-laravel/rules/architecture/feature-delivery.md +51 -0
- package/presets/claude/php-laravel/rules/architecture/module-public-api.md +29 -0
- package/presets/claude/php-laravel/rules/architecture/reference-features.md +40 -0
- package/presets/claude/php-laravel/rules/architecture/service-providers.md +28 -0
- package/presets/claude/php-laravel/rules/stack/README.md +3 -0
- package/presets/claude/php-laravel/rules/stack/laravel-app-core.md +32 -0
- package/presets/claude/php-laravel/rules/stack/laravel-conventions.md +38 -0
- package/presets/claude/php-laravel/rules/testing/README.md +3 -0
- package/presets/claude/php-laravel/rules/testing/e2e.md +34 -0
- package/presets/claude/php-laravel/rules/testing/integration.md +30 -0
- package/presets/claude/php-laravel/rules/testing/unit.md +30 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/README.md +3 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-intake.md +21 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +180 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +52 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/code-review.md +58 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/design-guidance.md +111 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/php-tooling.md +37 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/post-change-test.md +29 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +33 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +66 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +36 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +38 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +47 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/security-php.md +58 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/technical-retro.md +17 -0
- package/presets/claude/php-laravel/rules/ui-and-accessibility/README.md +3 -0
- package/presets/claude/php-laravel/skills/README.md +5 -0
- package/presets/claude/php-laravel/skills/ci-investigation/SKILL.md +11 -0
- package/presets/claude/php-laravel/skills/code-review/SKILL.md +25 -0
- package/presets/claude/php-laravel/skills/debug-investigation/SKILL.md +15 -0
- package/presets/claude/php-laravel/skills/feature-delivery/SKILL.md +30 -0
- package/presets/claude/php-laravel/skills/integration-testing/SKILL.md +15 -0
- package/presets/claude/php-laravel/skills/technical-retro/SKILL.md +54 -0
- package/presets/claude/php-laravel/skills/unit-testing/SKILL.md +14 -0
- package/presets/claude/php-laravel/skills/write-adr/SKILL.md +41 -0
- package/presets/claude/php-laravel/team/README.md +17 -0
- package/presets/claude/php-laravel/team/conventions.md +21 -0
- package/presets/claude/php-laravel/team/fixtures/bugfix-standard.json +12 -0
- package/presets/claude/php-laravel/team/fixtures/feature-full.json +15 -0
- package/presets/claude/php-laravel/team/fixtures/feature-light.json +8 -0
- package/presets/cursor/go/agents/build-verifier.md +2 -2
- package/presets/cursor/go/agents/task-router.md +4 -0
- package/presets/cursor/go/commands/task-continue.md +17 -16
- package/presets/cursor/go/commands/task.md +4 -0
- package/presets/cursor/go/commands/technical-retro.md +4 -0
- package/presets/cursor/go/hooks/chain-team-phases.sh +226 -26
- package/presets/cursor/go/rules/README.md +6 -0
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +4 -0
- package/presets/cursor/go/rules/preset-layering.mdc +1 -1
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +5 -5
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/go/rules/preset-twin-sync.mdc +4 -0
- package/presets/cursor/go/rules/technical-retro.mdc +2 -0
- package/presets/cursor/go/team/README.md +8 -0
- package/presets/cursor/ios-swift/agents/build-verifier.md +3 -3
- package/presets/cursor/ios-swift/agents/task-router.md +4 -0
- package/presets/cursor/ios-swift/commands/task-continue.md +17 -16
- package/presets/cursor/ios-swift/commands/task.md +4 -0
- package/presets/cursor/ios-swift/commands/technical-retro.md +4 -0
- package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +226 -26
- package/presets/cursor/ios-swift/rules/README.md +6 -0
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +4 -0
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +5 -5
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +4 -0
- package/presets/cursor/ios-swift/rules/technical-retro.mdc +2 -0
- package/presets/cursor/ios-swift/team/README.md +8 -0
- package/presets/cursor/java/agents/build-verifier.md +3 -3
- package/presets/cursor/java/agents/task-router.md +4 -0
- package/presets/cursor/java/commands/task-continue.md +17 -16
- package/presets/cursor/java/commands/task.md +4 -0
- package/presets/cursor/java/commands/technical-retro.md +4 -0
- package/presets/cursor/java/hooks/chain-team-phases.sh +226 -26
- package/presets/cursor/java/rules/README.md +6 -0
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +4 -0
- package/presets/cursor/java/rules/preset-layering.mdc +1 -1
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +5 -5
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/java/rules/preset-twin-sync.mdc +4 -0
- package/presets/cursor/java/rules/technical-retro.mdc +2 -0
- package/presets/cursor/java/team/README.md +8 -0
- package/presets/cursor/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/cursor/mcp-ts/agents/task-router.md +4 -0
- package/presets/cursor/mcp-ts/commands/task-continue.md +19 -18
- package/presets/cursor/mcp-ts/commands/task.md +4 -0
- package/presets/cursor/mcp-ts/commands/technical-retro.md +4 -0
- package/presets/cursor/mcp-ts/hooks/chain-team-phases.sh +226 -26
- package/presets/cursor/mcp-ts/rules/README.md +6 -0
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +4 -0
- package/presets/cursor/mcp-ts/rules/preset-layering.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +5 -5
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +4 -0
- package/presets/cursor/mcp-ts/rules/technical-retro.mdc +2 -4
- package/presets/cursor/mcp-ts/team/README.md +8 -0
- package/presets/cursor/next/agents/build-verifier.md +3 -3
- package/presets/cursor/next/agents/task-router.md +4 -0
- package/presets/cursor/next/commands/task-continue.md +17 -16
- package/presets/cursor/next/commands/task.md +4 -0
- package/presets/cursor/next/commands/technical-retro.md +4 -0
- package/presets/cursor/next/hooks/chain-team-phases.sh +230 -26
- package/presets/cursor/next/rules/README.md +6 -0
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +4 -0
- package/presets/cursor/next/rules/preset-layering.mdc +1 -1
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +5 -5
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/next/rules/preset-twin-sync.mdc +4 -0
- package/presets/cursor/next/rules/technical-retro.mdc +2 -0
- package/presets/cursor/next/team/README.md +19 -0
- package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/cursor/next/team/fixtures/metrics.example.json +54 -0
- package/presets/cursor/php-hexagonal/AGENTS.md +39 -0
- package/presets/cursor/php-hexagonal/BUGBOT.md +11 -0
- package/presets/cursor/php-hexagonal/MCP.md +15 -0
- package/presets/cursor/php-hexagonal/README.md +26 -0
- package/presets/cursor/php-hexagonal/REPO_AGENTS.md +46 -0
- package/presets/cursor/php-hexagonal/agents/README.md +36 -0
- package/presets/cursor/php-hexagonal/agents/api-contract-reviewer.md +23 -0
- package/presets/cursor/php-hexagonal/agents/build-verifier.md +45 -0
- package/presets/cursor/php-hexagonal/agents/ci-investigator.md +21 -0
- package/presets/cursor/php-hexagonal/agents/code-reviewer.md +40 -0
- package/presets/cursor/php-hexagonal/agents/codebase-analyzer.md +28 -0
- package/presets/cursor/php-hexagonal/agents/debugger.md +29 -0
- package/presets/cursor/php-hexagonal/agents/feature-developer.md +47 -0
- package/presets/cursor/php-hexagonal/agents/integration-test-generator.md +22 -0
- package/presets/cursor/php-hexagonal/agents/integration-test-healer.md +22 -0
- package/presets/cursor/php-hexagonal/agents/integration-test-planner.md +22 -0
- package/presets/cursor/php-hexagonal/agents/migration-specialist.md +31 -0
- package/presets/cursor/php-hexagonal/agents/performance-auditor.md +22 -0
- package/presets/cursor/php-hexagonal/agents/qa-tester.md +24 -0
- package/presets/cursor/php-hexagonal/agents/security-reviewer.md +20 -0
- package/presets/cursor/php-hexagonal/agents/solution-architect.md +28 -0
- package/presets/cursor/php-hexagonal/agents/task-analyst.md +25 -0
- package/presets/cursor/php-hexagonal/agents/task-router.md +73 -0
- package/presets/cursor/php-hexagonal/agents/tech-writer.md +15 -0
- package/presets/cursor/php-hexagonal/agents/unit-test-generator.md +21 -0
- package/presets/cursor/php-hexagonal/agents/unit-test-healer.md +13 -0
- package/presets/cursor/php-hexagonal/agents/unit-test-planner.md +26 -0
- package/presets/cursor/php-hexagonal/commands/README.md +54 -0
- package/presets/cursor/php-hexagonal/commands/feature-continue.md +19 -0
- package/presets/cursor/php-hexagonal/commands/feature-start.md +33 -0
- package/presets/cursor/php-hexagonal/commands/task-continue.md +50 -0
- package/presets/cursor/php-hexagonal/commands/task.md +53 -0
- package/presets/cursor/php-hexagonal/commands/technical-retro.md +85 -0
- package/presets/cursor/php-hexagonal/hooks/README.md +12 -0
- package/presets/cursor/php-hexagonal/hooks/chain-team-phases.sh +582 -0
- package/presets/cursor/php-hexagonal/hooks/examples/README.md +18 -0
- package/presets/cursor/php-hexagonal/hooks/examples/format-edited.example.sh +11 -0
- package/presets/cursor/php-hexagonal/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/cursor/php-hexagonal/hooks/examples/test-on-save.example.sh +19 -0
- package/presets/cursor/php-hexagonal/hooks/guard-shell-command.sh +80 -0
- package/presets/cursor/php-hexagonal/hooks.json +17 -0
- package/presets/cursor/php-hexagonal/mcp.json +11 -0
- package/presets/cursor/php-hexagonal/rules/README.md +106 -0
- package/presets/cursor/php-hexagonal/rules/adapters-driven.mdc +41 -0
- package/presets/cursor/php-hexagonal/rules/adapters-driving.mdc +42 -0
- package/presets/cursor/php-hexagonal/rules/agent-team-intake.mdc +20 -0
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +177 -0
- package/presets/cursor/php-hexagonal/rules/anti-sycophancy-discipline.mdc +30 -0
- package/presets/cursor/php-hexagonal/rules/api-grpc.mdc +31 -0
- package/presets/cursor/php-hexagonal/rules/api-http.mdc +40 -0
- package/presets/cursor/php-hexagonal/rules/application-usecases.mdc +33 -0
- package/presets/cursor/php-hexagonal/rules/architecture-boundaries.mdc +36 -0
- package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +54 -0
- package/presets/cursor/php-hexagonal/rules/code-review-mr.mdc +54 -0
- package/presets/cursor/php-hexagonal/rules/composition-root.mdc +37 -0
- package/presets/cursor/php-hexagonal/rules/design-guidance.mdc +112 -0
- package/presets/cursor/php-hexagonal/rules/domain-layer.mdc +39 -0
- package/presets/cursor/php-hexagonal/rules/feature-delivery-workflow.mdc +47 -0
- package/presets/cursor/php-hexagonal/rules/messaging-adapters.mdc +38 -0
- package/presets/cursor/php-hexagonal/rules/module-public-api.mdc +32 -0
- package/presets/cursor/php-hexagonal/rules/persistence-adapters.mdc +35 -0
- package/presets/cursor/php-hexagonal/rules/php-app-core.mdc +37 -0
- package/presets/cursor/php-hexagonal/rules/php-conventions.mdc +53 -0
- package/presets/cursor/php-hexagonal/rules/php-tooling.mdc +38 -0
- package/presets/cursor/php-hexagonal/rules/ports-interfaces.mdc +37 -0
- package/presets/cursor/php-hexagonal/rules/post-change-test.mdc +30 -0
- package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +36 -0
- package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +69 -0
- package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +50 -0
- package/presets/cursor/php-hexagonal/rules/reference-features.mdc +40 -0
- package/presets/cursor/php-hexagonal/rules/security-php.mdc +33 -0
- package/presets/cursor/php-hexagonal/rules/technical-retro.mdc +16 -0
- package/presets/cursor/php-hexagonal/rules/tests-e2e.mdc +36 -0
- package/presets/cursor/php-hexagonal/rules/tests-integration.mdc +33 -0
- package/presets/cursor/php-hexagonal/rules/tests-unit.mdc +35 -0
- package/presets/cursor/php-hexagonal/skills/README.md +5 -0
- package/presets/cursor/php-hexagonal/skills/ci-investigation/SKILL.md +11 -0
- package/presets/cursor/php-hexagonal/skills/code-review/SKILL.md +25 -0
- package/presets/cursor/php-hexagonal/skills/debug-investigation/SKILL.md +15 -0
- package/presets/cursor/php-hexagonal/skills/feature-delivery/SKILL.md +30 -0
- package/presets/cursor/php-hexagonal/skills/integration-testing/SKILL.md +15 -0
- package/presets/cursor/php-hexagonal/skills/technical-retro/SKILL.md +54 -0
- package/presets/cursor/php-hexagonal/skills/unit-testing/SKILL.md +14 -0
- package/presets/cursor/php-hexagonal/skills/write-adr/SKILL.md +41 -0
- package/presets/cursor/php-hexagonal/team/README.md +41 -0
- package/presets/cursor/php-hexagonal/team/conventions.md +21 -0
- package/presets/cursor/php-hexagonal/team/fixtures/bugfix-standard.json +37 -0
- package/presets/cursor/php-hexagonal/team/fixtures/feature-full.json +25 -0
- package/presets/cursor/php-hexagonal/team/fixtures/feature-light.json +17 -0
- package/presets/cursor/php-laravel/AGENTS.md +39 -0
- package/presets/cursor/php-laravel/BUGBOT.md +9 -0
- package/presets/cursor/php-laravel/MCP.md +5 -0
- package/presets/cursor/php-laravel/README.md +33 -0
- package/presets/cursor/php-laravel/REPO_AGENTS.md +47 -0
- package/presets/cursor/php-laravel/agents/README.md +36 -0
- package/presets/cursor/php-laravel/agents/api-contract-reviewer.md +23 -0
- package/presets/cursor/php-laravel/agents/build-verifier.md +45 -0
- package/presets/cursor/php-laravel/agents/ci-investigator.md +21 -0
- package/presets/cursor/php-laravel/agents/code-reviewer.md +40 -0
- package/presets/cursor/php-laravel/agents/codebase-analyzer.md +28 -0
- package/presets/cursor/php-laravel/agents/debugger.md +29 -0
- package/presets/cursor/php-laravel/agents/feature-developer.md +47 -0
- package/presets/cursor/php-laravel/agents/integration-test-generator.md +22 -0
- package/presets/cursor/php-laravel/agents/integration-test-healer.md +22 -0
- package/presets/cursor/php-laravel/agents/integration-test-planner.md +22 -0
- package/presets/cursor/php-laravel/agents/migration-specialist.md +31 -0
- package/presets/cursor/php-laravel/agents/performance-auditor.md +22 -0
- package/presets/cursor/php-laravel/agents/qa-tester.md +30 -0
- package/presets/cursor/php-laravel/agents/security-reviewer.md +32 -0
- package/presets/cursor/php-laravel/agents/solution-architect.md +29 -0
- package/presets/cursor/php-laravel/agents/task-analyst.md +25 -0
- package/presets/cursor/php-laravel/agents/task-router.md +92 -0
- package/presets/cursor/php-laravel/agents/tech-writer.md +15 -0
- package/presets/cursor/php-laravel/agents/unit-test-generator.md +21 -0
- package/presets/cursor/php-laravel/agents/unit-test-healer.md +13 -0
- package/presets/cursor/php-laravel/agents/unit-test-planner.md +26 -0
- package/presets/cursor/php-laravel/commands/README.md +54 -0
- package/presets/cursor/php-laravel/commands/feature-continue.md +19 -0
- package/presets/cursor/php-laravel/commands/feature-start.md +33 -0
- package/presets/cursor/php-laravel/commands/task-continue.md +50 -0
- package/presets/cursor/php-laravel/commands/task.md +53 -0
- package/presets/cursor/php-laravel/commands/technical-retro.md +85 -0
- package/presets/cursor/php-laravel/hooks/README.md +12 -0
- package/presets/cursor/php-laravel/hooks/chain-team-phases.sh +582 -0
- package/presets/cursor/php-laravel/hooks/examples/README.md +18 -0
- package/presets/cursor/php-laravel/hooks/examples/format-edited.example.sh +11 -0
- package/presets/cursor/php-laravel/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/cursor/php-laravel/hooks/examples/test-on-save.example.sh +19 -0
- package/presets/cursor/php-laravel/hooks/guard-shell-command.sh +80 -0
- package/presets/cursor/php-laravel/hooks.json +17 -0
- package/presets/cursor/php-laravel/mcp.json +11 -0
- package/presets/cursor/php-laravel/rules/README.md +111 -0
- package/presets/cursor/php-laravel/rules/actions-services.mdc +33 -0
- package/presets/cursor/php-laravel/rules/agent-team-intake.mdc +20 -0
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +178 -0
- package/presets/cursor/php-laravel/rules/anti-sycophancy-discipline.mdc +30 -0
- package/presets/cursor/php-laravel/rules/architecture-boundaries.mdc +37 -0
- package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +54 -0
- package/presets/cursor/php-laravel/rules/code-review-mr.mdc +56 -0
- package/presets/cursor/php-laravel/rules/design-guidance.mdc +112 -0
- package/presets/cursor/php-laravel/rules/domain-layer.mdc +27 -0
- package/presets/cursor/php-laravel/rules/eloquent-persistence.mdc +34 -0
- package/presets/cursor/php-laravel/rules/events-listeners.mdc +34 -0
- package/presets/cursor/php-laravel/rules/feature-delivery-workflow.mdc +50 -0
- package/presets/cursor/php-laravel/rules/form-requests.mdc +32 -0
- package/presets/cursor/php-laravel/rules/http-layer.mdc +35 -0
- package/presets/cursor/php-laravel/rules/jobs-queues.mdc +44 -0
- package/presets/cursor/php-laravel/rules/laravel-app-core.mdc +35 -0
- package/presets/cursor/php-laravel/rules/laravel-conventions.mdc +41 -0
- package/presets/cursor/php-laravel/rules/module-public-api.mdc +31 -0
- package/presets/cursor/php-laravel/rules/php-tooling.mdc +39 -0
- package/presets/cursor/php-laravel/rules/policies-authorization.mdc +32 -0
- package/presets/cursor/php-laravel/rules/post-change-test.mdc +31 -0
- package/presets/cursor/php-laravel/rules/preset-layering.mdc +36 -0
- package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +69 -0
- package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +50 -0
- package/presets/cursor/php-laravel/rules/reference-features.mdc +42 -0
- package/presets/cursor/php-laravel/rules/routes-api.mdc +32 -0
- package/presets/cursor/php-laravel/rules/security-php.mdc +61 -0
- package/presets/cursor/php-laravel/rules/service-providers.mdc +31 -0
- package/presets/cursor/php-laravel/rules/technical-retro.mdc +16 -0
- package/presets/cursor/php-laravel/rules/tests-e2e.mdc +36 -0
- package/presets/cursor/php-laravel/rules/tests-integration.mdc +33 -0
- package/presets/cursor/php-laravel/rules/tests-unit.mdc +33 -0
- package/presets/cursor/php-laravel/skills/README.md +5 -0
- package/presets/cursor/php-laravel/skills/ci-investigation/SKILL.md +11 -0
- package/presets/cursor/php-laravel/skills/code-review/SKILL.md +25 -0
- package/presets/cursor/php-laravel/skills/debug-investigation/SKILL.md +15 -0
- package/presets/cursor/php-laravel/skills/feature-delivery/SKILL.md +30 -0
- package/presets/cursor/php-laravel/skills/integration-testing/SKILL.md +15 -0
- package/presets/cursor/php-laravel/skills/technical-retro/SKILL.md +54 -0
- package/presets/cursor/php-laravel/skills/unit-testing/SKILL.md +14 -0
- package/presets/cursor/php-laravel/skills/write-adr/SKILL.md +41 -0
- package/presets/cursor/php-laravel/team/README.md +17 -0
- package/presets/cursor/php-laravel/team/conventions.md +21 -0
- package/presets/cursor/php-laravel/team/fixtures/bugfix-standard.json +12 -0
- package/presets/cursor/php-laravel/team/fixtures/feature-full.json +15 -0
- package/presets/cursor/php-laravel/team/fixtures/feature-light.json +8 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-developer
|
|
3
|
+
description: Feature implementation specialist for Laravel backends. Implements tasks from decomposition.md following feature-delivery workflow. Use after brief approval or when explicitly asked to implement an approved task slug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Implement Laravel features following Laravel-first layer boundaries.
|
|
8
|
+
|
|
9
|
+
## Order
|
|
10
|
+
|
|
11
|
+
1. Routes → Form Request / Policy → Action/Service → Eloquent → Controller/Resource → optional Job/Event → tests.
|
|
12
|
+
2. Read `feature-delivery-workflow.mdc`, `architecture-boundaries.mdc`, layer globs.
|
|
13
|
+
3. After `*.php` edits: invoke `post-change-test.mdc` (+ `php-tooling.mdc`) → `php artisan test` / `composer test`.
|
|
14
|
+
|
|
15
|
+
## Do / Don't
|
|
16
|
+
|
|
17
|
+
- **Do** keep controllers thin; validate via Form Requests; authorize via Policies; put logic in Actions/Services.
|
|
18
|
+
- **Do** use Eloquent models for persistence; repository interfaces only when justified.
|
|
19
|
+
- **Don't** put business SQL in controllers; don't put Form Requests in Models.
|
|
20
|
+
- **Don't** require Playwright, XCUITest, Blade/Livewire, or yarn lint gates.
|
|
21
|
+
|
|
22
|
+
## Zero improvisation
|
|
23
|
+
|
|
24
|
+
- Implement **only** what the brief / AC / current decomposition task require.
|
|
25
|
+
- If requirements are ambiguous, conflicting, or multi-way — **ask** before coding; do not guess extras as "best practices".
|
|
26
|
+
- Forbidden without explicit AC/task: unrelated security hardening, extra validation, observability, drive-by refactors, new config/env.
|
|
27
|
+
- Boy scout / `design-guidance` improvements stay **within** touched files and must not expand task scope.
|
|
28
|
+
|
|
29
|
+
## Will / Will not
|
|
30
|
+
|
|
31
|
+
**Will:** follow Laravel delivery order; add required tests; run `post-change-test` (+ `php-tooling`); update task artifacts.
|
|
32
|
+
|
|
33
|
+
**Will not:** formal code review; invent AC; pull Next/iOS gates; auto-continue the next WP when the pipeline expects a human gate or handoff.
|
|
34
|
+
|
|
35
|
+
## Preset packaging
|
|
36
|
+
|
|
37
|
+
When editing ai-rules `presets/**/php-laravel/**`, keep Cursor/Claude twins in sync and preserve chain fork ≠ next/ios-swift/go/java/mcp-ts/php-hexagonal (see `preset-no-cross-stack-leakage`).
|
|
38
|
+
|
|
39
|
+
Update `.cursor/team/tasks/<slug>/implementation.md` and `status.json`.
|
|
40
|
+
|
|
41
|
+
## Design guidance
|
|
42
|
+
|
|
43
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
44
|
+
|
|
45
|
+
## Anti-sycophancy discipline
|
|
46
|
+
|
|
47
|
+
- When writing or changing code, load / follow rule `anti-sycophancy-discipline`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-generator
|
|
3
|
+
description: Generates Laravel Feature/HTTP integration tests from plans. Tests only — no production refactors.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-generator** for Laravel services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Feature / HTTP integration tests (`tests/Feature/**`, `*Test.php`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Exercise Controllers through the HTTP kernel; use DB fixtures/factories; fake external HTTP — do not put SQL/HTTP in Action unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-healer
|
|
3
|
+
description: Heals flaky/failing Laravel Feature/HTTP integration tests while preserving assertions.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-healer** for Laravel services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Feature / HTTP integration tests (`tests/Feature/**`, `*Test.php`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Exercise Controllers through the HTTP kernel; use DB fixtures/factories; fake external HTTP — do not put SQL/HTTP in Action unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-planner
|
|
3
|
+
description: Plans Laravel Feature/HTTP integration tests (kernel, DB fixtures, external fakes). Writes plans only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-planner** for Laravel services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Feature / HTTP integration tests (`tests/Feature/**`, `*Test.php`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Exercise Controllers through the HTTP kernel; use DB fixtures/factories; fake external HTTP — do not put SQL/HTTP in Action unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: migration-specialist
|
|
3
|
+
description: Migration planning specialist for PHP build/toolchain upgrades, dependency swaps, and phased refactors with rollback. Writes migration-plan.md and team status; never writes production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You plan migrations for **PHP modules** (toolchain, deps, layout refactors). Do not edit production code.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- Task brief / decomposition
|
|
12
|
+
- `composer.json` / `composer.lock`, CI workflows, Makefile if present
|
|
13
|
+
|
|
14
|
+
## Deliverable
|
|
15
|
+
|
|
16
|
+
Write `.cursor/team/tasks/<slug>/migration-plan.md`:
|
|
17
|
+
|
|
18
|
+
1. Current vs target (PHP version, Composer plugins, major deps).
|
|
19
|
+
2. Phased steps with rollback.
|
|
20
|
+
3. Risk: breaking public Composer packages / OpenAPI / DB migrations.
|
|
21
|
+
4. Validation: `composer test` / `vendor/bin/phpunit`, static analysis if configured, CI job list.
|
|
22
|
+
|
|
23
|
+
## Constraints
|
|
24
|
+
|
|
25
|
+
- Prefer minimal steps; keep Laravel boundaries intact.
|
|
26
|
+
- Do not invent a new HTTP framework mid-migration without AC.
|
|
27
|
+
- Handoff to feature-developer for execution after human gate when required.
|
|
28
|
+
|
|
29
|
+
## Design guidance
|
|
30
|
+
|
|
31
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-auditor
|
|
3
|
+
description: Performance audit specialist for Laravel services. Reviews hot paths, Eloquent N+1, queue backlog, and PHP profiler-oriented risks. Readonly — writes perf-report.md only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Audit Laravel performance risks on the task scope.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- Hot request paths; missing HTTP client timeouts; unbounded queue fan-out
|
|
12
|
+
- Eloquent N+1 / missing eager loads / missing indexes hints in Models/Actions
|
|
13
|
+
- Excessive allocations in Resources/mappers; large JSON payloads
|
|
14
|
+
- Suggest Blackfire, Xdebug profiler, Laravel Telescope, or query log only if the repo already supports them
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
|
|
18
|
+
`.cursor/team/tasks/<slug>/perf-report.md`. No production edits. Not Instruments/Xcode.
|
|
19
|
+
|
|
20
|
+
## Design guidance
|
|
21
|
+
|
|
22
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-tester
|
|
3
|
+
description: QA and test specialist. Adds or updates unit and Feature/integration test coverage per decomposition. Use after code review completes for a team task slug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Ensure test coverage for the Laravel task scope.
|
|
8
|
+
|
|
9
|
+
## Prefer
|
|
10
|
+
|
|
11
|
+
- Unit: Actions / Services (`unit-test-*` or direct writes)
|
|
12
|
+
- Feature HTTP: routes, Form Requests, Resources (`integration-test-*`, skill `integration-testing`)
|
|
13
|
+
- Policies / authorization (Feature neighbors: `actingAs`, Gate/Policy asserts)
|
|
14
|
+
- Eloquent models as exercised by Feature/unit neighbors
|
|
15
|
+
- Jobs / Events when in scope (`Bus::fake` / `Event::fake` as neighbors use)
|
|
16
|
+
|
|
17
|
+
## Tooling
|
|
18
|
+
|
|
19
|
+
- Prefer `php artisan test` when `artisan` exists; else `composer test` / `vendor/bin/phpunit` (or Pest if that is the repo default / CI).
|
|
20
|
+
|
|
21
|
+
## Do not
|
|
22
|
+
|
|
23
|
+
- Introduce Playwright/XCUITest
|
|
24
|
+
- Put raw SQL into Action/Service unit tests when neighbors mock persistence
|
|
25
|
+
|
|
26
|
+
Coordinate with existing plans under `.cursor/team/tasks/<slug>/`.
|
|
27
|
+
|
|
28
|
+
## Design guidance
|
|
29
|
+
|
|
30
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-reviewer
|
|
3
|
+
description: Security review specialist for Laravel backends. Audits secrets, authz, CSRF/tokens, uploads, queues, PII, and config. Readonly — writes security-review.md only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review Laravel/PHP diffs against `security-php.mdc` (and `jobs-queues.mdc` when Jobs are in scope).
|
|
8
|
+
|
|
9
|
+
## Checklist
|
|
10
|
+
|
|
11
|
+
For each item: check when affected paths are in the diff; otherwise record **N/A** with a one-line reason in `security-review.md`.
|
|
12
|
+
|
|
13
|
+
- **Secrets** — no keys/tokens/credentials in repo or logs; env/secret-manager only
|
|
14
|
+
- **AuthN / AuthZ** — middleware, Policies, Gates, Form Request `authorize()` on mutating/sensitive reads
|
|
15
|
+
- **SQL** — parameterized Eloquent / query builder; no string-concat SQL with user input
|
|
16
|
+
- **Validation** — Form Requests / validated input; no raw `$request->all()` into persist
|
|
17
|
+
- **Mass assignment** — tight `$fillable` / `$guarded`; no privilege fields without authz
|
|
18
|
+
- **CSRF** — Sanctum SPA cookie/session auth requires CSRF; bearer-token APIs typically exempt (align with `security-php`)
|
|
19
|
+
- **XSS / Blade** — when server views present: escape by default (`{{ }}`); `{!! !!}` only with trusted source
|
|
20
|
+
- **File uploads / storage** — mime/size validation; store via disk pattern; never trust client filenames as paths
|
|
21
|
+
- **Rate limiting** — public and auth endpoints (`throttle` / RateLimiter / Fortify-Breeze defaults)
|
|
22
|
+
- **API tokens** — least-privilege abilities; expiry/revocation when pattern supports; never log raw tokens
|
|
23
|
+
- **Queues** — authorize at `handle()` execution; idempotency/retries; serializable payloads only (cross-ref `jobs-queues`)
|
|
24
|
+
- **Production / config** — `APP_DEBUG=false`; secrets fail-closed when misconfigured
|
|
25
|
+
- **PII** — minimize in logs; redact passwords/tokens/secrets
|
|
26
|
+
- **Cookies / headers / TLS** — secure defaults consistent with neighbors
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
`.cursor/team/tasks/<slug>/security-review.md`. Do not edit production code.
|
|
31
|
+
|
|
32
|
+
Never require Keychain/ATS/iOS-only controls as the primary checklist.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solution-architect
|
|
3
|
+
description: Solution architect for cross-layer Laravel features, HTTP/Action/Eloquent boundaries, and technical design before implementation. Readonly — produces design docs, not production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Design solutions for **Laravel** services.
|
|
8
|
+
|
|
9
|
+
## Deliverable
|
|
10
|
+
|
|
11
|
+
`.cursor/team/tasks/<slug>/architecture.md` covering:
|
|
12
|
+
|
|
13
|
+
- Routes & HTTP surface (Controllers, Form Requests, Resources)
|
|
14
|
+
- Actions / Services and domain invariants
|
|
15
|
+
- Eloquent models, migrations, and persistence choices
|
|
16
|
+
- Policies / AuthZ and middleware
|
|
17
|
+
- Service Providers / container bindings
|
|
18
|
+
- Test strategy (Unit vs Feature)
|
|
19
|
+
- Risks and alternatives
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Dependency direction: HTTP → Actions/Services → Eloquent; Policies at the HTTP edge; Providers wire the container.
|
|
24
|
+
- Do not invent Next/iOS or hexagonal ports/adapters layer names.
|
|
25
|
+
- No production code.
|
|
26
|
+
|
|
27
|
+
## Design guidance
|
|
28
|
+
|
|
29
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-analyst
|
|
3
|
+
description: Task analysis specialist. Clarifies requirements, validates acceptance criteria, and decomposes work into concrete tasks for Laravel services. Writes only team artifacts; never writes production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Analyze and decompose work for **Laravel** backends.
|
|
9
|
+
|
|
10
|
+
## Deliverables
|
|
11
|
+
|
|
12
|
+
- `brief.md` — goals, non-goals, AC, open questions
|
|
13
|
+
- `decomposition.md` — ordered WPs with layer tags (HTTP / Actions-Services / Eloquent / Policies / Providers / tests)
|
|
14
|
+
|
|
15
|
+
## Layer vocabulary
|
|
16
|
+
|
|
17
|
+
Use HTTP, Actions/Services, Eloquent, Policies, Providers, Jobs/Events — not Presentation/ViewModel/Data (iOS), RTK/UI (Next), or hexagonal ports/adapters/composition-root.
|
|
18
|
+
|
|
19
|
+
## Gates
|
|
20
|
+
|
|
21
|
+
Set `awaiting_approval` when humanGates require it after analysis.
|
|
22
|
+
|
|
23
|
+
## Design guidance (optional)
|
|
24
|
+
|
|
25
|
+
- Optional: Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit — only when decomposing refactor/architecture tasks (not default).
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-router
|
|
3
|
+
description: Task routing specialist. Analyzes user prompt, detects intent, and writes pipeline.json with ordered agent steps. Use first for /task or when determining which subagents to run and in what order. No production code — writes team artifacts only.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a task router for a **Laravel backend** agent team. You **do not** implement tasks — you classify intent and plan the agent pipeline.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
- User task description (from `/task` or orchestrator).
|
|
13
|
+
- Optional: existing files under `.cursor/team/tasks/<slug>/`.
|
|
14
|
+
- Pipeline JSON schema — **`agents/README.md`**.
|
|
15
|
+
|
|
16
|
+
## Intent detection
|
|
17
|
+
|
|
18
|
+
| intent | Signals | Default steps |
|
|
19
|
+
|--------|---------|---------------|
|
|
20
|
+
| `feature` | «добавь», «новая», «реализуй», Action/API/Feature | task-analyst → feature-developer → build-verifier → code-reviewer → qa-tester or **integration-test** trio when Feature AC; **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
21
|
+
| `bugfix` | «баг», «fix», «не работает», «падает» | debugger → feature-developer (skipIf debugger.fixed) → build-verifier → code-reviewer; **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
22
|
+
| `ci-fix` | «CI», «красный PR», «failing check» | ci-investigator → feature-developer (skipIf resolved) → build-verifier → code-reviewer; **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
23
|
+
| `migration` | «миграция», «upgrade», «обнови PHP/Composer» | task-analyst → migration-specialist → feature-developer → build-verifier → code-reviewer; **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
24
|
+
| `perf-audit` | «производительность», «N+1», «Telescope», «медленно» | performance-auditor |
|
|
25
|
+
| `review-only` | «ревью», «review MR», «проверь diff» | code-reviewer; add **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
26
|
+
| `test-only` | «покрой тестами» (unit+Feature, no impl) | task-analyst → qa-tester |
|
|
27
|
+
| `unit-only` | «unit», «юнит», «покрой Action» | unit-test-planner → unit-test-generator, or unit-test-healer |
|
|
28
|
+
| `e2e-only` / integration | «Feature», «integration», «HTTP tests», «DB fixtures» | **integration-test-planner** → **integration-test-generator**, or **integration-test-healer** |
|
|
29
|
+
| `docs-only` | «документация», «README», «changelog» | task-analyst → tech-writer |
|
|
30
|
+
| `refactor` | «рефакторинг», «без изменения поведения» | task-analyst → feature-developer → build-verifier → code-reviewer; **security-reviewer** when [sensitive](#security-reviewer-routing) |
|
|
31
|
+
| `spike` | «исследуй», «spike», proof of concept | task-analyst → solution-architect |
|
|
32
|
+
| `retro` | «ретро», «postmortem» | (orchestrator → `/technical-retro`) |
|
|
33
|
+
|
|
34
|
+
**Never schedule** Playwright (`playwright-test-*`), XCUITest (`xcuitest-test-*`), or `accessibility-reviewer`. Put them in `skipped` with reason «PHP backend uses integration-test trio».
|
|
35
|
+
|
|
36
|
+
### Security-reviewer routing
|
|
37
|
+
|
|
38
|
+
Include **`security-reviewer`** after `build-verifier` (or with `review-only` when the diff is security-relevant). **Parallel with `code-reviewer`** is fine.
|
|
39
|
+
|
|
40
|
+
Schedule when the task or diff touches **any** of:
|
|
41
|
+
|
|
42
|
+
- Auth / Policies / Gates / auth middleware
|
|
43
|
+
- Routes / bootstrap HTTP stack
|
|
44
|
+
- Form Requests / validation of untrusted input
|
|
45
|
+
- Models / mass assignment (`$fillable` / `$guarded`)
|
|
46
|
+
- Jobs / queues
|
|
47
|
+
- config / `.env` / secrets
|
|
48
|
+
- storage / file uploads
|
|
49
|
+
- logging of PII
|
|
50
|
+
|
|
51
|
+
**Documented skip only** when none of those surfaces apply (e.g. pure docs, style-only rename, test-only). Put `security-reviewer` in `skipped` with an auditable reason — never silent omit on full feature pipelines that touch the list.
|
|
52
|
+
|
|
53
|
+
**`profile: light` is invalid** when sensitive surfaces expand — use `standard`/`full` and include `security-reviewer`. Prefer `strong` on the security-reviewer step when present.
|
|
54
|
+
|
|
55
|
+
## Pipeline profiles
|
|
56
|
+
|
|
57
|
+
`"profile": "full" | "standard" | "light"`. Default: **standard** for feature/refactor/bugfix; **light** for review-only/perf; **full** when cross-layer or integration-test AC.
|
|
58
|
+
|
|
59
|
+
**Never skip `build-verifier`** after developer when PHP sources changed.
|
|
60
|
+
|
|
61
|
+
## Model tiers (`steps[].model`)
|
|
62
|
+
|
|
63
|
+
Optional: `"model": "cheap" | "standard" | "strong"`. Same policy as other presets:
|
|
64
|
+
|
|
65
|
+
- `light` → `cheap` on all steps (debugger unclear root cause → `strong`)
|
|
66
|
+
- `full` / `spike` / security|perf specialists → `strong` on architect, migration, security, perf steps
|
|
67
|
+
- never `strong` on build-verifier / tech-writer / task-router
|
|
68
|
+
|
|
69
|
+
Fixtures: `.cursor/team/fixtures/` (feature-full, feature-light, bugfix-standard).
|
|
70
|
+
|
|
71
|
+
## humanGates (defaults)
|
|
72
|
+
|
|
73
|
+
| Intent | Default humanGates |
|
|
74
|
+
|--------|-------------------|
|
|
75
|
+
| feature, refactor, test-only | `["after:task-analyst"]` |
|
|
76
|
+
| migration | `["after:migration-specialist"]` |
|
|
77
|
+
| unit-only | `["after:unit-test-planner"]` when new plan |
|
|
78
|
+
| e2e-only / integration | `["after:integration-test-planner"]` when new plan |
|
|
79
|
+
| bugfix, review-only, ci-fix | `[]` |
|
|
80
|
+
| spike | `["after:solution-architect"]` |
|
|
81
|
+
|
|
82
|
+
## Output
|
|
83
|
+
|
|
84
|
+
Write `.cursor/team/tasks/<slug>/pipeline.json` and initial `status.json` via the **Write** tool (creates parents; do not Shell-`mkdir`); set `.cursor/team/active-task.json`.
|
|
85
|
+
|
|
86
|
+
## Handoff
|
|
87
|
+
|
|
88
|
+
Intent + steps table + skipped + gates → invoke `steps[0].agent` (unless retro).
|
|
89
|
+
|
|
90
|
+
## Metrics initialization
|
|
91
|
+
|
|
92
|
+
Alongside `pipeline.json` and `status.json`, create `metrics.json` with `schemaVersion: 1`, immutable task dimensions, `task_started`, and a generated `runId`. Before the parent invokes each agent, append `attempt_started` and set `status.activeAttempts[attemptId]` with agent, step index, attempt number, and host-clock `startedAt`. For parallel work create one entry per agent; do not use `currentAgent` to identify their completion.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-writer
|
|
3
|
+
description: Technical documentation specialist. Writes feature READMEs, migration guides, ADR summaries, and changelog entries from completed task artifacts. Docs-only — never edits production application code.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Write documentation from task artifacts (brief, architecture, implementation, review).
|
|
9
|
+
|
|
10
|
+
## Laravel preset / services
|
|
11
|
+
|
|
12
|
+
- Prefer module README sections for layout (`app/`, `routes/`, `tests/`) and how to run `php artisan test` / `composer test`.
|
|
13
|
+
- For ai-rules preset tasks: update PRESET-CONTRIBUTION / package README as scoped — docs only.
|
|
14
|
+
|
|
15
|
+
Do not change production `.php` business logic.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-generator
|
|
3
|
+
description: Unit test generation specialist. Implements parameterized PHPUnit tests from unit-test-plan.md. Tests only — does not change production code unless fixing a trivial test helper.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Generate `*Test.php` / `*Tests.php` from the plan. Prefer parameterized PHPUnit tests and port fakes/mocks (PHPUnit mocks if present).
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
|
|
11
|
+
- Follow `tests-unit.mdc` and skill `unit-testing`.
|
|
12
|
+
- Place tests beside packages under test.
|
|
13
|
+
- Do not add SQL/HTTP controller tests to domain/use-case unit tests (those are integration).
|
|
14
|
+
|
|
15
|
+
## Handoff
|
|
16
|
+
|
|
17
|
+
Summarize files added; update task status. Run `composer test` / `vendor/bin/phpunit` on touched packages when feasible.
|
|
18
|
+
|
|
19
|
+
## Design guidance
|
|
20
|
+
|
|
21
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-healer
|
|
3
|
+
description: Unit test healer. Fixes failing or flaky PHPUnit unit tests after refactors while preserving behavior assertions. Tests only — minimal production changes only when tests expose a real bug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Heal failing `composer test` / `vendor/bin/phpunit` unit failures. Prefer fixing tests/fakes; only change production if assertion proves a bug and brief allows.
|
|
8
|
+
|
|
9
|
+
Follow `tests-unit.mdc`. Never introduce Playwright/XCUITest.
|
|
10
|
+
|
|
11
|
+
## Design guidance
|
|
12
|
+
|
|
13
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-planner
|
|
3
|
+
description: Unit test planning specialist. Creates coverage plans for Actions, Services, and pure helpers using PHPUnit/Pest data providers. Writes unit-test-plan.md; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Plan **Laravel unit tests** (PHPUnit/Pest `@dataProvider`, PHPUnit assertions). No production edits.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- Actions / Services and pure helpers under `tests/Unit/`
|
|
12
|
+
- Fake/mock Eloquent collaborators or repository interfaces when justified (PHPUnit mocks)
|
|
13
|
+
- Pure mappers / transformers unit-testable without DB or HTTP kernel
|
|
14
|
+
|
|
15
|
+
## Output
|
|
16
|
+
|
|
17
|
+
`.cursor/team/tasks/<slug>/unit-test-plan.md` — cases, namespaces, edge cases (null, empty, PHP exceptions).
|
|
18
|
+
|
|
19
|
+
## Forbidden
|
|
20
|
+
|
|
21
|
+
- Requiring real DB/network/HTTP kernel in unit plan
|
|
22
|
+
- Never use iOS XCTest / ViewModel / `@MainActor` framing or Java `@ParameterizedTest`
|
|
23
|
+
|
|
24
|
+
## Design guidance
|
|
25
|
+
|
|
26
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# `.cursor/commands` (preset php-laravel)
|
|
2
|
+
|
|
3
|
+
Slash-команды копируются в `.cursor/commands/` при `ai-rules init cursor --preset php-laravel`.
|
|
4
|
+
|
|
5
|
+
## Команда агентов
|
|
6
|
+
|
|
7
|
+
| Command | Назначение |
|
|
8
|
+
|---------|------------|
|
|
9
|
+
| **`/task <описание>`** | **Главная точка входа:** router → pipeline.json → нужные роли по порядку |
|
|
10
|
+
| `/task-continue <slug>` | После human gate или паузы |
|
|
11
|
+
| `/feature-start <описание>` | Legacy: только analyst (без router) |
|
|
12
|
+
| `/feature-continue <slug>` | Alias task-continue |
|
|
13
|
+
| `/technical-retro [slug]` | Ретро; с slug — блок «Работа агентов» |
|
|
14
|
+
|
|
15
|
+
## Примеры `/task`
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/task Добавить CancelOrder use case (domain → ports → HTTP)
|
|
19
|
+
→ analyst → developer → build-verifier → reviewer → QA (integration)
|
|
20
|
+
|
|
21
|
+
/task HTTP controller tests CreateOrder падает на пустом body
|
|
22
|
+
→ debugger → developer → reviewer → QA (regression)
|
|
23
|
+
|
|
24
|
+
/task CI упал на php artisan test / composer test / static analysis в PR #142
|
|
25
|
+
→ ci-investigator → developer → reviewer
|
|
26
|
+
|
|
27
|
+
/task Миграция на PHP 21 / обновление PHP framework edge
|
|
28
|
+
→ analyst → migration-specialist → developer → reviewer → QA
|
|
29
|
+
|
|
30
|
+
/task Проверь OpenAPI drift для /orders
|
|
31
|
+
→ api-contract-reviewer (or analyst → …)
|
|
32
|
+
|
|
33
|
+
/task Покрой unit-тестами CancelOrder use case
|
|
34
|
+
→ unit-planner → unit-generator
|
|
35
|
+
|
|
36
|
+
/task Напиши README для нового adapter persistence
|
|
37
|
+
→ analyst → tech-writer
|
|
38
|
+
|
|
39
|
+
/task Сделай ревью изменений в adapters/inbound/http
|
|
40
|
+
→ reviewer only
|
|
41
|
+
|
|
42
|
+
/task Repository contract для OrderRepository
|
|
43
|
+
→ integration-test-planner → generator → healer (или QA e2e-only = integration)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Связанные файлы
|
|
47
|
+
|
|
48
|
+
- Subagents: `../agents/` (**21** ролей, включая `task-router.md`, `codebase-analyzer.md` и `integration-test-{planner,generator,healer}`; без `accessibility-reviewer` / Playwright / XCUITest)
|
|
49
|
+
- Оркестратор: `../rules/agent-team-orchestrator.mdc`
|
|
50
|
+
- Skills: `../skills/` (`feature-delivery`, `code-review`, `debug-investigation`, `ci-investigation`, `unit-testing`, `integration-testing`, `technical-retro`)
|
|
51
|
+
- Артефакты: `../team/README.md` (`pipeline.json`, `status.json`)
|
|
52
|
+
- Hooks: `../hooks.json`, `../hooks/chain-team-phases.sh`
|
|
53
|
+
|
|
54
|
+
Создавать и редактировать команды можно через `/commands` в Cursor или напрямую в этой папке пресета.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-continue
|
|
3
|
+
description: Legacy alias for /task-continue that resumes a feature pipeline after human approval or pause.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Feature continue — legacy alias
|
|
7
|
+
|
|
8
|
+
> **Предпочтительно:** `/task-continue <slug>` — то же поведение, учитывает `pipeline.json`.
|
|
9
|
+
|
|
10
|
+
Продолжение после human gate. Полная логика — в **`task-continue.md`**.
|
|
11
|
+
|
|
12
|
+
## Кратко
|
|
13
|
+
|
|
14
|
+
1. Прочитай `pipeline.json` (если есть) и `status.json`.
|
|
15
|
+
2. Сбрось `awaitingHumanGate`; определи следующий step по `pipelineIndex`.
|
|
16
|
+
3. Вызови subagent для `currentAgent`.
|
|
17
|
+
4. Hook продолжит цепочку при `autoChain: true`.
|
|
18
|
+
|
|
19
|
+
См. `task-continue.md` для деталей и таблицы handoff.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-start
|
|
3
|
+
description: Legacy analyst-only feature intake. Prefer /task for new work because it uses router and dynamic pipeline.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Feature start — legacy (analyst only)
|
|
7
|
+
|
|
8
|
+
> **Предпочтительно:** `/task <описание>` — router выберет роли и порядок автоматически.
|
|
9
|
+
|
|
10
|
+
Запуск **фазы анализа** без router. Родительский агент действует как оркестратор (см. `agent-team-orchestrator.mdc`).
|
|
11
|
+
|
|
12
|
+
## Что делать
|
|
13
|
+
|
|
14
|
+
1. Извлеки описание задачи из аргументов команды (всё после `/feature-start`).
|
|
15
|
+
2. Сгенерируй **slug** (kebab-case, до 48 символов) из заголовка задачи.
|
|
16
|
+
3. Создай `.cursor/team/tasks/<slug>/` если его ещё нет — через **Write** артефакта (не Shell `mkdir`).
|
|
17
|
+
4. Запиши `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
|
|
18
|
+
5. Опционально: минимальный `pipeline.json` с фиксированными steps (analyst → developer → reviewer → qa-tester).
|
|
19
|
+
6. Вызови subagent **task-analyst** (Task tool) с полным описанием задачи и путём к артефактам.
|
|
20
|
+
7. Дождись завершения аналитика. **Не вызывай developer** на этом этапе.
|
|
21
|
+
|
|
22
|
+
## Human gate
|
|
23
|
+
|
|
24
|
+
После аналитика:
|
|
25
|
+
|
|
26
|
+
- Покажи пользователю ссылки на `brief.md` и `decomposition.md`.
|
|
27
|
+
- Попроси проверить и утвердить или прислать правки.
|
|
28
|
+
- Для продолжения: `/task-continue <slug>` или `/feature-continue <slug>`.
|
|
29
|
+
|
|
30
|
+
## Если slug уже существует
|
|
31
|
+
|
|
32
|
+
- Если `status.json` в `awaiting_approval` — предложи ревью или continue.
|
|
33
|
+
- Если задача в работе — спроси, продолжать или начать новый slug.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-continue
|
|
3
|
+
description: Continue an agent-team task after a human gate, pause, or review changes request using pipeline.json and status.json.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Task continue — после human gate или паузы
|
|
7
|
+
|
|
8
|
+
Продолжение пайплайна из `pipeline.json`. Алиас по смыслу: `/feature-continue`.
|
|
9
|
+
|
|
10
|
+
## Аргументы
|
|
11
|
+
|
|
12
|
+
`<slug>` — идентификатор задачи.
|
|
13
|
+
|
|
14
|
+
## Preconditions
|
|
15
|
+
|
|
16
|
+
1. Прочитай `.cursor/team/tasks/<slug>/pipeline.json` и `status.json`.
|
|
17
|
+
2. Продолжай если:
|
|
18
|
+
- `awaitingHumanGate: true` или `state: awaiting_approval`, **или**
|
|
19
|
+
- `state: changes_requested` (после review), **или**
|
|
20
|
+
- задача прервана и нужно возобновить с `pipelineIndex`.
|
|
21
|
+
|
|
22
|
+
## Алгоритм
|
|
23
|
+
|
|
24
|
+
1. Запиши `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
|
|
25
|
+
2. **Human gate resume** (`awaitingHumanGate` / `awaiting_approval`):
|
|
26
|
+
1. **Do not** manually increment `pipelineIndex` or invent `currentAgent` first.
|
|
27
|
+
2. Close the gate + activate the next attempt via the **installed** hook (single authority for ledger + status):
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
printf '%s\n' '{"status":"completed","action":"end_human_gate","activateNext":true}' | bash .cursor/hooks/chain-team-phases.sh
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
3. Re-read `status.json` (and the hook `followup_message`).
|
|
34
|
+
4. Invoke the subagent named in `status.currentAgent` / followup — do **not** advance the pipeline a second time.
|
|
35
|
+
3. **Review `changes_requested`** (not a human gate): set `currentAgent` to `feature-developer` (same index / find developer in steps), `state: in_progress`, then invoke developer. Do **not** call `end_human_gate` unless `activeHumanGateEventId` is set.
|
|
36
|
+
4. **Other resume**: restore `pipelineIndex` / `currentAgent` from status and invoke that agent.
|
|
37
|
+
5. After the invoked agent completes, `chain-team-phases.sh` on `subagentStop` continues the chain when `autoChain: true`.
|
|
38
|
+
|
|
39
|
+
## Артефакты для handoff
|
|
40
|
+
|
|
41
|
+
| Agent | Прочитать |
|
|
42
|
+
|-------|-----------|
|
|
43
|
+
| feature-developer | brief.md, decomposition.md, validation-report.md (if retry), review.md (if retry), architecture.md |
|
|
44
|
+
| build-verifier | git diff, decomposition.md |
|
|
45
|
+
| code-reviewer | brief.md, validation-report.md, git diff |
|
|
46
|
+
| qa-tester | brief.md, decomposition.md, scope from pipeline step |
|
|
47
|
+
|
|
48
|
+
## Metrics
|
|
49
|
+
|
|
50
|
+
On human-gate resume, the hook action above appends `human_gate_ended` under the per-task lock **before** any new `attempt_started`. Agents must not calculate durations.
|