@bonesofspring/ai-rules 0.2.10 → 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 +40 -0
- package/README.md +7 -1
- package/bin/cli.js +6 -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 +18 -5
- package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
- package/presets/_shared/core/meta/preset-twin-sync.md +6 -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 +18 -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 +6 -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 +18 -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 +6 -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 +18 -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 +6 -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/CLAUDE.md +13 -0
- package/presets/claude/mcp-ts/MCP.md +37 -0
- package/presets/claude/mcp-ts/README.md +11 -0
- package/presets/claude/mcp-ts/REPO_AGENTS.md +49 -0
- package/presets/claude/mcp-ts/agents/README.md +21 -0
- package/presets/claude/mcp-ts/agents/build-verifier.md +39 -0
- package/presets/claude/mcp-ts/agents/feature-developer.md +47 -0
- package/presets/claude/mcp-ts/agents/security-reviewer.md +21 -0
- package/presets/claude/mcp-ts/agents/solution-architect.md +23 -0
- package/presets/claude/mcp-ts/agents/task-analyst.md +25 -0
- package/presets/claude/mcp-ts/agents/task-router.md +77 -0
- package/presets/claude/mcp-ts/commands/README.md +11 -0
- package/presets/claude/mcp-ts/commands/feature-continue.md +19 -0
- package/presets/claude/mcp-ts/commands/feature-start.md +33 -0
- package/presets/claude/mcp-ts/commands/task-continue.md +50 -0
- package/presets/claude/mcp-ts/commands/task.md +53 -0
- package/presets/claude/mcp-ts/commands/technical-retro.md +85 -0
- package/presets/claude/mcp-ts/hooks/README.md +12 -0
- package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +546 -0
- package/presets/claude/mcp-ts/hooks/examples/README.md +11 -0
- package/presets/claude/mcp-ts/hooks/examples/format-edited.example.sh +16 -0
- package/presets/claude/mcp-ts/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/claude/mcp-ts/hooks/examples/test-on-save.example.sh +25 -0
- package/presets/claude/mcp-ts/hooks/guard-shell-command.sh +79 -0
- package/presets/claude/mcp-ts/mcp.json +11 -0
- package/presets/claude/mcp-ts/rules/README.md +58 -0
- package/presets/claude/mcp-ts/rules/api-and-data/README.md +3 -0
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-auth-secrets.md +44 -0
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-contract-testing.md +42 -0
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-tool-design.md +37 -0
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-transport-packaging.md +43 -0
- package/presets/claude/mcp-ts/rules/architecture/README.md +3 -0
- package/presets/claude/mcp-ts/rules/architecture/feature-delivery.md +45 -0
- package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +28 -0
- package/presets/claude/mcp-ts/rules/architecture/reference-features.md +33 -0
- package/presets/claude/mcp-ts/rules/stack/README.md +3 -0
- package/presets/claude/mcp-ts/rules/stack/mcp-ts-app-core.md +27 -0
- package/presets/claude/mcp-ts/rules/stack/mcp-ts-conventions.md +29 -0
- package/presets/claude/mcp-ts/rules/testing/README.md +3 -0
- package/presets/claude/mcp-ts/rules/testing/unit.md +30 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/README.md +3 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +23 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +165 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/anti-sycophancy-discipline.md +34 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +52 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-review.md +51 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/design-guidance.md +109 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/mcp-ts-tooling.md +31 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +30 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +69 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +50 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/security-mcp.md +52 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +18 -0
- package/presets/claude/mcp-ts/rules/ui-and-accessibility/README.md +3 -0
- package/presets/claude/mcp-ts/skills/README.md +12 -0
- package/presets/claude/mcp-ts/skills/code-review/SKILL.md +10 -0
- package/presets/claude/mcp-ts/skills/debug-investigation/SKILL.md +11 -0
- package/presets/claude/mcp-ts/skills/feature-delivery/SKILL.md +29 -0
- package/presets/claude/mcp-ts/skills/unit-testing/SKILL.md +16 -0
- package/presets/claude/mcp-ts/team/README.md +25 -0
- package/presets/claude/mcp-ts/team/conventions.md +14 -0
- package/presets/claude/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
- package/presets/claude/mcp-ts/team/fixtures/feature-full.json +33 -0
- package/presets/claude/mcp-ts/team/fixtures/feature-light.json +34 -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 +18 -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 +6 -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 +18 -5
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/go/rules/preset-twin-sync.mdc +6 -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 +18 -5
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +6 -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 +18 -5
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/java/rules/preset-twin-sync.mdc +6 -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.md +25 -0
- package/presets/cursor/mcp-ts/BUGBOT.md +9 -0
- package/presets/cursor/mcp-ts/MCP.md +37 -0
- package/presets/cursor/mcp-ts/README.md +19 -0
- package/presets/cursor/mcp-ts/REPO_AGENTS.md +49 -0
- package/presets/cursor/mcp-ts/agents/README.md +21 -0
- package/presets/cursor/mcp-ts/agents/build-verifier.md +39 -0
- package/presets/cursor/mcp-ts/agents/feature-developer.md +47 -0
- package/presets/cursor/mcp-ts/agents/security-reviewer.md +21 -0
- package/presets/cursor/mcp-ts/agents/solution-architect.md +23 -0
- package/presets/cursor/mcp-ts/agents/task-analyst.md +25 -0
- package/presets/cursor/mcp-ts/agents/task-router.md +77 -0
- package/presets/cursor/mcp-ts/commands/README.md +11 -0
- package/presets/cursor/mcp-ts/commands/feature-continue.md +19 -0
- package/presets/cursor/mcp-ts/commands/feature-start.md +33 -0
- package/presets/cursor/mcp-ts/commands/task-continue.md +50 -0
- package/presets/cursor/mcp-ts/commands/task.md +53 -0
- package/presets/cursor/mcp-ts/commands/technical-retro.md +85 -0
- package/presets/cursor/mcp-ts/hooks/README.md +12 -0
- package/presets/cursor/mcp-ts/hooks/chain-team-phases.sh +546 -0
- package/presets/cursor/mcp-ts/hooks/examples/README.md +11 -0
- package/presets/cursor/mcp-ts/hooks/examples/format-edited.example.sh +16 -0
- package/presets/cursor/mcp-ts/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/cursor/mcp-ts/hooks/examples/test-on-save.example.sh +25 -0
- package/presets/cursor/mcp-ts/hooks/guard-shell-command.sh +79 -0
- package/presets/cursor/mcp-ts/hooks.json +17 -0
- package/presets/cursor/mcp-ts/mcp.json +11 -0
- package/presets/cursor/mcp-ts/rules/README.md +58 -0
- package/presets/cursor/mcp-ts/rules/agent-team-intake.mdc +21 -0
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +163 -0
- package/presets/cursor/mcp-ts/rules/anti-sycophancy-discipline.mdc +35 -0
- package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +53 -0
- package/presets/cursor/mcp-ts/rules/code-review-mr.mdc +50 -0
- package/presets/cursor/mcp-ts/rules/design-guidance.mdc +108 -0
- package/presets/cursor/mcp-ts/rules/feature-delivery-workflow.mdc +43 -0
- package/presets/cursor/mcp-ts/rules/mcp-auth-secrets.mdc +45 -0
- package/presets/cursor/mcp-ts/rules/mcp-contract-testing.mdc +43 -0
- package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +29 -0
- package/presets/cursor/mcp-ts/rules/mcp-tool-design.mdc +38 -0
- package/presets/cursor/mcp-ts/rules/mcp-transport-packaging.mdc +44 -0
- package/presets/cursor/mcp-ts/rules/mcp-ts-app-core.mdc +28 -0
- package/presets/cursor/mcp-ts/rules/mcp-ts-conventions.mdc +30 -0
- package/presets/cursor/mcp-ts/rules/mcp-ts-tooling.mdc +32 -0
- package/presets/cursor/mcp-ts/rules/post-change-test.mdc +26 -0
- package/presets/cursor/mcp-ts/rules/preset-layering.mdc +36 -0
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +69 -0
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +50 -0
- package/presets/cursor/mcp-ts/rules/reference-features.mdc +34 -0
- package/presets/cursor/mcp-ts/rules/security-mcp.mdc +53 -0
- package/presets/cursor/mcp-ts/rules/technical-retro.mdc +16 -0
- package/presets/cursor/mcp-ts/rules/tests-unit.mdc +31 -0
- package/presets/cursor/mcp-ts/skills/README.md +12 -0
- package/presets/cursor/mcp-ts/skills/code-review/SKILL.md +10 -0
- package/presets/cursor/mcp-ts/skills/debug-investigation/SKILL.md +11 -0
- package/presets/cursor/mcp-ts/skills/feature-delivery/SKILL.md +29 -0
- package/presets/cursor/mcp-ts/skills/unit-testing/SKILL.md +16 -0
- package/presets/cursor/mcp-ts/team/README.md +25 -0
- package/presets/cursor/mcp-ts/team/conventions.md +14 -0
- package/presets/cursor/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
- package/presets/cursor/mcp-ts/team/fixtures/feature-full.json +33 -0
- package/presets/cursor/mcp-ts/team/fixtures/feature-light.json +34 -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 +18 -5
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/next/rules/preset-twin-sync.mdc +6 -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
package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"task": {
|
|
4
|
+
"runId": "parallel-receipts-run",
|
|
5
|
+
"slug": "parallel-receipts",
|
|
6
|
+
"preset": "ai-rules",
|
|
7
|
+
"stack": "next",
|
|
8
|
+
"platform": "cursor",
|
|
9
|
+
"intent": "feature",
|
|
10
|
+
"profile": "full"
|
|
11
|
+
},
|
|
12
|
+
"events": [
|
|
13
|
+
{
|
|
14
|
+
"eventId": "parallel-receipts-run:task",
|
|
15
|
+
"type": "task_started",
|
|
16
|
+
"at": "2026-07-31T16:00:00.000Z",
|
|
17
|
+
"source": "router",
|
|
18
|
+
"attributionConfidence": "high"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"eventId": "parallel-receipts-run:1:code-reviewer:1:start",
|
|
22
|
+
"type": "attempt_started",
|
|
23
|
+
"at": "2026-07-31T16:00:00.000Z",
|
|
24
|
+
"attemptId": "parallel-receipts-run:step-1:code-reviewer:attempt-1",
|
|
25
|
+
"stepIndex": 1,
|
|
26
|
+
"stepLabel": null,
|
|
27
|
+
"agent": "code-reviewer",
|
|
28
|
+
"role": "review",
|
|
29
|
+
"attempt": 1,
|
|
30
|
+
"parallelGroupId": "parallel-receipts-run:step-1",
|
|
31
|
+
"source": "hook",
|
|
32
|
+
"attributionConfidence": "high"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"eventId": "parallel-receipts-run:1:security-reviewer:1:start",
|
|
36
|
+
"type": "attempt_started",
|
|
37
|
+
"at": "2026-07-31T16:00:00.000Z",
|
|
38
|
+
"attemptId": "parallel-receipts-run:step-1:security-reviewer:attempt-1",
|
|
39
|
+
"stepIndex": 1,
|
|
40
|
+
"stepLabel": null,
|
|
41
|
+
"agent": "security-reviewer",
|
|
42
|
+
"role": "review",
|
|
43
|
+
"attempt": 1,
|
|
44
|
+
"parallelGroupId": "parallel-receipts-run:step-1",
|
|
45
|
+
"source": "hook",
|
|
46
|
+
"attributionConfidence": "high"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"eventId": "parallel-receipts-run:1:security-reviewer:1:finish",
|
|
50
|
+
"type": "attempt_finished",
|
|
51
|
+
"at": "2026-07-31T16:01:00.000Z",
|
|
52
|
+
"attemptId": "parallel-receipts-run:step-1:security-reviewer:attempt-1",
|
|
53
|
+
"outcome": "completed",
|
|
54
|
+
"durationMs": 60000,
|
|
55
|
+
"retryAfterFix": null,
|
|
56
|
+
"source": "agent",
|
|
57
|
+
"attributionConfidence": "fallback"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"eventId": "parallel-receipts-run:1:code-reviewer:1:finish",
|
|
61
|
+
"type": "attempt_finished",
|
|
62
|
+
"at": "2026-07-31T16:02:00.000Z",
|
|
63
|
+
"attemptId": "parallel-receipts-run:step-1:code-reviewer:attempt-1",
|
|
64
|
+
"outcome": "completed",
|
|
65
|
+
"durationMs": 120000,
|
|
66
|
+
"retryAfterFix": null,
|
|
67
|
+
"source": "agent",
|
|
68
|
+
"attributionConfidence": "fallback"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"eventId": "parallel-receipts-run:done",
|
|
72
|
+
"type": "task_completed",
|
|
73
|
+
"at": "2026-07-31T16:02:00.000Z",
|
|
74
|
+
"outcome": "completed",
|
|
75
|
+
"source": "hook",
|
|
76
|
+
"attributionConfidence": "high"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"task": {
|
|
4
|
+
"runId": "serial-retry-run",
|
|
5
|
+
"slug": "serial-retry",
|
|
6
|
+
"preset": "ai-rules",
|
|
7
|
+
"stack": "next",
|
|
8
|
+
"platform": "cursor",
|
|
9
|
+
"intent": "feature",
|
|
10
|
+
"profile": "full"
|
|
11
|
+
},
|
|
12
|
+
"events": [
|
|
13
|
+
{
|
|
14
|
+
"eventId": "serial-retry-run:task",
|
|
15
|
+
"type": "task_started",
|
|
16
|
+
"at": "2026-07-31T14:00:00.000Z",
|
|
17
|
+
"source": "router",
|
|
18
|
+
"attributionConfidence": "high"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"eventId": "serial-retry-run:2:code-reviewer:1:start",
|
|
22
|
+
"type": "attempt_started",
|
|
23
|
+
"at": "2026-07-31T14:00:00.000Z",
|
|
24
|
+
"attemptId": "serial-retry-run:step-2:code-reviewer:attempt-1",
|
|
25
|
+
"stepIndex": 2,
|
|
26
|
+
"stepLabel": null,
|
|
27
|
+
"agent": "code-reviewer",
|
|
28
|
+
"role": "review",
|
|
29
|
+
"attempt": 1,
|
|
30
|
+
"parallelGroupId": null,
|
|
31
|
+
"source": "hook",
|
|
32
|
+
"attributionConfidence": "high"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"eventId": "serial-retry-run:2:code-reviewer:1:finish",
|
|
36
|
+
"type": "attempt_finished",
|
|
37
|
+
"at": "2026-07-31T14:01:00.000Z",
|
|
38
|
+
"attemptId": "serial-retry-run:step-2:code-reviewer:attempt-1",
|
|
39
|
+
"outcome": "changes_requested",
|
|
40
|
+
"durationMs": 60000,
|
|
41
|
+
"retryAfterFix": null,
|
|
42
|
+
"source": "hook",
|
|
43
|
+
"attributionConfidence": "high"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"eventId": "serial-retry-run:retry:1",
|
|
47
|
+
"type": "retry_scheduled",
|
|
48
|
+
"at": "2026-07-31T14:01:00.000Z",
|
|
49
|
+
"attemptId": "serial-retry-run:step-2:code-reviewer:attempt-1",
|
|
50
|
+
"nextAgent": "feature-developer",
|
|
51
|
+
"retryAfterFix": "code-reviewer",
|
|
52
|
+
"source": "hook",
|
|
53
|
+
"attributionConfidence": "high"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"eventId": "serial-retry-run:1:feature-developer:1:start",
|
|
57
|
+
"type": "attempt_started",
|
|
58
|
+
"at": "2026-07-31T14:01:00.000Z",
|
|
59
|
+
"attemptId": "serial-retry-run:step-1:feature-developer:attempt-1",
|
|
60
|
+
"stepIndex": 1,
|
|
61
|
+
"stepLabel": null,
|
|
62
|
+
"agent": "feature-developer",
|
|
63
|
+
"role": "implementation",
|
|
64
|
+
"attempt": 1,
|
|
65
|
+
"parallelGroupId": null,
|
|
66
|
+
"source": "hook",
|
|
67
|
+
"attributionConfidence": "high"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"eventId": "serial-retry-run:1:feature-developer:1:finish",
|
|
71
|
+
"type": "attempt_finished",
|
|
72
|
+
"at": "2026-07-31T14:03:00.000Z",
|
|
73
|
+
"attemptId": "serial-retry-run:step-1:feature-developer:attempt-1",
|
|
74
|
+
"outcome": "completed",
|
|
75
|
+
"durationMs": 120000,
|
|
76
|
+
"retryAfterFix": null,
|
|
77
|
+
"source": "hook",
|
|
78
|
+
"attributionConfidence": "high"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"eventId": "serial-retry-run:retry:2",
|
|
82
|
+
"type": "retry_scheduled",
|
|
83
|
+
"at": "2026-07-31T14:03:00.000Z",
|
|
84
|
+
"attemptId": "serial-retry-run:step-1:feature-developer:attempt-1",
|
|
85
|
+
"nextAgent": "code-reviewer",
|
|
86
|
+
"retryAfterFix": null,
|
|
87
|
+
"source": "hook",
|
|
88
|
+
"attributionConfidence": "high"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"eventId": "serial-retry-run:2:code-reviewer:2:start",
|
|
92
|
+
"type": "attempt_started",
|
|
93
|
+
"at": "2026-07-31T14:03:00.000Z",
|
|
94
|
+
"attemptId": "serial-retry-run:step-2:code-reviewer:attempt-2",
|
|
95
|
+
"stepIndex": 2,
|
|
96
|
+
"stepLabel": null,
|
|
97
|
+
"agent": "code-reviewer",
|
|
98
|
+
"role": "review",
|
|
99
|
+
"attempt": 2,
|
|
100
|
+
"parallelGroupId": null,
|
|
101
|
+
"source": "hook",
|
|
102
|
+
"attributionConfidence": "high"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"eventId": "serial-retry-run:2:code-reviewer:2:finish",
|
|
106
|
+
"type": "attempt_finished",
|
|
107
|
+
"at": "2026-07-31T14:04:00.000Z",
|
|
108
|
+
"attemptId": "serial-retry-run:step-2:code-reviewer:attempt-2",
|
|
109
|
+
"outcome": "completed",
|
|
110
|
+
"durationMs": 60000,
|
|
111
|
+
"retryAfterFix": null,
|
|
112
|
+
"source": "hook",
|
|
113
|
+
"attributionConfidence": "high"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"eventId": "serial-retry-run:done",
|
|
117
|
+
"type": "task_completed",
|
|
118
|
+
"at": "2026-07-31T14:04:00.000Z",
|
|
119
|
+
"outcome": "completed",
|
|
120
|
+
"source": "hook",
|
|
121
|
+
"attributionConfidence": "high"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
package/presets/cursor/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"task": {
|
|
4
|
+
"runId": "validation-failed-run",
|
|
5
|
+
"slug": "validation-failed",
|
|
6
|
+
"preset": "ai-rules",
|
|
7
|
+
"stack": "next",
|
|
8
|
+
"platform": "cursor",
|
|
9
|
+
"intent": "feature",
|
|
10
|
+
"profile": "full"
|
|
11
|
+
},
|
|
12
|
+
"events": [
|
|
13
|
+
{
|
|
14
|
+
"eventId": "validation-failed-run:task",
|
|
15
|
+
"type": "task_started",
|
|
16
|
+
"at": "2026-07-31T15:00:00.000Z",
|
|
17
|
+
"source": "router",
|
|
18
|
+
"attributionConfidence": "high"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"eventId": "validation-failed-run:2:build-verifier:1:start",
|
|
22
|
+
"type": "attempt_started",
|
|
23
|
+
"at": "2026-07-31T15:00:00.000Z",
|
|
24
|
+
"attemptId": "validation-failed-run:step-2:build-verifier:attempt-1",
|
|
25
|
+
"stepIndex": 2,
|
|
26
|
+
"stepLabel": null,
|
|
27
|
+
"agent": "build-verifier",
|
|
28
|
+
"role": "validation",
|
|
29
|
+
"attempt": 1,
|
|
30
|
+
"parallelGroupId": null,
|
|
31
|
+
"source": "hook",
|
|
32
|
+
"attributionConfidence": "high"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"eventId": "validation-failed-run:2:build-verifier:1:finish",
|
|
36
|
+
"type": "attempt_finished",
|
|
37
|
+
"at": "2026-07-31T15:02:00.000Z",
|
|
38
|
+
"attemptId": "validation-failed-run:step-2:build-verifier:attempt-1",
|
|
39
|
+
"outcome": "validation_failed",
|
|
40
|
+
"durationMs": 120000,
|
|
41
|
+
"retryAfterFix": null,
|
|
42
|
+
"source": "hook",
|
|
43
|
+
"attributionConfidence": "high"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"eventId": "validation-failed-run:retry:1",
|
|
47
|
+
"type": "retry_scheduled",
|
|
48
|
+
"at": "2026-07-31T15:02:00.000Z",
|
|
49
|
+
"attemptId": "validation-failed-run:step-2:build-verifier:attempt-1",
|
|
50
|
+
"nextAgent": "feature-developer",
|
|
51
|
+
"retryAfterFix": "build-verifier",
|
|
52
|
+
"source": "hook",
|
|
53
|
+
"attributionConfidence": "high"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"eventId": "validation-failed-run:1:feature-developer:1:start",
|
|
57
|
+
"type": "attempt_started",
|
|
58
|
+
"at": "2026-07-31T15:02:00.000Z",
|
|
59
|
+
"attemptId": "validation-failed-run:step-1:feature-developer:attempt-1",
|
|
60
|
+
"stepIndex": 1,
|
|
61
|
+
"stepLabel": null,
|
|
62
|
+
"agent": "feature-developer",
|
|
63
|
+
"role": "implementation",
|
|
64
|
+
"attempt": 1,
|
|
65
|
+
"parallelGroupId": null,
|
|
66
|
+
"source": "hook",
|
|
67
|
+
"attributionConfidence": "high"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"eventId": "validation-failed-run:1:feature-developer:1:finish",
|
|
71
|
+
"type": "attempt_finished",
|
|
72
|
+
"at": "2026-07-31T15:05:00.000Z",
|
|
73
|
+
"attemptId": "validation-failed-run:step-1:feature-developer:attempt-1",
|
|
74
|
+
"outcome": "completed",
|
|
75
|
+
"durationMs": 180000,
|
|
76
|
+
"retryAfterFix": null,
|
|
77
|
+
"source": "hook",
|
|
78
|
+
"attributionConfidence": "high"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"eventId": "validation-failed-run:retry:2",
|
|
82
|
+
"type": "retry_scheduled",
|
|
83
|
+
"at": "2026-07-31T15:05:00.000Z",
|
|
84
|
+
"attemptId": "validation-failed-run:step-1:feature-developer:attempt-1",
|
|
85
|
+
"nextAgent": "build-verifier",
|
|
86
|
+
"retryAfterFix": null,
|
|
87
|
+
"source": "hook",
|
|
88
|
+
"attributionConfidence": "high"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"eventId": "validation-failed-run:2:build-verifier:2:start",
|
|
92
|
+
"type": "attempt_started",
|
|
93
|
+
"at": "2026-07-31T15:05:00.000Z",
|
|
94
|
+
"attemptId": "validation-failed-run:step-2:build-verifier:attempt-2",
|
|
95
|
+
"stepIndex": 2,
|
|
96
|
+
"stepLabel": null,
|
|
97
|
+
"agent": "build-verifier",
|
|
98
|
+
"role": "validation",
|
|
99
|
+
"attempt": 2,
|
|
100
|
+
"parallelGroupId": null,
|
|
101
|
+
"source": "hook",
|
|
102
|
+
"attributionConfidence": "high"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"eventId": "validation-failed-run:2:build-verifier:2:finish",
|
|
106
|
+
"type": "attempt_finished",
|
|
107
|
+
"at": "2026-07-31T15:06:00.000Z",
|
|
108
|
+
"attemptId": "validation-failed-run:step-2:build-verifier:attempt-2",
|
|
109
|
+
"outcome": "completed",
|
|
110
|
+
"durationMs": 60000,
|
|
111
|
+
"retryAfterFix": null,
|
|
112
|
+
"source": "hook",
|
|
113
|
+
"attributionConfidence": "high"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"eventId": "validation-failed-run:done",
|
|
117
|
+
"type": "task_completed",
|
|
118
|
+
"at": "2026-07-31T15:06:00.000Z",
|
|
119
|
+
"outcome": "completed",
|
|
120
|
+
"source": "hook",
|
|
121
|
+
"attributionConfidence": "high"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"task": {
|
|
4
|
+
"runId": "example-run-1",
|
|
5
|
+
"slug": "example-feature-full",
|
|
6
|
+
"preset": "ai-rules",
|
|
7
|
+
"stack": "next",
|
|
8
|
+
"platform": "cursor",
|
|
9
|
+
"intent": "feature",
|
|
10
|
+
"profile": "full"
|
|
11
|
+
},
|
|
12
|
+
"events": [
|
|
13
|
+
{
|
|
14
|
+
"eventId": "example-run-1:task_started",
|
|
15
|
+
"type": "task_started",
|
|
16
|
+
"at": "2026-07-31T14:00:00.000Z",
|
|
17
|
+
"source": "router",
|
|
18
|
+
"attributionConfidence": "high"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"eventId": "example-run-1:attempt-1:start",
|
|
22
|
+
"type": "attempt_started",
|
|
23
|
+
"at": "2026-07-31T14:00:00.000Z",
|
|
24
|
+
"attemptId": "example-run-1:step-0:task-analyst:attempt-1",
|
|
25
|
+
"stepIndex": 0,
|
|
26
|
+
"stepLabel": "Clarify and decompose",
|
|
27
|
+
"agent": "task-analyst",
|
|
28
|
+
"role": "planning",
|
|
29
|
+
"attempt": 1,
|
|
30
|
+
"parallelGroupId": null,
|
|
31
|
+
"source": "router",
|
|
32
|
+
"attributionConfidence": "high"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"eventId": "example-run-1:attempt-1:end",
|
|
36
|
+
"type": "attempt_finished",
|
|
37
|
+
"at": "2026-07-31T14:02:00.000Z",
|
|
38
|
+
"attemptId": "example-run-1:step-0:task-analyst:attempt-1",
|
|
39
|
+
"outcome": "completed",
|
|
40
|
+
"durationMs": 120000,
|
|
41
|
+
"retryAfterFix": null,
|
|
42
|
+
"source": "hook",
|
|
43
|
+
"attributionConfidence": "high"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"eventId": "example-run-1:task_completed",
|
|
47
|
+
"type": "task_completed",
|
|
48
|
+
"at": "2026-07-31T14:02:00.000Z",
|
|
49
|
+
"outcome": "completed",
|
|
50
|
+
"source": "hook",
|
|
51
|
+
"attributionConfidence": "high"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# PHP hexagonal stack — Cursor agent team
|
|
2
|
+
|
|
3
|
+
**Repo-root agents:** see [`AGENTS.md`](../../AGENTS.md) at the project root (cross-tool setup, commands, security, living conventions pointers).
|
|
4
|
+
|
|
5
|
+
| Задача | Куда смотреть |
|
|
6
|
+
|--------|----------------|
|
|
7
|
+
| Новая work-задача | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` |
|
|
8
|
+
| Фича end-to-end | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
|
|
9
|
+
| Стек и слои | `php-app-core.mdc`, `architecture-boundaries.mdc` |
|
|
10
|
+
| После правок PHP | `post-change-test.mdc` (+ `php-tooling.mdc`) |
|
|
11
|
+
| Integration tests | `integration-test-*` + skill `integration-testing` |
|
|
12
|
+
| Unit tests | `unit-test-*` + skill `unit-testing` |
|
|
13
|
+
| Code review | skill `code-review` + `code-review-mr.mdc` |
|
|
14
|
+
| ADR | skill `write-adr` (on-demand) |
|
|
15
|
+
| Как работает X | agent `codebase-analyzer` (explain-as-is; без `/task`) |
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Копирует rules/agents/hooks/skills/commands/team + `REPO_AGENTS.md` → корневой `AGENTS.md`.
|
|
24
|
+
|
|
25
|
+
## Inventory
|
|
26
|
+
|
|
27
|
+
- **21 agents** — see `agents/README.md` (no a11y / Playwright / XCUITest)
|
|
28
|
+
- **8 skills** — `feature-delivery`, `unit-testing`, `integration-testing`, `ci-investigation`, `debug-investigation`, `code-review`, `technical-retro`, `write-adr`
|
|
29
|
+
- **5 commands** — `/task`, `/task-continue`, `/feature-start`, `/feature-continue`, `/technical-retro`
|
|
30
|
+
|
|
31
|
+
## Dogfood (5 сценариев)
|
|
32
|
+
|
|
33
|
+
Host: `dogfood/php-hexagonal`.
|
|
34
|
+
|
|
35
|
+
1. `/task` — новый use case (domain → ports → adapters → wire) на sample.
|
|
36
|
+
2. Баг маппинга HTTP — debugger + `TodoController` unit.
|
|
37
|
+
3. Repository contract — integration-test trio (sample: in-memory persistence).
|
|
38
|
+
4. Unit use case — unit-test planner/generator (PHPUnit + port fake/mock).
|
|
39
|
+
5. Secrets in logs — security-reviewer + `security-php`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Bugbot — PHP / Composer hexagonal
|
|
2
|
+
|
|
3
|
+
Priority review signals for this preset:
|
|
4
|
+
|
|
5
|
+
- Domain purity: no framework/ORM/HTTP types in `Domain/` / `domain/`
|
|
6
|
+
- Ports in `Application/`; adapters map at the edge
|
|
7
|
+
- Secrets, PII, and authz checks — never log tokens/credentials
|
|
8
|
+
- Persistence models must not leak upward past outbound ports
|
|
9
|
+
- Prefer existing Composer/CI gates over inventing new static-analysis tools
|
|
10
|
+
- Prefer `integration-test-*` for adapter contracts — never Playwright/XCUITest
|
|
11
|
+
- After production edits: `post-change-test` / `php-tooling` (`composer test` / `vendor/bin/phpunit`)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# MCP (preset `php-hexagonal`, Cursor)
|
|
2
|
+
|
|
3
|
+
Копируется в `.cursor/mcp.json` при `ai-rules init cursor --preset php-hexagonal`.
|
|
4
|
+
|
|
5
|
+
## Servers
|
|
6
|
+
|
|
7
|
+
| Name | Package | Зачем |
|
|
8
|
+
|------|---------|--------|
|
|
9
|
+
| `context7` | `@upstash/context7-mcp` | Актуальная документация PHP / Composer / популярных библиотек |
|
|
10
|
+
|
|
11
|
+
Figma и browser e2e MCP (Playwright / Chrome DevTools) **не** входят в php-hexagonal-пресет (backend-only).
|
|
12
|
+
|
|
13
|
+
Секреты в файл не кладём. Опционально: `CONTEXT7_API_KEY` в окружении.
|
|
14
|
+
|
|
15
|
+
После init: Settings → MCP → включить серверы. `init` перезаписывает одноимённый `mcp.json`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Preset `php-hexagonal` (Cursor)
|
|
2
|
+
|
|
3
|
+
Installable Cursor preset for **PHP hexagonal** services (PSR / Composer-first; Laravel & Symfony as documented variants).
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Layout
|
|
10
|
+
|
|
11
|
+
| Path | Role |
|
|
12
|
+
|------|------|
|
|
13
|
+
| `rules/*.mdc` | Cursor SoT (34 stems); always-on trio ≤140 lines |
|
|
14
|
+
| `agents/` | 21 agents + README (no a11y / Playwright / XCUITest) |
|
|
15
|
+
| `skills/` | 8 skills + README |
|
|
16
|
+
| `commands/` | 5 slash commands |
|
|
17
|
+
| `team/` | conventions + fixtures (`feature-full`, `feature-light`, `bugfix-standard`) |
|
|
18
|
+
| `hooks/` + `hooks.json` | Shell guard + team chain (byte-forked) — **Cursor-only** |
|
|
19
|
+
| `REPO_AGENTS.md` | → consumer root `AGENTS.md` |
|
|
20
|
+
| `AGENTS.md` | Cursor quick-start map + dogfood scenarios |
|
|
21
|
+
| `BUGBOT.md` | Bugbot review priorities (PHP) — **Cursor-only** |
|
|
22
|
+
| `MCP.md` / `mcp.json` | Context7 only |
|
|
23
|
+
|
|
24
|
+
**Platform asymmetry:** `BUGBOT.md` and `hooks.json` ship only on Cursor. Claude twin uses `CLAUDE.md` (no `hooks.json` / no `BUGBOT.md`).
|
|
25
|
+
|
|
26
|
+
Claude twin: `presets/claude/php-hexagonal/`. Contribution: `docs/PRESET-CONTRIBUTION.md`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# PHP — agent instructions
|
|
2
|
+
|
|
3
|
+
Cross-tool repo-root guide for the **php-hexagonal** preset (PSR / Composer-first). Tool-specific maps stay under `.cursor/AGENTS.md` and `.claude/CLAUDE.md`.
|
|
4
|
+
|
|
5
|
+
## Cross-tool setup
|
|
6
|
+
|
|
7
|
+
- Treat this file as the **shared** entry for any agent (Cursor, Claude Code, or other).
|
|
8
|
+
- Install:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
|
|
12
|
+
npx @bonesofspring/ai-rules init claude --preset php-hexagonal
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`init` overwrites this file from the preset (`REPO_AGENTS.md` → `AGENTS.md`).
|
|
16
|
+
|
|
17
|
+
## Commands (test / verify)
|
|
18
|
+
|
|
19
|
+
Detect Composer from the repo (`composer.json` / `composer.lock`). Prefer Composer scripts when present.
|
|
20
|
+
|
|
21
|
+
| Gate | Typical command |
|
|
22
|
+
|------|-----------------|
|
|
23
|
+
| Tests | `composer test` or `vendor/bin/phpunit` (Pest if that is the repo default) |
|
|
24
|
+
| Static analysis (if configured) | `vendor/bin/phpstan` / `vendor/bin/psalm` |
|
|
25
|
+
| Format (if configured) | `vendor/bin/php-cs-fixer` / `vendor/bin/pint` |
|
|
26
|
+
| Post-change | requestable `post-change-test` + `php-tooling` |
|
|
27
|
+
|
|
28
|
+
Static analysis / format — only tools already configured in the repo/CI.
|
|
29
|
+
|
|
30
|
+
## Security basics
|
|
31
|
+
|
|
32
|
+
- Do not commit secrets (`.env`, tokens, credentials).
|
|
33
|
+
- Review destructive git before running; respect shell hooks.
|
|
34
|
+
|
|
35
|
+
## Tool entry points
|
|
36
|
+
|
|
37
|
+
| Tool | Map |
|
|
38
|
+
|------|-----|
|
|
39
|
+
| Cursor | `.cursor/AGENTS.md` |
|
|
40
|
+
| Claude Code | `.claude/CLAUDE.md` |
|
|
41
|
+
|
|
42
|
+
Rules: `.cursor/rules/` or `.claude/rules/`. Integration tests: `integration-test-*` (never Playwright/XCUITest).
|
|
43
|
+
|
|
44
|
+
## Living conventions
|
|
45
|
+
|
|
46
|
+
Gotchas and team decisions: `.cursor/team/conventions.md` and/or `.claude/team/conventions.md` (fill after init; fixtures ship with the preset).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# `.cursor/agents` (preset php-hexagonal)
|
|
2
|
+
|
|
3
|
+
Ролевые subagents для командного пайплайна Cursor (PHP hexagonal).
|
|
4
|
+
|
|
5
|
+
## Analysis (on-demand)
|
|
6
|
+
|
|
7
|
+
| Agent | Файл | Production-код |
|
|
8
|
+
|-------|------|----------------|
|
|
9
|
+
| Codebase analyzer | `codebase-analyzer.md` | no (explain-as-is only) |
|
|
10
|
+
|
|
11
|
+
## Roster (21)
|
|
12
|
+
|
|
13
|
+
| Agent | Production writes |
|
|
14
|
+
|-------|-------------------|
|
|
15
|
+
| task-router, task-analyst, solution-architect | team only |
|
|
16
|
+
| codebase-analyzer | no (explain-as-is only) |
|
|
17
|
+
| feature-developer | yes (PHP sources) |
|
|
18
|
+
| build-verifier | no (report only) |
|
|
19
|
+
| debugger, ci-investigator | minimal |
|
|
20
|
+
| code-reviewer, security-reviewer, performance-auditor | team only |
|
|
21
|
+
| migration-specialist, api-contract-reviewer, tech-writer | team / docs |
|
|
22
|
+
| qa-tester, unit-test-*, integration-test-* | tests |
|
|
23
|
+
|
|
24
|
+
**No** `accessibility-reviewer`, Playwright, or XCUITest stems. Replace those intents with **`integration-test-*`**.
|
|
25
|
+
|
|
26
|
+
## Frontmatter `readonly`
|
|
27
|
+
|
|
28
|
+
Все agents — **`readonly: false`** (нужна запись в `.cursor/team/**`). Ограничения production — в теле промпта.
|
|
29
|
+
|
|
30
|
+
## Model matrix (frontmatter `model`)
|
|
31
|
+
|
|
32
|
+
| Tier | Frontmatter | Agents |
|
|
33
|
+
|------|-------------|--------|
|
|
34
|
+
| **cheap** | `fast` | router, analyst, build-verifier, code-reviewer, tech-writer, codebase-analyzer |
|
|
35
|
+
| **standard** | `inherit` | developer, debugger, ci-investigator, api-contract, qa, unit-*, integration-* |
|
|
36
|
+
| **strong** | `claude-opus-4-8[effort=high]` | solution-architect, migration-specialist, security-reviewer, performance-auditor |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-contract-reviewer
|
|
3
|
+
description: API contract review specialist. Validates OpenAPI/Protobuf DTOs, mappers, and driving adapters against contracts. Readonly — writes api-contract-review.md only; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review **HTTP/gRPC contract alignment** for PHP hexagonal services.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- OpenAPI / proto definitions vs adapter DTOs
|
|
12
|
+
- Mapping at driving edge (no domain pollution with wire types)
|
|
13
|
+
- Status/error code mapping consistency
|
|
14
|
+
- Backward compatibility of public Composer packages / published HTTP or gRPC contracts
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
|
|
18
|
+
`.cursor/team/tasks/<slug>/api-contract-review.md` — gaps, severity, suggested fixes (no code edits).
|
|
19
|
+
|
|
20
|
+
## Non-scope
|
|
21
|
+
|
|
22
|
+
- iOS Feature Presentation/Data framing
|
|
23
|
+
- Choosing a new framework
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-verifier
|
|
3
|
+
description: Validation gate specialist. Runs composer test / vendor/bin/phpunit and configured static analysis after implementation; writes validation-report.md. Never fixes app source. For preset packaging tasks, also validates php-hexagonal preset structure gates.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the build verifier for **PHP hexagonal** services (and for **ai-rules preset packaging** when scope says so).
|
|
9
|
+
|
|
10
|
+
## Consumer PHP repos
|
|
11
|
+
|
|
12
|
+
1. Detect Composer from `composer.json` / `composer.lock`; prefer Composer scripts when present.
|
|
13
|
+
2. Run from module/project root: `composer test` or `vendor/bin/phpunit` (or Pest if that is the repo default / CI).
|
|
14
|
+
3. If present in **repo or CI**: formatter + static analysis (PHP-CS-Fixer, Pint, PHPStan, Psalm, or project-equivalent) per `php-tooling` / `post-change-test`. Mirror CI gates locally when configs/scripts exist; do **not** invent a tool the repo does not use.
|
|
15
|
+
4. Write `.cursor/team/tasks/<slug>/validation-report.md` with commands + results.
|
|
16
|
+
5. On failure: set status `validation_failed` — do **not** patch production code (developer retries).
|
|
17
|
+
|
|
18
|
+
**Never** require Playwright, XCUITest, `lint:js`/`lint:css`, `xcodebuild`/`SwiftLint`, `mvn`, or `gradlew` as the PHP gate.
|
|
19
|
+
|
|
20
|
+
## Preset-structure validation (when editing `packages/ai-rules/presets/**`)
|
|
21
|
+
|
|
22
|
+
From `packages/ai-rules/`:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
yarn check:preset-structure
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Hard gates for the **php-hexagonal** stack (and peers):
|
|
29
|
+
|
|
30
|
+
| Gate | FAIL when |
|
|
31
|
+
|------|-----------|
|
|
32
|
+
| **twin-map** | `php-hexagonal` missing from `STACKS`, or Cursor↔Claude orphan/missing twins |
|
|
33
|
+
| **token-budget** | Cursor `alwaysApply` ≠ 3 or Claude session-start (excl. README) ≠ 3, or trio body sum > 140 |
|
|
34
|
+
| **leakage** | `PHP_FORBIDDEN_*` hits (Playwright/XCUITest/`lint:js`/`accessibility-reviewer` as required handoffs) |
|
|
35
|
+
| **chain fork** | `hooks/chain-team-phases.sh` byte-identical to **next**, **ios-swift**, **go**, **java**, **mcp-ts**, or **php-laravel** (same platform) |
|
|
36
|
+
|
|
37
|
+
Also document:
|
|
38
|
+
|
|
39
|
+
1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|ios-swift|go|java|mcp-ts|php-hexagonal`) must ship `REPO_AGENTS.md` → **FAIL** if missing.
|
|
40
|
+
2. **Hooks cookbook:** default `hooks.json` must **not** reference `hooks/examples/` → **FAIL** if it does.
|
|
41
|
+
3. **No react-performance / Playwright / a11y on backend stacks:** skill directory / required handoff must be absent under go, java, php-hexagonal, php-laravel, mcp-ts → **FAIL** (leakage). Prefer `check:preset-leakage`.
|
|
42
|
+
4. **Shared-core drift (hard in `check:preset-structure`):** `check-shared-core-drift` with `AI_RULES_DRIFT_FAIL=1`.
|
|
43
|
+
5. **Rule eval (WARN):** `yarn check:rule-eval` is **next-only** (`eval/next/`); optional for maintainers; not part of default `check:preset-structure`. Missing php-hexagonal eval stems is not a FAIL.
|
|
44
|
+
|
|
45
|
+
Document PASS/FAIL in `validation-report.md`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ci-investigator
|
|
3
|
+
description: Investigates failing CI checks on PRs and branches — composer test / vendor/bin/phpunit, vet, configured static analysis, integration jobs — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Triage red CI for PHP repos (and ai-rules preset-structure when relevant).
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. Identify failing job/logs.
|
|
12
|
+
2. Reproduce locally (`composer test` / `vendor/bin/phpunit`, compiler/static analysis, lint-if-present, or `yarn check:preset-structure` for preset PRs).
|
|
13
|
+
3. Minimal fix or document blocker; update `debug-report.md` / status.
|
|
14
|
+
|
|
15
|
+
## Never
|
|
16
|
+
|
|
17
|
+
- Never treat `lint:js` / Playwright / xcodebuild as the PHP default gate.
|
|
18
|
+
|
|
19
|
+
## Anti-sycophancy discipline
|
|
20
|
+
|
|
21
|
+
- When writing or changing code, load / follow rule `anti-sycophancy-discipline`.
|