@bonesofspring/ai-rules 0.2.26 → 0.2.28
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 +12 -0
- package/LICENSE +21 -0
- package/README.md +1 -1
- package/bin/cli.js +275 -46
- package/bin/lib/safe-path.js +93 -0
- package/bin/lib/seed-ai-local-team.js +48 -5
- package/bin/mavis-install.js +35 -8
- package/bin/opencode-install.js +92 -11
- package/docs/LOCAL-OVERLAY.md +186 -0
- package/docs/MAVIS-COMPATIBILITY.md +174 -0
- package/docs/MAVIS.md +120 -0
- package/docs/OPENCODE-COMPATIBILITY.md +54 -0
- package/docs/OPENCODE.md +133 -0
- package/docs/PRESET-CONTRIBUTION.md +431 -0
- package/docs/PRESET-ENGLISH-STYLE.md +91 -0
- package/docs/specs/INDEX.md +9 -0
- package/docs/specs/_templates/feature.md +32 -0
- package/docs/specs/_templates/page.md +47 -0
- package/package.json +7 -1
- package/presets/_shared/core/meta/preset-layering.md +1 -1
- package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
- package/presets/_shared/core/meta/preset-token-budget.md +10 -10
- package/presets/_shared/core/quality/code-quality-and-refactoring.md +6 -0
- package/presets/claude/android-kotlin/CLAUDE.md +12 -0
- package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +15 -0
- package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +16 -1
- package/presets/claude/android-kotlin/agents/build-verifier.md +19 -2
- package/presets/claude/android-kotlin/agents/ci-investigator.md +25 -0
- package/presets/claude/android-kotlin/agents/code-reviewer.md +16 -0
- package/presets/claude/android-kotlin/agents/codebase-analyzer.md +15 -0
- package/presets/claude/android-kotlin/agents/debugger.md +25 -0
- package/presets/claude/android-kotlin/agents/feature-developer.md +25 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-generator.md +16 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-healer.md +16 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-planner.md +16 -0
- package/presets/claude/android-kotlin/agents/migration-specialist.md +15 -0
- package/presets/claude/android-kotlin/agents/mockup-reviewer.md +15 -0
- package/presets/claude/android-kotlin/agents/openspec-author.md +15 -0
- package/presets/claude/android-kotlin/agents/performance-auditor.md +15 -0
- package/presets/claude/android-kotlin/agents/qa-tester.md +17 -0
- package/presets/claude/android-kotlin/agents/security-reviewer.md +15 -0
- package/presets/claude/android-kotlin/agents/solution-architect.md +15 -0
- package/presets/claude/android-kotlin/agents/task-analyst.md +15 -0
- package/presets/claude/android-kotlin/agents/task-router.md +15 -0
- package/presets/claude/android-kotlin/agents/tech-writer.md +15 -1
- package/presets/claude/android-kotlin/agents/unit-test-generator.md +16 -0
- package/presets/claude/android-kotlin/agents/unit-test-healer.md +16 -0
- package/presets/claude/android-kotlin/agents/unit-test-planner.md +16 -0
- package/presets/claude/android-kotlin/commands/task.md +1 -1
- package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/android-kotlin/hooks/examples/README.md +5 -3
- package/presets/claude/android-kotlin/hooks/examples/test-on-save.example.sh +6 -4
- package/presets/claude/android-kotlin/rules/README.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +1 -1
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/compose.md +2 -0
- package/presets/claude/android-kotlin/settings.json +10 -0
- package/presets/claude/go/CLAUDE.md +13 -1
- package/presets/claude/go/agents/api-contract-reviewer.md +17 -0
- package/presets/claude/go/agents/build-verifier.md +18 -1
- package/presets/claude/go/agents/ci-investigator.md +29 -0
- package/presets/claude/go/agents/code-reviewer.md +16 -0
- package/presets/claude/go/agents/codebase-analyzer.md +15 -0
- package/presets/claude/go/agents/debugger.md +29 -0
- package/presets/claude/go/agents/feature-developer.md +29 -0
- package/presets/claude/go/agents/integration-test-generator.md +17 -0
- package/presets/claude/go/agents/integration-test-healer.md +17 -0
- package/presets/claude/go/agents/integration-test-planner.md +17 -0
- package/presets/claude/go/agents/migration-specialist.md +15 -0
- package/presets/claude/go/agents/openspec-author.md +15 -0
- package/presets/claude/go/agents/performance-auditor.md +15 -0
- package/presets/claude/go/agents/qa-tester.md +18 -0
- package/presets/claude/go/agents/security-reviewer.md +15 -0
- package/presets/claude/go/agents/solution-architect.md +15 -0
- package/presets/claude/go/agents/task-analyst.md +15 -0
- package/presets/claude/go/agents/task-router.md +15 -0
- package/presets/claude/go/agents/tech-writer.md +15 -1
- package/presets/claude/go/agents/unit-test-generator.md +16 -0
- package/presets/claude/go/agents/unit-test-healer.md +16 -0
- package/presets/claude/go/agents/unit-test-planner.md +16 -0
- package/presets/claude/go/commands/task.md +1 -1
- package/presets/claude/go/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/go/hooks/examples/README.md +5 -3
- package/presets/claude/go/rules/README.md +1 -1
- package/presets/claude/go/rules/api-and-data/adapters-driven.md +3 -3
- package/presets/claude/go/rules/api-and-data/adapters-driving.md +2 -2
- package/presets/claude/go/rules/api-and-data/api-grpc.md +2 -2
- package/presets/claude/go/rules/api-and-data/api-http.md +3 -3
- package/presets/claude/go/rules/api-and-data/messaging-adapters.md +1 -1
- package/presets/claude/go/rules/api-and-data/persistence-adapters.md +2 -2
- package/presets/claude/go/rules/architecture/application-usecases.md +1 -1
- package/presets/claude/go/rules/architecture/domain-layer.md +1 -1
- package/presets/claude/go/rules/architecture/feature-delivery.md +1 -1
- package/presets/claude/go/rules/architecture/ports-interfaces.md +2 -2
- package/presets/claude/go/rules/stack/go-conventions.md +1 -1
- package/presets/claude/go/rules/testing/e2e.md +2 -2
- package/presets/claude/go/rules/testing/integration.md +2 -2
- package/presets/claude/go/rules/testing/unit.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/go/rules/tooling-and-review/code-review.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/go-tooling.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +10 -10
- package/presets/claude/go/rules/tooling-and-review/security-go.md +3 -3
- package/presets/claude/go/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/go/settings.json +10 -0
- package/presets/claude/ios-swift/CLAUDE.md +12 -0
- package/presets/claude/ios-swift/agents/accessibility-reviewer.md +15 -0
- package/presets/claude/ios-swift/agents/api-contract-reviewer.md +16 -0
- package/presets/claude/ios-swift/agents/build-verifier.md +20 -3
- package/presets/claude/ios-swift/agents/ci-investigator.md +24 -0
- package/presets/claude/ios-swift/agents/code-reviewer.md +16 -0
- package/presets/claude/ios-swift/agents/codebase-analyzer.md +15 -0
- package/presets/claude/ios-swift/agents/debugger.md +24 -0
- package/presets/claude/ios-swift/agents/feature-developer.md +24 -0
- package/presets/claude/ios-swift/agents/migration-specialist.md +15 -0
- package/presets/claude/ios-swift/agents/mockup-reviewer.md +15 -0
- package/presets/claude/ios-swift/agents/openspec-author.md +15 -0
- package/presets/claude/ios-swift/agents/performance-auditor.md +15 -0
- package/presets/claude/ios-swift/agents/qa-tester.md +17 -0
- package/presets/claude/ios-swift/agents/security-reviewer.md +15 -0
- package/presets/claude/ios-swift/agents/solution-architect.md +15 -0
- package/presets/claude/ios-swift/agents/task-analyst.md +15 -0
- package/presets/claude/ios-swift/agents/task-router.md +15 -0
- package/presets/claude/ios-swift/agents/tech-writer.md +15 -1
- package/presets/claude/ios-swift/agents/unit-test-generator.md +16 -0
- package/presets/claude/ios-swift/agents/unit-test-healer.md +16 -0
- package/presets/claude/ios-swift/agents/unit-test-planner.md +16 -0
- package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +16 -0
- package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +16 -0
- package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +16 -0
- package/presets/claude/ios-swift/commands/task.md +1 -1
- package/presets/claude/ios-swift/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/ios-swift/hooks/examples/README.md +5 -3
- package/presets/claude/ios-swift/rules/README.md +1 -1
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +3 -3
- package/presets/claude/ios-swift/rules/architecture/reference-features.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +1 -1
- package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +7 -0
- package/presets/claude/ios-swift/settings.json +10 -0
- package/presets/claude/java/CLAUDE.md +14 -2
- package/presets/claude/java/agents/api-contract-reviewer.md +17 -0
- package/presets/claude/java/agents/build-verifier.md +18 -1
- package/presets/claude/java/agents/ci-investigator.md +29 -0
- package/presets/claude/java/agents/code-reviewer.md +16 -0
- package/presets/claude/java/agents/codebase-analyzer.md +15 -0
- package/presets/claude/java/agents/debugger.md +29 -0
- package/presets/claude/java/agents/feature-developer.md +29 -0
- package/presets/claude/java/agents/integration-test-generator.md +17 -0
- package/presets/claude/java/agents/integration-test-healer.md +17 -0
- package/presets/claude/java/agents/integration-test-planner.md +17 -0
- package/presets/claude/java/agents/migration-specialist.md +15 -0
- package/presets/claude/java/agents/openspec-author.md +15 -0
- package/presets/claude/java/agents/performance-auditor.md +15 -0
- package/presets/claude/java/agents/qa-tester.md +18 -0
- package/presets/claude/java/agents/security-reviewer.md +15 -0
- package/presets/claude/java/agents/solution-architect.md +15 -0
- package/presets/claude/java/agents/task-analyst.md +15 -0
- package/presets/claude/java/agents/task-router.md +15 -0
- package/presets/claude/java/agents/tech-writer.md +15 -1
- package/presets/claude/java/agents/unit-test-generator.md +16 -0
- package/presets/claude/java/agents/unit-test-healer.md +16 -0
- package/presets/claude/java/agents/unit-test-planner.md +16 -0
- package/presets/claude/java/commands/task.md +1 -1
- package/presets/claude/java/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/java/hooks/examples/README.md +5 -3
- package/presets/claude/java/rules/README.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/java/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +10 -10
- package/presets/claude/java/settings.json +10 -0
- package/presets/claude/mcp-ts/CLAUDE.md +13 -1
- package/presets/claude/mcp-ts/agents/build-verifier.md +18 -1
- package/presets/claude/mcp-ts/agents/feature-developer.md +22 -0
- package/presets/claude/mcp-ts/agents/security-reviewer.md +15 -0
- package/presets/claude/mcp-ts/agents/solution-architect.md +15 -1
- package/presets/claude/mcp-ts/agents/task-analyst.md +15 -0
- package/presets/claude/mcp-ts/agents/task-router.md +15 -0
- package/presets/claude/mcp-ts/commands/task.md +1 -1
- package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/mcp-ts/rules/README.md +1 -1
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-auth-secrets.md +4 -4
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-contract-testing.md +2 -2
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-tool-design.md +1 -1
- package/presets/claude/mcp-ts/rules/api-and-data/mcp-transport-packaging.md +2 -2
- package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +1 -1
- package/presets/claude/mcp-ts/rules/testing/unit.md +2 -2
- package/presets/claude/mcp-ts/rules/tooling-and-review/anti-sycophancy-discipline.md +2 -2
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/mcp-ts-tooling.md +3 -3
- package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +1 -1
- 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-token-budget.md +10 -10
- package/presets/claude/mcp-ts/rules/tooling-and-review/security-mcp.md +1 -1
- package/presets/claude/mcp-ts/settings.json +10 -0
- package/presets/claude/next/CLAUDE.md +12 -0
- package/presets/claude/next/README.md +1 -1
- package/presets/claude/next/agents/accessibility-reviewer.md +17 -0
- package/presets/claude/next/agents/api-contract-reviewer.md +19 -0
- package/presets/claude/next/agents/build-verifier.md +19 -2
- package/presets/claude/next/agents/ci-investigator.md +34 -0
- package/presets/claude/next/agents/code-reviewer.md +18 -0
- package/presets/claude/next/agents/codebase-analyzer.md +17 -0
- package/presets/claude/next/agents/debugger.md +34 -0
- package/presets/claude/next/agents/feature-developer.md +34 -0
- package/presets/claude/next/agents/migration-specialist.md +17 -0
- package/presets/claude/next/agents/mockup-reviewer.md +17 -0
- package/presets/claude/next/agents/openspec-author.md +17 -0
- package/presets/claude/next/agents/performance-auditor.md +17 -0
- package/presets/claude/next/agents/playwright-test-generator.md +19 -0
- package/presets/claude/next/agents/playwright-test-healer.md +19 -1
- package/presets/claude/next/agents/playwright-test-planner.md +20 -1
- package/presets/claude/next/agents/qa-tester.md +20 -0
- package/presets/claude/next/agents/security-reviewer.md +17 -0
- package/presets/claude/next/agents/solution-architect.md +17 -0
- package/presets/claude/next/agents/task-analyst.md +17 -0
- package/presets/claude/next/agents/task-router.md +17 -0
- package/presets/claude/next/agents/tech-writer.md +17 -0
- package/presets/claude/next/agents/unit-test-generator.md +18 -0
- package/presets/claude/next/agents/unit-test-healer.md +18 -0
- package/presets/claude/next/agents/unit-test-planner.md +18 -0
- package/presets/claude/next/commands/task.md +1 -1
- package/presets/claude/next/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/next/hooks/examples/README.md +5 -3
- package/presets/claude/next/rules/README.md +1 -1
- package/presets/claude/next/rules/api-and-data/api-services.md +6 -4
- package/presets/claude/next/rules/api-and-data/store-rtk.md +6 -5
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +4 -0
- package/presets/claude/next/rules/architecture/reference-features.md +1 -1
- package/presets/claude/next/rules/stack/next-app-core.md +2 -1
- package/presets/claude/next/rules/testing/tests-unit.md +1 -0
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +1 -1
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +37 -1
- package/presets/claude/next/settings.json +16 -0
- package/presets/claude/next/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/claude/next/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/claude/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/claude/next/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/claude/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/claude/next/team/fixtures/metrics.example.json +54 -0
- package/presets/claude/nuxt/CLAUDE.md +12 -0
- package/presets/claude/nuxt/agents/accessibility-reviewer.md +17 -0
- package/presets/claude/nuxt/agents/api-contract-reviewer.md +19 -0
- package/presets/claude/nuxt/agents/build-verifier.md +19 -2
- package/presets/claude/nuxt/agents/ci-investigator.md +34 -0
- package/presets/claude/nuxt/agents/code-reviewer.md +18 -0
- package/presets/claude/nuxt/agents/codebase-analyzer.md +17 -0
- package/presets/claude/nuxt/agents/debugger.md +34 -0
- package/presets/claude/nuxt/agents/feature-developer.md +34 -0
- package/presets/claude/nuxt/agents/migration-specialist.md +17 -0
- package/presets/claude/nuxt/agents/mockup-reviewer.md +17 -0
- package/presets/claude/nuxt/agents/openspec-author.md +17 -0
- package/presets/claude/nuxt/agents/performance-auditor.md +17 -0
- package/presets/claude/nuxt/agents/playwright-test-generator.md +19 -0
- package/presets/claude/nuxt/agents/playwright-test-healer.md +19 -1
- package/presets/claude/nuxt/agents/playwright-test-planner.md +20 -1
- package/presets/claude/nuxt/agents/qa-tester.md +20 -0
- package/presets/claude/nuxt/agents/security-reviewer.md +17 -0
- package/presets/claude/nuxt/agents/solution-architect.md +17 -0
- package/presets/claude/nuxt/agents/task-analyst.md +17 -0
- package/presets/claude/nuxt/agents/task-router.md +17 -0
- package/presets/claude/nuxt/agents/tech-writer.md +17 -0
- package/presets/claude/nuxt/agents/unit-test-generator.md +18 -0
- package/presets/claude/nuxt/agents/unit-test-healer.md +18 -0
- package/presets/claude/nuxt/agents/unit-test-planner.md +18 -0
- package/presets/claude/nuxt/commands/task.md +1 -1
- package/presets/claude/nuxt/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/nuxt/hooks/examples/README.md +5 -3
- package/presets/claude/nuxt/hooks/examples/format-edited.example.sh +8 -7
- package/presets/claude/nuxt/hooks/examples/test-on-save.example.sh +8 -3
- package/presets/claude/nuxt/rules/README.md +1 -1
- package/presets/claude/nuxt/rules/architecture/layer-barrel-exports.md +1 -1
- package/presets/claude/nuxt/rules/architecture/reference-features.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +1 -1
- package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +7 -0
- package/presets/claude/nuxt/settings.json +16 -0
- package/presets/claude/nuxt/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/claude/nuxt/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/claude/nuxt/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/claude/nuxt/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/claude/nuxt/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/claude/nuxt/team/fixtures/metrics.example.json +54 -0
- package/presets/claude/php-hexagonal/CLAUDE.md +14 -2
- package/presets/claude/php-hexagonal/agents/api-contract-reviewer.md +17 -0
- package/presets/claude/php-hexagonal/agents/build-verifier.md +18 -1
- package/presets/claude/php-hexagonal/agents/ci-investigator.md +29 -0
- package/presets/claude/php-hexagonal/agents/code-reviewer.md +16 -0
- package/presets/claude/php-hexagonal/agents/codebase-analyzer.md +15 -0
- package/presets/claude/php-hexagonal/agents/debugger.md +29 -0
- package/presets/claude/php-hexagonal/agents/feature-developer.md +29 -0
- package/presets/claude/php-hexagonal/agents/integration-test-generator.md +17 -0
- package/presets/claude/php-hexagonal/agents/integration-test-healer.md +17 -0
- package/presets/claude/php-hexagonal/agents/integration-test-planner.md +17 -0
- package/presets/claude/php-hexagonal/agents/migration-specialist.md +15 -0
- package/presets/claude/php-hexagonal/agents/openspec-author.md +15 -0
- package/presets/claude/php-hexagonal/agents/performance-auditor.md +15 -0
- package/presets/claude/php-hexagonal/agents/qa-tester.md +18 -0
- package/presets/claude/php-hexagonal/agents/security-reviewer.md +15 -0
- package/presets/claude/php-hexagonal/agents/solution-architect.md +15 -0
- package/presets/claude/php-hexagonal/agents/task-analyst.md +15 -0
- package/presets/claude/php-hexagonal/agents/task-router.md +15 -0
- package/presets/claude/php-hexagonal/agents/tech-writer.md +15 -1
- package/presets/claude/php-hexagonal/agents/unit-test-generator.md +16 -0
- package/presets/claude/php-hexagonal/agents/unit-test-healer.md +16 -0
- package/presets/claude/php-hexagonal/agents/unit-test-planner.md +16 -0
- package/presets/claude/php-hexagonal/commands/task.md +1 -1
- package/presets/claude/php-hexagonal/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/php-hexagonal/hooks/examples/README.md +5 -3
- package/presets/claude/php-hexagonal/rules/README.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +10 -10
- package/presets/claude/php-hexagonal/settings.json +10 -0
- package/presets/claude/php-laravel/CLAUDE.md +12 -0
- package/presets/claude/php-laravel/agents/api-contract-reviewer.md +18 -0
- package/presets/claude/php-laravel/agents/build-verifier.md +18 -1
- package/presets/claude/php-laravel/agents/ci-investigator.md +29 -0
- package/presets/claude/php-laravel/agents/code-reviewer.md +16 -0
- package/presets/claude/php-laravel/agents/codebase-analyzer.md +15 -0
- package/presets/claude/php-laravel/agents/debugger.md +29 -0
- package/presets/claude/php-laravel/agents/feature-developer.md +29 -0
- package/presets/claude/php-laravel/agents/integration-test-generator.md +17 -0
- package/presets/claude/php-laravel/agents/integration-test-healer.md +17 -0
- package/presets/claude/php-laravel/agents/integration-test-planner.md +17 -0
- package/presets/claude/php-laravel/agents/migration-specialist.md +15 -0
- package/presets/claude/php-laravel/agents/openspec-author.md +15 -0
- package/presets/claude/php-laravel/agents/performance-auditor.md +15 -0
- package/presets/claude/php-laravel/agents/qa-tester.md +18 -0
- package/presets/claude/php-laravel/agents/security-reviewer.md +15 -0
- package/presets/claude/php-laravel/agents/solution-architect.md +15 -0
- package/presets/claude/php-laravel/agents/task-analyst.md +15 -0
- package/presets/claude/php-laravel/agents/task-router.md +15 -0
- package/presets/claude/php-laravel/agents/tech-writer.md +15 -1
- package/presets/claude/php-laravel/agents/unit-test-generator.md +16 -0
- package/presets/claude/php-laravel/agents/unit-test-healer.md +16 -0
- package/presets/claude/php-laravel/agents/unit-test-planner.md +16 -0
- package/presets/claude/php-laravel/commands/task.md +1 -1
- package/presets/claude/php-laravel/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/php-laravel/hooks/examples/README.md +5 -3
- package/presets/claude/php-laravel/rules/README.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +10 -10
- package/presets/claude/php-laravel/settings.json +10 -0
- package/presets/claude/svelte/CLAUDE.md +12 -0
- package/presets/claude/svelte/agents/accessibility-reviewer.md +17 -0
- package/presets/claude/svelte/agents/api-contract-reviewer.md +19 -0
- package/presets/claude/svelte/agents/build-verifier.md +19 -2
- package/presets/claude/svelte/agents/ci-investigator.md +34 -0
- package/presets/claude/svelte/agents/code-reviewer.md +18 -0
- package/presets/claude/svelte/agents/codebase-analyzer.md +17 -0
- package/presets/claude/svelte/agents/debugger.md +34 -0
- package/presets/claude/svelte/agents/feature-developer.md +34 -0
- package/presets/claude/svelte/agents/migration-specialist.md +17 -0
- package/presets/claude/svelte/agents/mockup-reviewer.md +17 -0
- package/presets/claude/svelte/agents/openspec-author.md +17 -0
- package/presets/claude/svelte/agents/performance-auditor.md +17 -0
- package/presets/claude/svelte/agents/playwright-test-generator.md +19 -0
- package/presets/claude/svelte/agents/playwright-test-healer.md +19 -1
- package/presets/claude/svelte/agents/playwright-test-planner.md +20 -1
- package/presets/claude/svelte/agents/qa-tester.md +20 -0
- package/presets/claude/svelte/agents/security-reviewer.md +17 -0
- package/presets/claude/svelte/agents/solution-architect.md +17 -0
- package/presets/claude/svelte/agents/task-analyst.md +17 -0
- package/presets/claude/svelte/agents/task-router.md +17 -0
- package/presets/claude/svelte/agents/tech-writer.md +17 -0
- package/presets/claude/svelte/agents/unit-test-generator.md +18 -0
- package/presets/claude/svelte/agents/unit-test-healer.md +18 -0
- package/presets/claude/svelte/agents/unit-test-planner.md +18 -0
- package/presets/claude/svelte/commands/task.md +1 -1
- package/presets/claude/svelte/hooks/chain-team-phases.sh +32 -3
- package/presets/claude/svelte/hooks/examples/README.md +5 -3
- package/presets/claude/svelte/rules/README.md +1 -1
- package/presets/claude/svelte/rules/api-and-data/store-svelte.md +1 -1
- package/presets/claude/svelte/rules/architecture/layer-barrel-exports.md +1 -1
- package/presets/claude/svelte/rules/architecture/reference-features.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/svelte/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +1 -1
- package/presets/claude/svelte/rules/ui-and-accessibility/no-rest-props-spread.md +1 -1
- package/presets/claude/svelte/rules/ui-and-accessibility/svelte-ui.md +7 -0
- package/presets/claude/svelte/settings.json +16 -0
- package/presets/claude/svelte/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/claude/svelte/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/claude/svelte/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/claude/svelte/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/claude/svelte/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/claude/svelte/team/fixtures/metrics.example.json +54 -0
- package/presets/cursor/android-kotlin/agents/build-verifier.md +2 -2
- package/presets/cursor/android-kotlin/commands/task.md +1 -1
- package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/android-kotlin/hooks/examples/test-on-save.example.sh +6 -4
- package/presets/cursor/android-kotlin/rules/README.md +1 -1
- package/presets/cursor/android-kotlin/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/android-kotlin/rules/compose-ui.mdc +2 -0
- package/presets/cursor/android-kotlin/rules/preset-layering.mdc +2 -2
- package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +1 -1
- package/presets/cursor/go/README.md +1 -1
- package/presets/cursor/go/agents/build-verifier.md +1 -1
- package/presets/cursor/go/commands/task.md +1 -1
- package/presets/cursor/go/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/go/rules/README.md +2 -2
- package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/go/rules/preset-layering.mdc +1 -1
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/go/rules/preset-token-budget.mdc +10 -10
- package/presets/cursor/ios-swift/README.md +1 -1
- package/presets/cursor/ios-swift/agents/build-verifier.md +3 -3
- package/presets/cursor/ios-swift/commands/task.md +1 -1
- package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/ios-swift/rules/README.md +2 -2
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +2 -2
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +1 -1
- package/presets/cursor/ios-swift/rules/reference-features.mdc +1 -1
- package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +7 -0
- package/presets/cursor/java/AGENTS.md +1 -1
- package/presets/cursor/java/agents/build-verifier.md +1 -1
- package/presets/cursor/java/commands/task.md +1 -1
- package/presets/cursor/java/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/java/rules/README.md +2 -2
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +1 -1
- package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/java/rules/preset-layering.mdc +1 -1
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/java/rules/preset-token-budget.mdc +10 -10
- package/presets/cursor/mcp-ts/agents/build-verifier.md +1 -1
- package/presets/cursor/mcp-ts/commands/task.md +1 -1
- package/presets/cursor/mcp-ts/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/mcp-ts/rules/README.md +2 -2
- package/presets/cursor/mcp-ts/rules/anti-sycophancy-discipline.mdc +2 -2
- package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/mcp-ts/rules/mcp-auth-secrets.mdc +4 -4
- package/presets/cursor/mcp-ts/rules/mcp-contract-testing.mdc +2 -2
- package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/mcp-tool-design.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/mcp-transport-packaging.mdc +2 -2
- package/presets/cursor/mcp-ts/rules/mcp-ts-tooling.mdc +3 -3
- package/presets/cursor/mcp-ts/rules/preset-layering.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +10 -10
- package/presets/cursor/mcp-ts/rules/security-mcp.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/tests-unit.mdc +2 -2
- package/presets/cursor/next/README.md +2 -2
- package/presets/cursor/next/agents/build-verifier.md +2 -2
- package/presets/cursor/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
- package/presets/cursor/next/ai-local/rules-library/commit-hygiene.md +17 -0
- package/presets/cursor/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
- package/presets/cursor/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
- package/presets/cursor/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
- package/presets/cursor/next/ai-local/rules-library/router-pages.md +23 -0
- package/presets/cursor/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
- package/presets/cursor/next/commands/task.md +1 -1
- package/presets/cursor/next/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/next/rules/README.md +1 -1
- package/presets/cursor/next/rules/api-services.mdc +6 -4
- package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/next/rules/next-app-core.mdc +2 -1
- package/presets/cursor/next/rules/preset-layering.mdc +2 -2
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/next/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/next/rules/preset-twin-sync.mdc +1 -1
- package/presets/cursor/next/rules/react-ui.mdc +37 -1
- package/presets/cursor/next/rules/reference-features.mdc +1 -1
- package/presets/cursor/next/rules/store-rtk.mdc +6 -5
- package/presets/cursor/next/rules/tests-unit.mdc +1 -0
- package/presets/cursor/nuxt/README.md +1 -1
- package/presets/cursor/nuxt/agents/build-verifier.md +2 -2
- package/presets/cursor/nuxt/commands/task.md +1 -1
- package/presets/cursor/nuxt/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/nuxt/hooks/examples/format-edited.example.sh +8 -7
- package/presets/cursor/nuxt/hooks/examples/test-on-save.example.sh +8 -3
- package/presets/cursor/nuxt/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/nuxt/rules/design-guidance.mdc +1 -1
- package/presets/cursor/nuxt/rules/layer-barrel-exports.mdc +1 -1
- package/presets/cursor/nuxt/rules/preset-layering.mdc +2 -2
- package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/nuxt/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +1 -1
- package/presets/cursor/nuxt/rules/reference-features.mdc +1 -1
- package/presets/cursor/nuxt/rules/vue-ui.mdc +7 -0
- package/presets/cursor/php-hexagonal/AGENTS.md +1 -1
- package/presets/cursor/php-hexagonal/agents/build-verifier.md +1 -1
- package/presets/cursor/php-hexagonal/commands/task.md +1 -1
- package/presets/cursor/php-hexagonal/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/php-hexagonal/rules/README.md +2 -2
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +10 -10
- package/presets/cursor/php-laravel/AGENTS.md +1 -1
- package/presets/cursor/php-laravel/agents/build-verifier.md +1 -1
- package/presets/cursor/php-laravel/commands/task.md +1 -1
- package/presets/cursor/php-laravel/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/php-laravel/rules/README.md +2 -2
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +1 -1
- package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/php-laravel/rules/preset-layering.mdc +1 -1
- package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +10 -10
- package/presets/cursor/svelte/README.md +1 -1
- package/presets/cursor/svelte/agents/build-verifier.md +2 -2
- package/presets/cursor/svelte/commands/task.md +1 -1
- package/presets/cursor/svelte/hooks/chain-team-phases.sh +32 -3
- package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/svelte/rules/layer-barrel-exports.mdc +1 -1
- package/presets/cursor/svelte/rules/preset-layering.mdc +2 -2
- package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/svelte/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/svelte/rules/preset-twin-sync.mdc +1 -1
- package/presets/cursor/svelte/rules/reference-features.mdc +1 -1
- package/presets/cursor/svelte/rules/svelte-ui.mdc +7 -0
- package/presets/mavis/android-kotlin/MAVIS.md +13 -0
- package/presets/mavis/android-kotlin/adapter-map.json +1 -1
- package/presets/mavis/android-kotlin/agents/accessibility-reviewer.md +15 -0
- package/presets/mavis/android-kotlin/agents/api-contract-reviewer.md +16 -0
- package/presets/mavis/android-kotlin/agents/build-verifier.md +19 -2
- package/presets/mavis/android-kotlin/agents/ci-investigator.md +25 -0
- package/presets/mavis/android-kotlin/agents/code-reviewer.md +16 -0
- package/presets/mavis/android-kotlin/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/android-kotlin/agents/debugger.md +25 -0
- package/presets/mavis/android-kotlin/agents/feature-developer.md +25 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-generator.md +16 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-healer.md +16 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-planner.md +16 -0
- package/presets/mavis/android-kotlin/agents/migration-specialist.md +15 -0
- package/presets/mavis/android-kotlin/agents/mockup-reviewer.md +15 -0
- package/presets/mavis/android-kotlin/agents/openspec-author.md +15 -0
- package/presets/mavis/android-kotlin/agents/performance-auditor.md +15 -0
- package/presets/mavis/android-kotlin/agents/qa-tester.md +17 -0
- package/presets/mavis/android-kotlin/agents/security-reviewer.md +15 -0
- package/presets/mavis/android-kotlin/agents/solution-architect.md +15 -0
- package/presets/mavis/android-kotlin/agents/task-analyst.md +15 -0
- package/presets/mavis/android-kotlin/agents/task-router.md +15 -0
- package/presets/mavis/android-kotlin/agents/tech-writer.md +15 -0
- package/presets/mavis/android-kotlin/agents/unit-test-generator.md +16 -0
- package/presets/mavis/android-kotlin/agents/unit-test-healer.md +16 -0
- package/presets/mavis/android-kotlin/agents/unit-test-planner.md +16 -0
- package/presets/mavis/android-kotlin/commands/spec-start.md +2 -2
- package/presets/mavis/android-kotlin/commands/task.md +6 -6
- package/presets/mavis/android-kotlin/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/android-kotlin/rules/code-quality-and-refactoring.md +14 -0
- package/presets/mavis/android-kotlin/rules/code-review-mr.md +39 -0
- package/presets/mavis/android-kotlin/rules/compose-ui.md +2 -0
- package/presets/mavis/android-kotlin/rules/design-guidance.md +5 -0
- package/presets/mavis/android-kotlin/rules/mcp-usage.md +8 -0
- package/presets/mavis/android-kotlin/rules/mockup-review.md +4 -0
- package/presets/mavis/android-kotlin/rules/preset-layering.md +1 -1
- package/presets/mavis/android-kotlin/rules/preset-no-cross-stack-leakage.md +4 -0
- package/presets/mavis/android-kotlin/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/android-kotlin/rules/preset-token-budget.md +10 -10
- package/presets/mavis/android-kotlin/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/android-kotlin/rules/product-specs.md +5 -0
- package/presets/mavis/android-kotlin/rules/ux-design.md +4 -0
- package/presets/mavis/android-kotlin/skills/debug-investigation/SKILL.md +39 -0
- package/presets/mavis/go/MAVIS.md +13 -0
- package/presets/mavis/go/adapter-map.json +1 -1
- package/presets/mavis/go/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/go/agents/build-verifier.md +18 -1
- package/presets/mavis/go/agents/ci-investigator.md +29 -0
- package/presets/mavis/go/agents/code-reviewer.md +16 -0
- package/presets/mavis/go/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/go/agents/debugger.md +29 -0
- package/presets/mavis/go/agents/feature-developer.md +29 -0
- package/presets/mavis/go/agents/integration-test-generator.md +17 -0
- package/presets/mavis/go/agents/integration-test-healer.md +17 -0
- package/presets/mavis/go/agents/integration-test-planner.md +17 -0
- package/presets/mavis/go/agents/migration-specialist.md +15 -0
- package/presets/mavis/go/agents/openspec-author.md +15 -0
- package/presets/mavis/go/agents/performance-auditor.md +15 -0
- package/presets/mavis/go/agents/qa-tester.md +18 -0
- package/presets/mavis/go/agents/security-reviewer.md +15 -0
- package/presets/mavis/go/agents/solution-architect.md +15 -0
- package/presets/mavis/go/agents/task-analyst.md +15 -0
- package/presets/mavis/go/agents/task-router.md +15 -0
- package/presets/mavis/go/agents/tech-writer.md +15 -0
- package/presets/mavis/go/agents/unit-test-generator.md +16 -0
- package/presets/mavis/go/agents/unit-test-healer.md +16 -0
- package/presets/mavis/go/agents/unit-test-planner.md +16 -0
- package/presets/mavis/go/commands/spec-start.md +2 -2
- package/presets/mavis/go/commands/task.md +6 -6
- package/presets/mavis/go/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/go/rules/agent-team-intake.md +4 -0
- package/presets/mavis/go/rules/code-quality-and-refactoring.md +15 -0
- package/presets/mavis/go/rules/code-review-mr.md +7 -0
- package/presets/mavis/go/rules/design-guidance.md +5 -0
- package/presets/mavis/go/rules/mcp-usage.md +7 -0
- package/presets/mavis/go/rules/preset-layering.md +1 -1
- package/presets/mavis/go/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/go/rules/preset-token-budget.md +10 -10
- package/presets/mavis/go/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/go/rules/product-specs.md +6 -0
- package/presets/mavis/go/skills/debug-investigation/SKILL.md +20 -0
- package/presets/mavis/ios-swift/MAVIS.md +13 -0
- package/presets/mavis/ios-swift/adapter-map.json +1 -1
- package/presets/mavis/ios-swift/agents/accessibility-reviewer.md +15 -0
- package/presets/mavis/ios-swift/agents/api-contract-reviewer.md +16 -0
- package/presets/mavis/ios-swift/agents/build-verifier.md +20 -3
- package/presets/mavis/ios-swift/agents/ci-investigator.md +24 -0
- package/presets/mavis/ios-swift/agents/code-reviewer.md +16 -0
- package/presets/mavis/ios-swift/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/ios-swift/agents/debugger.md +24 -0
- package/presets/mavis/ios-swift/agents/feature-developer.md +24 -0
- package/presets/mavis/ios-swift/agents/migration-specialist.md +15 -0
- package/presets/mavis/ios-swift/agents/mockup-reviewer.md +15 -0
- package/presets/mavis/ios-swift/agents/openspec-author.md +15 -0
- package/presets/mavis/ios-swift/agents/performance-auditor.md +15 -0
- package/presets/mavis/ios-swift/agents/qa-tester.md +17 -0
- package/presets/mavis/ios-swift/agents/security-reviewer.md +15 -0
- package/presets/mavis/ios-swift/agents/solution-architect.md +15 -0
- package/presets/mavis/ios-swift/agents/task-analyst.md +15 -0
- package/presets/mavis/ios-swift/agents/task-router.md +15 -0
- package/presets/mavis/ios-swift/agents/tech-writer.md +15 -0
- package/presets/mavis/ios-swift/agents/unit-test-generator.md +16 -0
- package/presets/mavis/ios-swift/agents/unit-test-healer.md +16 -0
- package/presets/mavis/ios-swift/agents/unit-test-planner.md +16 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-generator.md +16 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-healer.md +16 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-planner.md +16 -0
- package/presets/mavis/ios-swift/commands/spec-start.md +2 -2
- package/presets/mavis/ios-swift/commands/task.md +6 -6
- package/presets/mavis/ios-swift/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/ios-swift/rules/code-quality-and-refactoring.md +14 -0
- package/presets/mavis/ios-swift/rules/code-review-mr.md +39 -0
- package/presets/mavis/ios-swift/rules/design-guidance.md +5 -0
- package/presets/mavis/ios-swift/rules/feature-delivery-workflow.md +66 -0
- package/presets/mavis/ios-swift/rules/mcp-usage.md +8 -0
- package/presets/mavis/ios-swift/rules/mockup-review.md +4 -0
- package/presets/mavis/ios-swift/rules/preset-layering.md +1 -1
- package/presets/mavis/ios-swift/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/ios-swift/rules/preset-token-budget.md +10 -10
- package/presets/mavis/ios-swift/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/ios-swift/rules/product-specs.md +5 -0
- package/presets/mavis/ios-swift/rules/reference-features.md +49 -0
- package/presets/mavis/ios-swift/rules/swiftui-ui.md +7 -0
- package/presets/mavis/ios-swift/rules/ux-design.md +4 -0
- package/presets/mavis/ios-swift/skills/debug-investigation/SKILL.md +39 -0
- package/presets/mavis/java/MAVIS.md +13 -0
- package/presets/mavis/java/adapter-map.json +1 -1
- package/presets/mavis/java/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/java/agents/build-verifier.md +18 -1
- package/presets/mavis/java/agents/ci-investigator.md +29 -0
- package/presets/mavis/java/agents/code-reviewer.md +16 -0
- package/presets/mavis/java/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/java/agents/debugger.md +29 -0
- package/presets/mavis/java/agents/feature-developer.md +29 -0
- package/presets/mavis/java/agents/integration-test-generator.md +17 -0
- package/presets/mavis/java/agents/integration-test-healer.md +17 -0
- package/presets/mavis/java/agents/integration-test-planner.md +17 -0
- package/presets/mavis/java/agents/migration-specialist.md +15 -0
- package/presets/mavis/java/agents/openspec-author.md +15 -0
- package/presets/mavis/java/agents/performance-auditor.md +15 -0
- package/presets/mavis/java/agents/qa-tester.md +18 -0
- package/presets/mavis/java/agents/security-reviewer.md +15 -0
- package/presets/mavis/java/agents/solution-architect.md +15 -0
- package/presets/mavis/java/agents/task-analyst.md +15 -0
- package/presets/mavis/java/agents/task-router.md +15 -0
- package/presets/mavis/java/agents/tech-writer.md +15 -0
- package/presets/mavis/java/agents/unit-test-generator.md +16 -0
- package/presets/mavis/java/agents/unit-test-healer.md +16 -0
- package/presets/mavis/java/agents/unit-test-planner.md +16 -0
- package/presets/mavis/java/commands/spec-start.md +2 -2
- package/presets/mavis/java/commands/task.md +6 -6
- package/presets/mavis/java/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/java/rules/agent-team-intake.md +4 -0
- package/presets/mavis/java/rules/code-quality-and-refactoring.md +15 -0
- package/presets/mavis/java/rules/code-review-mr.md +9 -0
- package/presets/mavis/java/rules/design-guidance.md +6 -0
- package/presets/mavis/java/rules/mcp-usage.md +6 -0
- package/presets/mavis/java/rules/preset-layering.md +1 -1
- package/presets/mavis/java/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/java/rules/preset-token-budget.md +10 -10
- package/presets/mavis/java/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/java/rules/product-specs.md +6 -0
- package/presets/mavis/java/skills/debug-investigation/SKILL.md +20 -0
- package/presets/mavis/mcp-ts/MAVIS.md +13 -0
- package/presets/mavis/mcp-ts/adapter-map.json +1 -1
- package/presets/mavis/mcp-ts/agents/build-verifier.md +18 -1
- package/presets/mavis/mcp-ts/agents/feature-developer.md +22 -0
- package/presets/mavis/mcp-ts/agents/security-reviewer.md +15 -0
- package/presets/mavis/mcp-ts/agents/solution-architect.md +15 -0
- package/presets/mavis/mcp-ts/agents/task-analyst.md +15 -0
- package/presets/mavis/mcp-ts/agents/task-router.md +15 -0
- package/presets/mavis/mcp-ts/commands/spec-start.md +2 -2
- package/presets/mavis/mcp-ts/commands/task.md +6 -6
- package/presets/mavis/mcp-ts/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/mcp-ts/rules/agent-team-intake.md +5 -0
- package/presets/mavis/mcp-ts/rules/anti-sycophancy-discipline.md +4 -0
- package/presets/mavis/mcp-ts/rules/code-quality-and-refactoring.md +15 -0
- package/presets/mavis/mcp-ts/rules/code-review-mr.md +6 -0
- package/presets/mavis/mcp-ts/rules/design-guidance.md +5 -0
- package/presets/mavis/mcp-ts/rules/mcp-usage.md +7 -0
- package/presets/mavis/mcp-ts/rules/preset-layering.md +1 -1
- package/presets/mavis/mcp-ts/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/mcp-ts/rules/preset-token-budget.md +10 -10
- package/presets/mavis/mcp-ts/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/mcp-ts/rules/product-specs.md +6 -0
- package/presets/mavis/mcp-ts/skills/debug-investigation/SKILL.md +15 -0
- package/presets/mavis/next/MAVIS.md +13 -0
- package/presets/mavis/next/adapter-map.json +57 -1
- package/presets/mavis/next/agents/accessibility-reviewer.md +17 -0
- package/presets/mavis/next/agents/api-contract-reviewer.md +19 -0
- package/presets/mavis/next/agents/build-verifier.md +19 -2
- package/presets/mavis/next/agents/ci-investigator.md +34 -0
- package/presets/mavis/next/agents/code-reviewer.md +18 -0
- package/presets/mavis/next/agents/codebase-analyzer.md +17 -0
- package/presets/mavis/next/agents/debugger.md +34 -0
- package/presets/mavis/next/agents/feature-developer.md +34 -0
- package/presets/mavis/next/agents/migration-specialist.md +17 -0
- package/presets/mavis/next/agents/mockup-reviewer.md +17 -0
- package/presets/mavis/next/agents/openspec-author.md +17 -0
- package/presets/mavis/next/agents/performance-auditor.md +17 -0
- package/presets/mavis/next/agents/playwright-test-generator.md +19 -0
- package/presets/mavis/next/agents/playwright-test-healer.md +19 -0
- package/presets/mavis/next/agents/playwright-test-planner.md +19 -0
- package/presets/mavis/next/agents/qa-tester.md +20 -0
- package/presets/mavis/next/agents/security-reviewer.md +17 -0
- package/presets/mavis/next/agents/solution-architect.md +17 -0
- package/presets/mavis/next/agents/task-analyst.md +17 -0
- package/presets/mavis/next/agents/task-router.md +17 -0
- package/presets/mavis/next/agents/tech-writer.md +17 -0
- package/presets/mavis/next/agents/unit-test-generator.md +18 -0
- package/presets/mavis/next/agents/unit-test-healer.md +18 -0
- package/presets/mavis/next/agents/unit-test-planner.md +18 -0
- package/presets/mavis/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
- package/presets/mavis/next/ai-local/rules-library/commit-hygiene.md +17 -0
- package/presets/mavis/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
- package/presets/mavis/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
- package/presets/mavis/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
- package/presets/mavis/next/ai-local/rules-library/router-pages.md +23 -0
- package/presets/mavis/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
- package/presets/mavis/next/commands/spec-start.md +2 -2
- package/presets/mavis/next/commands/task.md +6 -6
- package/presets/mavis/next/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/next/rules/api-services.md +6 -4
- package/presets/mavis/next/rules/code-quality-and-refactoring.md +13 -0
- package/presets/mavis/next/rules/code-review-mr.md +13 -0
- package/presets/mavis/next/rules/design-guidance.md +5 -0
- package/presets/mavis/next/rules/feature-delivery-workflow.md +85 -0
- package/presets/mavis/next/rules/mcp-usage.md +9 -0
- package/presets/mavis/next/rules/mockup-review.md +4 -0
- package/presets/mavis/next/rules/next-app-core.md +2 -1
- package/presets/mavis/next/rules/preset-layering.md +1 -1
- package/presets/mavis/next/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/next/rules/preset-token-budget.md +10 -10
- package/presets/mavis/next/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/next/rules/product-specs.md +6 -0
- package/presets/mavis/next/rules/react-ui.md +37 -1
- package/presets/mavis/next/rules/reference-features.md +36 -0
- package/presets/mavis/next/rules/store-rtk.md +6 -5
- package/presets/mavis/next/rules/tests-e2e-structure.md +15 -0
- package/presets/mavis/next/rules/tests-unit.md +33 -0
- package/presets/mavis/next/rules/ux-design.md +4 -0
- package/presets/mavis/next/skills/debug-investigation/SKILL.md +28 -0
- package/presets/mavis/nuxt/MAVIS.md +13 -0
- package/presets/mavis/nuxt/adapter-map.json +1 -1
- package/presets/mavis/nuxt/agents/accessibility-reviewer.md +17 -0
- package/presets/mavis/nuxt/agents/api-contract-reviewer.md +19 -0
- package/presets/mavis/nuxt/agents/build-verifier.md +19 -2
- package/presets/mavis/nuxt/agents/ci-investigator.md +34 -0
- package/presets/mavis/nuxt/agents/code-reviewer.md +18 -0
- package/presets/mavis/nuxt/agents/codebase-analyzer.md +17 -0
- package/presets/mavis/nuxt/agents/debugger.md +34 -0
- package/presets/mavis/nuxt/agents/feature-developer.md +34 -0
- package/presets/mavis/nuxt/agents/migration-specialist.md +17 -0
- package/presets/mavis/nuxt/agents/mockup-reviewer.md +17 -0
- package/presets/mavis/nuxt/agents/openspec-author.md +17 -0
- package/presets/mavis/nuxt/agents/performance-auditor.md +17 -0
- package/presets/mavis/nuxt/agents/playwright-test-generator.md +19 -0
- package/presets/mavis/nuxt/agents/playwright-test-healer.md +19 -0
- package/presets/mavis/nuxt/agents/playwright-test-planner.md +19 -0
- package/presets/mavis/nuxt/agents/qa-tester.md +20 -0
- package/presets/mavis/nuxt/agents/security-reviewer.md +17 -0
- package/presets/mavis/nuxt/agents/solution-architect.md +17 -0
- package/presets/mavis/nuxt/agents/task-analyst.md +17 -0
- package/presets/mavis/nuxt/agents/task-router.md +17 -0
- package/presets/mavis/nuxt/agents/tech-writer.md +17 -0
- package/presets/mavis/nuxt/agents/unit-test-generator.md +18 -0
- package/presets/mavis/nuxt/agents/unit-test-healer.md +18 -0
- package/presets/mavis/nuxt/agents/unit-test-planner.md +18 -0
- package/presets/mavis/nuxt/commands/spec-start.md +2 -2
- package/presets/mavis/nuxt/commands/task.md +6 -6
- package/presets/mavis/nuxt/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/nuxt/rules/code-quality-and-refactoring.md +13 -0
- package/presets/mavis/nuxt/rules/code-review-mr.md +13 -0
- package/presets/mavis/nuxt/rules/design-guidance.md +5 -0
- package/presets/mavis/nuxt/rules/feature-delivery-workflow.md +82 -0
- package/presets/mavis/nuxt/rules/mcp-usage.md +9 -0
- package/presets/mavis/nuxt/rules/mockup-review.md +4 -0
- package/presets/mavis/nuxt/rules/preset-layering.md +1 -1
- package/presets/mavis/nuxt/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/nuxt/rules/preset-token-budget.md +10 -10
- package/presets/mavis/nuxt/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/nuxt/rules/product-specs.md +5 -0
- package/presets/mavis/nuxt/rules/reference-features.md +36 -0
- package/presets/mavis/nuxt/rules/tests-e2e-structure.md +16 -0
- package/presets/mavis/nuxt/rules/tests-unit.md +11 -0
- package/presets/mavis/nuxt/rules/ux-design.md +4 -0
- package/presets/mavis/nuxt/rules/vue-ui.md +7 -0
- package/presets/mavis/nuxt/skills/debug-investigation/SKILL.md +30 -0
- package/presets/mavis/php-hexagonal/MAVIS.md +13 -0
- package/presets/mavis/php-hexagonal/adapter-map.json +1 -1
- package/presets/mavis/php-hexagonal/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/php-hexagonal/agents/build-verifier.md +18 -1
- package/presets/mavis/php-hexagonal/agents/ci-investigator.md +29 -0
- package/presets/mavis/php-hexagonal/agents/code-reviewer.md +16 -0
- package/presets/mavis/php-hexagonal/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/php-hexagonal/agents/debugger.md +29 -0
- package/presets/mavis/php-hexagonal/agents/feature-developer.md +29 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-generator.md +17 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-healer.md +17 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-planner.md +17 -0
- package/presets/mavis/php-hexagonal/agents/migration-specialist.md +15 -0
- package/presets/mavis/php-hexagonal/agents/openspec-author.md +15 -0
- package/presets/mavis/php-hexagonal/agents/performance-auditor.md +15 -0
- package/presets/mavis/php-hexagonal/agents/qa-tester.md +18 -0
- package/presets/mavis/php-hexagonal/agents/security-reviewer.md +15 -0
- package/presets/mavis/php-hexagonal/agents/solution-architect.md +15 -0
- package/presets/mavis/php-hexagonal/agents/task-analyst.md +15 -0
- package/presets/mavis/php-hexagonal/agents/task-router.md +15 -0
- package/presets/mavis/php-hexagonal/agents/tech-writer.md +15 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-generator.md +16 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-healer.md +16 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-planner.md +16 -0
- package/presets/mavis/php-hexagonal/commands/spec-start.md +2 -2
- package/presets/mavis/php-hexagonal/commands/task.md +6 -6
- package/presets/mavis/php-hexagonal/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/php-hexagonal/rules/agent-team-intake.md +4 -0
- package/presets/mavis/php-hexagonal/rules/code-quality-and-refactoring.md +15 -0
- package/presets/mavis/php-hexagonal/rules/code-review-mr.md +9 -0
- package/presets/mavis/php-hexagonal/rules/design-guidance.md +6 -0
- package/presets/mavis/php-hexagonal/rules/mcp-usage.md +6 -0
- package/presets/mavis/php-hexagonal/rules/preset-layering.md +1 -1
- package/presets/mavis/php-hexagonal/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/php-hexagonal/rules/preset-token-budget.md +10 -10
- package/presets/mavis/php-hexagonal/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/php-hexagonal/rules/product-specs.md +6 -0
- package/presets/mavis/php-hexagonal/skills/debug-investigation/SKILL.md +20 -0
- package/presets/mavis/php-laravel/MAVIS.md +13 -0
- package/presets/mavis/php-laravel/adapter-map.json +1 -1
- package/presets/mavis/php-laravel/agents/api-contract-reviewer.md +18 -0
- package/presets/mavis/php-laravel/agents/build-verifier.md +18 -1
- package/presets/mavis/php-laravel/agents/ci-investigator.md +29 -0
- package/presets/mavis/php-laravel/agents/code-reviewer.md +16 -0
- package/presets/mavis/php-laravel/agents/codebase-analyzer.md +15 -0
- package/presets/mavis/php-laravel/agents/debugger.md +29 -0
- package/presets/mavis/php-laravel/agents/feature-developer.md +29 -0
- package/presets/mavis/php-laravel/agents/integration-test-generator.md +17 -0
- package/presets/mavis/php-laravel/agents/integration-test-healer.md +17 -0
- package/presets/mavis/php-laravel/agents/integration-test-planner.md +17 -0
- package/presets/mavis/php-laravel/agents/migration-specialist.md +15 -0
- package/presets/mavis/php-laravel/agents/openspec-author.md +15 -0
- package/presets/mavis/php-laravel/agents/performance-auditor.md +15 -0
- package/presets/mavis/php-laravel/agents/qa-tester.md +18 -0
- package/presets/mavis/php-laravel/agents/security-reviewer.md +15 -0
- package/presets/mavis/php-laravel/agents/solution-architect.md +15 -0
- package/presets/mavis/php-laravel/agents/task-analyst.md +15 -0
- package/presets/mavis/php-laravel/agents/task-router.md +15 -0
- package/presets/mavis/php-laravel/agents/tech-writer.md +15 -0
- package/presets/mavis/php-laravel/agents/unit-test-generator.md +16 -0
- package/presets/mavis/php-laravel/agents/unit-test-healer.md +16 -0
- package/presets/mavis/php-laravel/agents/unit-test-planner.md +16 -0
- package/presets/mavis/php-laravel/commands/spec-start.md +2 -2
- package/presets/mavis/php-laravel/commands/task.md +6 -6
- package/presets/mavis/php-laravel/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/php-laravel/rules/agent-team-intake.md +4 -0
- package/presets/mavis/php-laravel/rules/code-quality-and-refactoring.md +15 -0
- package/presets/mavis/php-laravel/rules/code-review-mr.md +10 -0
- package/presets/mavis/php-laravel/rules/design-guidance.md +6 -0
- package/presets/mavis/php-laravel/rules/mcp-usage.md +6 -0
- package/presets/mavis/php-laravel/rules/preset-layering.md +1 -1
- package/presets/mavis/php-laravel/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/php-laravel/rules/preset-token-budget.md +10 -10
- package/presets/mavis/php-laravel/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/php-laravel/rules/product-specs.md +6 -0
- package/presets/mavis/php-laravel/skills/debug-investigation/SKILL.md +20 -0
- package/presets/mavis/svelte/MAVIS.md +13 -0
- package/presets/mavis/svelte/adapter-map.json +1 -1
- package/presets/mavis/svelte/agents/accessibility-reviewer.md +17 -0
- package/presets/mavis/svelte/agents/api-contract-reviewer.md +19 -0
- package/presets/mavis/svelte/agents/build-verifier.md +19 -2
- package/presets/mavis/svelte/agents/ci-investigator.md +34 -0
- package/presets/mavis/svelte/agents/code-reviewer.md +18 -0
- package/presets/mavis/svelte/agents/codebase-analyzer.md +17 -0
- package/presets/mavis/svelte/agents/debugger.md +34 -0
- package/presets/mavis/svelte/agents/feature-developer.md +34 -0
- package/presets/mavis/svelte/agents/migration-specialist.md +17 -0
- package/presets/mavis/svelte/agents/mockup-reviewer.md +17 -0
- package/presets/mavis/svelte/agents/openspec-author.md +17 -0
- package/presets/mavis/svelte/agents/performance-auditor.md +17 -0
- package/presets/mavis/svelte/agents/playwright-test-generator.md +19 -0
- package/presets/mavis/svelte/agents/playwright-test-healer.md +19 -0
- package/presets/mavis/svelte/agents/playwright-test-planner.md +19 -0
- package/presets/mavis/svelte/agents/qa-tester.md +20 -0
- package/presets/mavis/svelte/agents/security-reviewer.md +17 -0
- package/presets/mavis/svelte/agents/solution-architect.md +17 -0
- package/presets/mavis/svelte/agents/task-analyst.md +17 -0
- package/presets/mavis/svelte/agents/task-router.md +17 -0
- package/presets/mavis/svelte/agents/tech-writer.md +17 -0
- package/presets/mavis/svelte/agents/unit-test-generator.md +18 -0
- package/presets/mavis/svelte/agents/unit-test-healer.md +18 -0
- package/presets/mavis/svelte/agents/unit-test-planner.md +18 -0
- package/presets/mavis/svelte/commands/spec-start.md +2 -2
- package/presets/mavis/svelte/commands/task.md +6 -6
- package/presets/mavis/svelte/hooks/chain-team-phases.sh +32 -3
- package/presets/mavis/svelte/rules/code-quality-and-refactoring.md +13 -0
- package/presets/mavis/svelte/rules/code-review-mr.md +13 -0
- package/presets/mavis/svelte/rules/design-guidance.md +5 -0
- package/presets/mavis/svelte/rules/feature-delivery-workflow.md +54 -0
- package/presets/mavis/svelte/rules/mcp-usage.md +9 -0
- package/presets/mavis/svelte/rules/mockup-review.md +4 -0
- package/presets/mavis/svelte/rules/preset-layering.md +1 -1
- package/presets/mavis/svelte/rules/preset-pr-checklist.md +1 -1
- package/presets/mavis/svelte/rules/preset-token-budget.md +10 -10
- package/presets/mavis/svelte/rules/product-specs-authoring.md +6 -0
- package/presets/mavis/svelte/rules/product-specs.md +5 -0
- package/presets/mavis/svelte/rules/reference-features.md +37 -0
- package/presets/mavis/svelte/rules/svelte-ui.md +7 -0
- package/presets/mavis/svelte/rules/tests-e2e-structure.md +16 -0
- package/presets/mavis/svelte/rules/tests-unit.md +11 -0
- package/presets/mavis/svelte/rules/ux-design.md +4 -0
- package/presets/mavis/svelte/skills/debug-investigation/SKILL.md +30 -0
- package/presets/opencode/android-kotlin/OPENCODE.md +15 -1
- package/presets/opencode/android-kotlin/adapter-map.json +2 -2
- package/presets/opencode/android-kotlin/agents/accessibility-reviewer.md +15 -0
- package/presets/opencode/android-kotlin/agents/api-contract-reviewer.md +16 -0
- package/presets/opencode/android-kotlin/agents/build-verifier.md +19 -2
- package/presets/opencode/android-kotlin/agents/ci-investigator.md +25 -0
- package/presets/opencode/android-kotlin/agents/code-reviewer.md +16 -0
- package/presets/opencode/android-kotlin/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/android-kotlin/agents/debugger.md +25 -0
- package/presets/opencode/android-kotlin/agents/feature-developer.md +25 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-generator.md +16 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-healer.md +16 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-planner.md +16 -0
- package/presets/opencode/android-kotlin/agents/migration-specialist.md +15 -0
- package/presets/opencode/android-kotlin/agents/mockup-reviewer.md +15 -0
- package/presets/opencode/android-kotlin/agents/openspec-author.md +15 -0
- package/presets/opencode/android-kotlin/agents/performance-auditor.md +15 -0
- package/presets/opencode/android-kotlin/agents/qa-tester.md +17 -0
- package/presets/opencode/android-kotlin/agents/security-reviewer.md +15 -0
- package/presets/opencode/android-kotlin/agents/solution-architect.md +15 -0
- package/presets/opencode/android-kotlin/agents/task-analyst.md +15 -0
- package/presets/opencode/android-kotlin/agents/task-router.md +15 -0
- package/presets/opencode/android-kotlin/agents/tech-writer.md +15 -0
- package/presets/opencode/android-kotlin/agents/unit-test-generator.md +16 -0
- package/presets/opencode/android-kotlin/agents/unit-test-healer.md +16 -0
- package/presets/opencode/android-kotlin/agents/unit-test-planner.md +16 -0
- package/presets/opencode/android-kotlin/commands/spec-start.md +1 -1
- package/presets/opencode/android-kotlin/commands/task-continue.md +1 -1
- package/presets/opencode/android-kotlin/commands/task.md +1 -1
- package/presets/opencode/android-kotlin/commands/technical-retro.md +1 -1
- package/presets/opencode/android-kotlin/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/android-kotlin/opencode.json +14 -0
- package/presets/opencode/android-kotlin/rules/README.md +7 -2
- package/presets/opencode/android-kotlin/rules/code-quality-and-refactoring.md +14 -0
- package/presets/opencode/android-kotlin/rules/code-review-mr.md +39 -0
- package/presets/opencode/android-kotlin/rules/compose-ui.md +2 -0
- package/presets/opencode/android-kotlin/rules/design-guidance.md +5 -0
- package/presets/opencode/android-kotlin/rules/mcp-usage.md +8 -0
- package/presets/opencode/android-kotlin/rules/mockup-review.md +4 -0
- package/presets/opencode/android-kotlin/rules/preset-layering.md +1 -1
- package/presets/opencode/android-kotlin/rules/preset-no-cross-stack-leakage.md +4 -0
- package/presets/opencode/android-kotlin/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/android-kotlin/rules/preset-token-budget.md +10 -10
- package/presets/opencode/android-kotlin/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/android-kotlin/rules/product-specs.md +5 -0
- package/presets/opencode/android-kotlin/rules/ux-design.md +4 -0
- package/presets/opencode/android-kotlin/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/mockup-review/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/ux-design/SKILL.md +1 -1
- package/presets/opencode/android-kotlin/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/go/OPENCODE.md +15 -1
- package/presets/opencode/go/adapter-map.json +2 -2
- package/presets/opencode/go/agents/api-contract-reviewer.md +17 -0
- package/presets/opencode/go/agents/build-verifier.md +18 -1
- package/presets/opencode/go/agents/ci-investigator.md +29 -0
- package/presets/opencode/go/agents/code-reviewer.md +16 -0
- package/presets/opencode/go/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/go/agents/debugger.md +29 -0
- package/presets/opencode/go/agents/feature-developer.md +29 -0
- package/presets/opencode/go/agents/integration-test-generator.md +17 -0
- package/presets/opencode/go/agents/integration-test-healer.md +17 -0
- package/presets/opencode/go/agents/integration-test-planner.md +17 -0
- package/presets/opencode/go/agents/migration-specialist.md +15 -0
- package/presets/opencode/go/agents/openspec-author.md +15 -0
- package/presets/opencode/go/agents/performance-auditor.md +15 -0
- package/presets/opencode/go/agents/qa-tester.md +18 -0
- package/presets/opencode/go/agents/security-reviewer.md +15 -0
- package/presets/opencode/go/agents/solution-architect.md +15 -0
- package/presets/opencode/go/agents/task-analyst.md +15 -0
- package/presets/opencode/go/agents/task-router.md +15 -0
- package/presets/opencode/go/agents/tech-writer.md +15 -0
- package/presets/opencode/go/agents/unit-test-generator.md +16 -0
- package/presets/opencode/go/agents/unit-test-healer.md +16 -0
- package/presets/opencode/go/agents/unit-test-planner.md +16 -0
- package/presets/opencode/go/commands/spec-start.md +1 -1
- package/presets/opencode/go/commands/task-continue.md +1 -1
- package/presets/opencode/go/commands/task.md +1 -1
- package/presets/opencode/go/commands/technical-retro.md +1 -1
- package/presets/opencode/go/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/go/opencode.json +14 -0
- package/presets/opencode/go/rules/README.md +7 -2
- package/presets/opencode/go/rules/agent-team-intake.md +4 -0
- package/presets/opencode/go/rules/code-quality-and-refactoring.md +15 -0
- package/presets/opencode/go/rules/code-review-mr.md +7 -0
- package/presets/opencode/go/rules/design-guidance.md +5 -0
- package/presets/opencode/go/rules/mcp-usage.md +7 -0
- package/presets/opencode/go/rules/preset-layering.md +1 -1
- package/presets/opencode/go/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/go/rules/preset-token-budget.md +10 -10
- package/presets/opencode/go/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/go/rules/product-specs.md +6 -0
- package/presets/opencode/go/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/go/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/go/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/go/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/go/skills/integration-testing/SKILL.md +1 -1
- package/presets/opencode/go/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/go/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/go/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/go/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/go/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/ios-swift/OPENCODE.md +15 -1
- package/presets/opencode/ios-swift/adapter-map.json +2 -2
- package/presets/opencode/ios-swift/agents/accessibility-reviewer.md +15 -0
- package/presets/opencode/ios-swift/agents/api-contract-reviewer.md +16 -0
- package/presets/opencode/ios-swift/agents/build-verifier.md +20 -3
- package/presets/opencode/ios-swift/agents/ci-investigator.md +24 -0
- package/presets/opencode/ios-swift/agents/code-reviewer.md +16 -0
- package/presets/opencode/ios-swift/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/ios-swift/agents/debugger.md +24 -0
- package/presets/opencode/ios-swift/agents/feature-developer.md +24 -0
- package/presets/opencode/ios-swift/agents/migration-specialist.md +15 -0
- package/presets/opencode/ios-swift/agents/mockup-reviewer.md +15 -0
- package/presets/opencode/ios-swift/agents/openspec-author.md +15 -0
- package/presets/opencode/ios-swift/agents/performance-auditor.md +15 -0
- package/presets/opencode/ios-swift/agents/qa-tester.md +17 -0
- package/presets/opencode/ios-swift/agents/security-reviewer.md +15 -0
- package/presets/opencode/ios-swift/agents/solution-architect.md +15 -0
- package/presets/opencode/ios-swift/agents/task-analyst.md +15 -0
- package/presets/opencode/ios-swift/agents/task-router.md +15 -0
- package/presets/opencode/ios-swift/agents/tech-writer.md +15 -0
- package/presets/opencode/ios-swift/agents/unit-test-generator.md +16 -0
- package/presets/opencode/ios-swift/agents/unit-test-healer.md +16 -0
- package/presets/opencode/ios-swift/agents/unit-test-planner.md +16 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-generator.md +16 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-healer.md +16 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-planner.md +16 -0
- package/presets/opencode/ios-swift/commands/spec-start.md +1 -1
- package/presets/opencode/ios-swift/commands/task-continue.md +1 -1
- package/presets/opencode/ios-swift/commands/task.md +1 -1
- package/presets/opencode/ios-swift/commands/technical-retro.md +1 -1
- package/presets/opencode/ios-swift/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/ios-swift/opencode.json +14 -0
- package/presets/opencode/ios-swift/rules/README.md +7 -2
- package/presets/opencode/ios-swift/rules/code-quality-and-refactoring.md +14 -0
- package/presets/opencode/ios-swift/rules/code-review-mr.md +39 -0
- package/presets/opencode/ios-swift/rules/design-guidance.md +5 -0
- package/presets/opencode/ios-swift/rules/feature-delivery-workflow.md +66 -0
- package/presets/opencode/ios-swift/rules/mcp-usage.md +8 -0
- package/presets/opencode/ios-swift/rules/mockup-review.md +4 -0
- package/presets/opencode/ios-swift/rules/preset-layering.md +1 -1
- package/presets/opencode/ios-swift/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/ios-swift/rules/preset-token-budget.md +10 -10
- package/presets/opencode/ios-swift/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/ios-swift/rules/product-specs.md +5 -0
- package/presets/opencode/ios-swift/rules/reference-features.md +49 -0
- package/presets/opencode/ios-swift/rules/swiftui-ui.md +7 -0
- package/presets/opencode/ios-swift/rules/ux-design.md +4 -0
- package/presets/opencode/ios-swift/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/mockup-review/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/ux-design/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/ios-swift/skills/xcuitest-e2e/SKILL.md +1 -1
- package/presets/opencode/java/OPENCODE.md +15 -1
- package/presets/opencode/java/adapter-map.json +2 -2
- package/presets/opencode/java/agents/api-contract-reviewer.md +17 -0
- package/presets/opencode/java/agents/build-verifier.md +18 -1
- package/presets/opencode/java/agents/ci-investigator.md +29 -0
- package/presets/opencode/java/agents/code-reviewer.md +16 -0
- package/presets/opencode/java/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/java/agents/debugger.md +29 -0
- package/presets/opencode/java/agents/feature-developer.md +29 -0
- package/presets/opencode/java/agents/integration-test-generator.md +17 -0
- package/presets/opencode/java/agents/integration-test-healer.md +17 -0
- package/presets/opencode/java/agents/integration-test-planner.md +17 -0
- package/presets/opencode/java/agents/migration-specialist.md +15 -0
- package/presets/opencode/java/agents/openspec-author.md +15 -0
- package/presets/opencode/java/agents/performance-auditor.md +15 -0
- package/presets/opencode/java/agents/qa-tester.md +18 -0
- package/presets/opencode/java/agents/security-reviewer.md +15 -0
- package/presets/opencode/java/agents/solution-architect.md +15 -0
- package/presets/opencode/java/agents/task-analyst.md +15 -0
- package/presets/opencode/java/agents/task-router.md +15 -0
- package/presets/opencode/java/agents/tech-writer.md +15 -0
- package/presets/opencode/java/agents/unit-test-generator.md +16 -0
- package/presets/opencode/java/agents/unit-test-healer.md +16 -0
- package/presets/opencode/java/agents/unit-test-planner.md +16 -0
- package/presets/opencode/java/commands/spec-start.md +1 -1
- package/presets/opencode/java/commands/task-continue.md +1 -1
- package/presets/opencode/java/commands/task.md +1 -1
- package/presets/opencode/java/commands/technical-retro.md +1 -1
- package/presets/opencode/java/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/java/opencode.json +14 -0
- package/presets/opencode/java/rules/README.md +7 -2
- package/presets/opencode/java/rules/agent-team-intake.md +4 -0
- package/presets/opencode/java/rules/code-quality-and-refactoring.md +15 -0
- package/presets/opencode/java/rules/code-review-mr.md +9 -0
- package/presets/opencode/java/rules/design-guidance.md +6 -0
- package/presets/opencode/java/rules/mcp-usage.md +6 -0
- package/presets/opencode/java/rules/preset-layering.md +1 -1
- package/presets/opencode/java/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/java/rules/preset-token-budget.md +10 -10
- package/presets/opencode/java/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/java/rules/product-specs.md +6 -0
- package/presets/opencode/java/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/java/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/java/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/java/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/java/skills/integration-testing/SKILL.md +1 -1
- package/presets/opencode/java/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/java/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/java/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/java/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/java/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/OPENCODE.md +15 -1
- package/presets/opencode/mcp-ts/adapter-map.json +2 -2
- package/presets/opencode/mcp-ts/agents/build-verifier.md +18 -1
- package/presets/opencode/mcp-ts/agents/feature-developer.md +22 -0
- package/presets/opencode/mcp-ts/agents/security-reviewer.md +15 -0
- package/presets/opencode/mcp-ts/agents/solution-architect.md +15 -0
- package/presets/opencode/mcp-ts/agents/task-analyst.md +15 -0
- package/presets/opencode/mcp-ts/agents/task-router.md +15 -0
- package/presets/opencode/mcp-ts/commands/spec-start.md +1 -1
- package/presets/opencode/mcp-ts/commands/task-continue.md +1 -1
- package/presets/opencode/mcp-ts/commands/task.md +1 -1
- package/presets/opencode/mcp-ts/commands/technical-retro.md +1 -1
- package/presets/opencode/mcp-ts/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/mcp-ts/opencode.json +14 -0
- package/presets/opencode/mcp-ts/rules/README.md +7 -2
- package/presets/opencode/mcp-ts/rules/agent-team-intake.md +5 -0
- package/presets/opencode/mcp-ts/rules/anti-sycophancy-discipline.md +4 -0
- package/presets/opencode/mcp-ts/rules/code-quality-and-refactoring.md +15 -0
- package/presets/opencode/mcp-ts/rules/code-review-mr.md +6 -0
- package/presets/opencode/mcp-ts/rules/design-guidance.md +5 -0
- package/presets/opencode/mcp-ts/rules/mcp-usage.md +7 -0
- package/presets/opencode/mcp-ts/rules/preset-layering.md +1 -1
- package/presets/opencode/mcp-ts/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/mcp-ts/rules/preset-token-budget.md +10 -10
- package/presets/opencode/mcp-ts/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/mcp-ts/rules/product-specs.md +6 -0
- package/presets/opencode/mcp-ts/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/mcp-ts/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/next/OPENCODE.md +15 -1
- package/presets/opencode/next/adapter-map.json +58 -2
- package/presets/opencode/next/agents/accessibility-reviewer.md +17 -0
- package/presets/opencode/next/agents/api-contract-reviewer.md +19 -0
- package/presets/opencode/next/agents/build-verifier.md +19 -2
- package/presets/opencode/next/agents/ci-investigator.md +34 -0
- package/presets/opencode/next/agents/code-reviewer.md +18 -0
- package/presets/opencode/next/agents/codebase-analyzer.md +17 -0
- package/presets/opencode/next/agents/debugger.md +34 -0
- package/presets/opencode/next/agents/feature-developer.md +34 -0
- package/presets/opencode/next/agents/migration-specialist.md +17 -0
- package/presets/opencode/next/agents/mockup-reviewer.md +17 -0
- package/presets/opencode/next/agents/openspec-author.md +17 -0
- package/presets/opencode/next/agents/performance-auditor.md +17 -0
- package/presets/opencode/next/agents/playwright-test-generator.md +19 -0
- package/presets/opencode/next/agents/playwright-test-healer.md +19 -0
- package/presets/opencode/next/agents/playwright-test-planner.md +19 -0
- package/presets/opencode/next/agents/qa-tester.md +20 -0
- package/presets/opencode/next/agents/security-reviewer.md +17 -0
- package/presets/opencode/next/agents/solution-architect.md +17 -0
- package/presets/opencode/next/agents/task-analyst.md +17 -0
- package/presets/opencode/next/agents/task-router.md +17 -0
- package/presets/opencode/next/agents/tech-writer.md +17 -0
- package/presets/opencode/next/agents/unit-test-generator.md +18 -0
- package/presets/opencode/next/agents/unit-test-healer.md +18 -0
- package/presets/opencode/next/agents/unit-test-planner.md +18 -0
- package/presets/opencode/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
- package/presets/opencode/next/ai-local/rules-library/commit-hygiene.md +17 -0
- package/presets/opencode/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
- package/presets/opencode/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
- package/presets/opencode/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
- package/presets/opencode/next/ai-local/rules-library/router-pages.md +23 -0
- package/presets/opencode/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
- package/presets/opencode/next/commands/spec-start.md +1 -1
- package/presets/opencode/next/commands/task-continue.md +1 -1
- package/presets/opencode/next/commands/task.md +1 -1
- package/presets/opencode/next/commands/technical-retro.md +1 -1
- package/presets/opencode/next/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/next/opencode.json +19 -0
- package/presets/opencode/next/rules/README.md +7 -2
- package/presets/opencode/next/rules/api-services.md +6 -4
- package/presets/opencode/next/rules/code-quality-and-refactoring.md +13 -0
- package/presets/opencode/next/rules/code-review-mr.md +13 -0
- package/presets/opencode/next/rules/design-guidance.md +5 -0
- package/presets/opencode/next/rules/feature-delivery-workflow.md +85 -0
- package/presets/opencode/next/rules/mcp-usage.md +9 -0
- package/presets/opencode/next/rules/mockup-review.md +4 -0
- package/presets/opencode/next/rules/next-app-core.md +2 -1
- package/presets/opencode/next/rules/preset-layering.md +1 -1
- package/presets/opencode/next/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/next/rules/preset-token-budget.md +10 -10
- package/presets/opencode/next/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/next/rules/product-specs.md +6 -0
- package/presets/opencode/next/rules/react-ui.md +37 -1
- package/presets/opencode/next/rules/reference-features.md +36 -0
- package/presets/opencode/next/rules/store-rtk.md +6 -5
- package/presets/opencode/next/rules/tests-e2e-structure.md +15 -0
- package/presets/opencode/next/rules/tests-unit.md +33 -0
- package/presets/opencode/next/rules/ux-design.md +4 -0
- package/presets/opencode/next/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/next/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/next/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/next/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/next/skills/mockup-review/SKILL.md +1 -1
- package/presets/opencode/next/skills/playwright-e2e/SKILL.md +1 -1
- package/presets/opencode/next/skills/react-performance/SKILL.md +1 -1
- package/presets/opencode/next/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/next/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/next/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/next/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/next/skills/ux-design/SKILL.md +1 -1
- package/presets/opencode/next/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/nuxt/OPENCODE.md +15 -1
- package/presets/opencode/nuxt/adapter-map.json +2 -2
- package/presets/opencode/nuxt/agents/accessibility-reviewer.md +17 -0
- package/presets/opencode/nuxt/agents/api-contract-reviewer.md +19 -0
- package/presets/opencode/nuxt/agents/build-verifier.md +19 -2
- package/presets/opencode/nuxt/agents/ci-investigator.md +34 -0
- package/presets/opencode/nuxt/agents/code-reviewer.md +18 -0
- package/presets/opencode/nuxt/agents/codebase-analyzer.md +17 -0
- package/presets/opencode/nuxt/agents/debugger.md +34 -0
- package/presets/opencode/nuxt/agents/feature-developer.md +34 -0
- package/presets/opencode/nuxt/agents/migration-specialist.md +17 -0
- package/presets/opencode/nuxt/agents/mockup-reviewer.md +17 -0
- package/presets/opencode/nuxt/agents/openspec-author.md +17 -0
- package/presets/opencode/nuxt/agents/performance-auditor.md +17 -0
- package/presets/opencode/nuxt/agents/playwright-test-generator.md +19 -0
- package/presets/opencode/nuxt/agents/playwright-test-healer.md +19 -0
- package/presets/opencode/nuxt/agents/playwright-test-planner.md +19 -0
- package/presets/opencode/nuxt/agents/qa-tester.md +20 -0
- package/presets/opencode/nuxt/agents/security-reviewer.md +17 -0
- package/presets/opencode/nuxt/agents/solution-architect.md +17 -0
- package/presets/opencode/nuxt/agents/task-analyst.md +17 -0
- package/presets/opencode/nuxt/agents/task-router.md +17 -0
- package/presets/opencode/nuxt/agents/tech-writer.md +17 -0
- package/presets/opencode/nuxt/agents/unit-test-generator.md +18 -0
- package/presets/opencode/nuxt/agents/unit-test-healer.md +18 -0
- package/presets/opencode/nuxt/agents/unit-test-planner.md +18 -0
- package/presets/opencode/nuxt/commands/spec-start.md +1 -1
- package/presets/opencode/nuxt/commands/task-continue.md +1 -1
- package/presets/opencode/nuxt/commands/task.md +1 -1
- package/presets/opencode/nuxt/commands/technical-retro.md +1 -1
- package/presets/opencode/nuxt/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/nuxt/opencode.json +19 -0
- package/presets/opencode/nuxt/rules/README.md +7 -2
- package/presets/opencode/nuxt/rules/code-quality-and-refactoring.md +13 -0
- package/presets/opencode/nuxt/rules/code-review-mr.md +13 -0
- package/presets/opencode/nuxt/rules/design-guidance.md +5 -0
- package/presets/opencode/nuxt/rules/feature-delivery-workflow.md +82 -0
- package/presets/opencode/nuxt/rules/mcp-usage.md +9 -0
- package/presets/opencode/nuxt/rules/mockup-review.md +4 -0
- package/presets/opencode/nuxt/rules/preset-layering.md +1 -1
- package/presets/opencode/nuxt/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/nuxt/rules/preset-token-budget.md +10 -10
- package/presets/opencode/nuxt/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/nuxt/rules/product-specs.md +5 -0
- package/presets/opencode/nuxt/rules/reference-features.md +36 -0
- package/presets/opencode/nuxt/rules/tests-e2e-structure.md +16 -0
- package/presets/opencode/nuxt/rules/tests-unit.md +11 -0
- package/presets/opencode/nuxt/rules/ux-design.md +4 -0
- package/presets/opencode/nuxt/rules/vue-ui.md +7 -0
- package/presets/opencode/nuxt/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/mockup-review/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/playwright-e2e/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/ux-design/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/vue-performance/SKILL.md +1 -1
- package/presets/opencode/nuxt/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/OPENCODE.md +15 -1
- package/presets/opencode/php-hexagonal/adapter-map.json +2 -2
- package/presets/opencode/php-hexagonal/agents/api-contract-reviewer.md +17 -0
- package/presets/opencode/php-hexagonal/agents/build-verifier.md +18 -1
- package/presets/opencode/php-hexagonal/agents/ci-investigator.md +29 -0
- package/presets/opencode/php-hexagonal/agents/code-reviewer.md +16 -0
- package/presets/opencode/php-hexagonal/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/php-hexagonal/agents/debugger.md +29 -0
- package/presets/opencode/php-hexagonal/agents/feature-developer.md +29 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-generator.md +17 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-healer.md +17 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-planner.md +17 -0
- package/presets/opencode/php-hexagonal/agents/migration-specialist.md +15 -0
- package/presets/opencode/php-hexagonal/agents/openspec-author.md +15 -0
- package/presets/opencode/php-hexagonal/agents/performance-auditor.md +15 -0
- package/presets/opencode/php-hexagonal/agents/qa-tester.md +18 -0
- package/presets/opencode/php-hexagonal/agents/security-reviewer.md +15 -0
- package/presets/opencode/php-hexagonal/agents/solution-architect.md +15 -0
- package/presets/opencode/php-hexagonal/agents/task-analyst.md +15 -0
- package/presets/opencode/php-hexagonal/agents/task-router.md +15 -0
- package/presets/opencode/php-hexagonal/agents/tech-writer.md +15 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-generator.md +16 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-healer.md +16 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-planner.md +16 -0
- package/presets/opencode/php-hexagonal/commands/spec-start.md +1 -1
- package/presets/opencode/php-hexagonal/commands/task-continue.md +1 -1
- package/presets/opencode/php-hexagonal/commands/task.md +1 -1
- package/presets/opencode/php-hexagonal/commands/technical-retro.md +1 -1
- package/presets/opencode/php-hexagonal/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/php-hexagonal/opencode.json +14 -0
- package/presets/opencode/php-hexagonal/rules/README.md +7 -2
- package/presets/opencode/php-hexagonal/rules/agent-team-intake.md +4 -0
- package/presets/opencode/php-hexagonal/rules/code-quality-and-refactoring.md +15 -0
- package/presets/opencode/php-hexagonal/rules/code-review-mr.md +9 -0
- package/presets/opencode/php-hexagonal/rules/design-guidance.md +6 -0
- package/presets/opencode/php-hexagonal/rules/mcp-usage.md +6 -0
- package/presets/opencode/php-hexagonal/rules/preset-layering.md +1 -1
- package/presets/opencode/php-hexagonal/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/php-hexagonal/rules/preset-token-budget.md +10 -10
- package/presets/opencode/php-hexagonal/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/php-hexagonal/rules/product-specs.md +6 -0
- package/presets/opencode/php-hexagonal/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/integration-testing/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/php-hexagonal/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/php-laravel/OPENCODE.md +15 -1
- package/presets/opencode/php-laravel/adapter-map.json +2 -2
- package/presets/opencode/php-laravel/agents/api-contract-reviewer.md +18 -0
- package/presets/opencode/php-laravel/agents/build-verifier.md +18 -1
- package/presets/opencode/php-laravel/agents/ci-investigator.md +29 -0
- package/presets/opencode/php-laravel/agents/code-reviewer.md +16 -0
- package/presets/opencode/php-laravel/agents/codebase-analyzer.md +15 -0
- package/presets/opencode/php-laravel/agents/debugger.md +29 -0
- package/presets/opencode/php-laravel/agents/feature-developer.md +29 -0
- package/presets/opencode/php-laravel/agents/integration-test-generator.md +17 -0
- package/presets/opencode/php-laravel/agents/integration-test-healer.md +17 -0
- package/presets/opencode/php-laravel/agents/integration-test-planner.md +17 -0
- package/presets/opencode/php-laravel/agents/migration-specialist.md +15 -0
- package/presets/opencode/php-laravel/agents/openspec-author.md +15 -0
- package/presets/opencode/php-laravel/agents/performance-auditor.md +15 -0
- package/presets/opencode/php-laravel/agents/qa-tester.md +18 -0
- package/presets/opencode/php-laravel/agents/security-reviewer.md +15 -0
- package/presets/opencode/php-laravel/agents/solution-architect.md +15 -0
- package/presets/opencode/php-laravel/agents/task-analyst.md +15 -0
- package/presets/opencode/php-laravel/agents/task-router.md +15 -0
- package/presets/opencode/php-laravel/agents/tech-writer.md +15 -0
- package/presets/opencode/php-laravel/agents/unit-test-generator.md +16 -0
- package/presets/opencode/php-laravel/agents/unit-test-healer.md +16 -0
- package/presets/opencode/php-laravel/agents/unit-test-planner.md +16 -0
- package/presets/opencode/php-laravel/commands/spec-start.md +1 -1
- package/presets/opencode/php-laravel/commands/task-continue.md +1 -1
- package/presets/opencode/php-laravel/commands/task.md +1 -1
- package/presets/opencode/php-laravel/commands/technical-retro.md +1 -1
- package/presets/opencode/php-laravel/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/php-laravel/opencode.json +14 -0
- package/presets/opencode/php-laravel/rules/README.md +7 -2
- package/presets/opencode/php-laravel/rules/agent-team-intake.md +4 -0
- package/presets/opencode/php-laravel/rules/code-quality-and-refactoring.md +15 -0
- package/presets/opencode/php-laravel/rules/code-review-mr.md +10 -0
- package/presets/opencode/php-laravel/rules/design-guidance.md +6 -0
- package/presets/opencode/php-laravel/rules/mcp-usage.md +6 -0
- package/presets/opencode/php-laravel/rules/preset-layering.md +1 -1
- package/presets/opencode/php-laravel/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/php-laravel/rules/preset-token-budget.md +10 -10
- package/presets/opencode/php-laravel/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/php-laravel/rules/product-specs.md +6 -0
- package/presets/opencode/php-laravel/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/integration-testing/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/php-laravel/skills/write-adr/SKILL.md +1 -1
- package/presets/opencode/svelte/OPENCODE.md +15 -1
- package/presets/opencode/svelte/adapter-map.json +2 -2
- package/presets/opencode/svelte/agents/accessibility-reviewer.md +17 -0
- package/presets/opencode/svelte/agents/api-contract-reviewer.md +19 -0
- package/presets/opencode/svelte/agents/build-verifier.md +19 -2
- package/presets/opencode/svelte/agents/ci-investigator.md +34 -0
- package/presets/opencode/svelte/agents/code-reviewer.md +18 -0
- package/presets/opencode/svelte/agents/codebase-analyzer.md +17 -0
- package/presets/opencode/svelte/agents/debugger.md +34 -0
- package/presets/opencode/svelte/agents/feature-developer.md +34 -0
- package/presets/opencode/svelte/agents/migration-specialist.md +17 -0
- package/presets/opencode/svelte/agents/mockup-reviewer.md +17 -0
- package/presets/opencode/svelte/agents/openspec-author.md +17 -0
- package/presets/opencode/svelte/agents/performance-auditor.md +17 -0
- package/presets/opencode/svelte/agents/playwright-test-generator.md +19 -0
- package/presets/opencode/svelte/agents/playwright-test-healer.md +19 -0
- package/presets/opencode/svelte/agents/playwright-test-planner.md +19 -0
- package/presets/opencode/svelte/agents/qa-tester.md +20 -0
- package/presets/opencode/svelte/agents/security-reviewer.md +17 -0
- package/presets/opencode/svelte/agents/solution-architect.md +17 -0
- package/presets/opencode/svelte/agents/task-analyst.md +17 -0
- package/presets/opencode/svelte/agents/task-router.md +17 -0
- package/presets/opencode/svelte/agents/tech-writer.md +17 -0
- package/presets/opencode/svelte/agents/unit-test-generator.md +18 -0
- package/presets/opencode/svelte/agents/unit-test-healer.md +18 -0
- package/presets/opencode/svelte/agents/unit-test-planner.md +18 -0
- package/presets/opencode/svelte/commands/spec-start.md +1 -1
- package/presets/opencode/svelte/commands/task-continue.md +1 -1
- package/presets/opencode/svelte/commands/task.md +1 -1
- package/presets/opencode/svelte/commands/technical-retro.md +1 -1
- package/presets/opencode/svelte/hooks/chain-team-phases.sh +32 -3
- package/presets/opencode/svelte/opencode.json +19 -0
- package/presets/opencode/svelte/rules/README.md +7 -2
- package/presets/opencode/svelte/rules/code-quality-and-refactoring.md +13 -0
- package/presets/opencode/svelte/rules/code-review-mr.md +13 -0
- package/presets/opencode/svelte/rules/design-guidance.md +5 -0
- package/presets/opencode/svelte/rules/feature-delivery-workflow.md +54 -0
- package/presets/opencode/svelte/rules/mcp-usage.md +9 -0
- package/presets/opencode/svelte/rules/mockup-review.md +4 -0
- package/presets/opencode/svelte/rules/preset-layering.md +1 -1
- package/presets/opencode/svelte/rules/preset-pr-checklist.md +1 -1
- package/presets/opencode/svelte/rules/preset-token-budget.md +10 -10
- package/presets/opencode/svelte/rules/product-specs-authoring.md +6 -0
- package/presets/opencode/svelte/rules/product-specs.md +5 -0
- package/presets/opencode/svelte/rules/reference-features.md +37 -0
- package/presets/opencode/svelte/rules/svelte-ui.md +7 -0
- package/presets/opencode/svelte/rules/tests-e2e-structure.md +16 -0
- package/presets/opencode/svelte/rules/tests-unit.md +11 -0
- package/presets/opencode/svelte/rules/ux-design.md +4 -0
- package/presets/opencode/svelte/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/debug-investigation/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/mockup-review/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/playwright-e2e/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/spec-authoring/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/spec-discovery/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/svelte-performance/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/technical-retro/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/unit-testing/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/ux-design/SKILL.md +1 -1
- package/presets/opencode/svelte/skills/write-adr/SKILL.md +1 -1
- package/scripts/capture-cli-golden.mjs +8 -5
- package/scripts/check-claude-agent-blocks.mjs +82 -0
- package/scripts/check-frontmatter.mjs +83 -0
- package/scripts/check-generated-drift.mjs +106 -0
- package/scripts/check-mavis-token-budget.mjs +1 -1
- package/scripts/check-opencode-token-budget.mjs +1 -1
- package/scripts/check-preset-structure.sh +36 -0
- package/scripts/check-preset-token-budget.sh +16 -17
- package/scripts/check-shared-core-drift.sh +10 -5
- package/scripts/close-agent-task-human-gate.mjs +6 -4
- package/scripts/fixtures/cli-golden/claude/next.json +49 -42
- package/scripts/fixtures/cli-golden/cursor/next.json +24 -17
- package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +42 -42
- package/scripts/fixtures/cli-golden/mavis/go.json +37 -37
- package/scripts/fixtures/cli-golden/mavis/ios-swift.json +43 -43
- package/scripts/fixtures/cli-golden/mavis/java.json +37 -37
- package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +22 -22
- package/scripts/fixtures/cli-golden/mavis/next.json +55 -48
- package/scripts/fixtures/cli-golden/mavis/nuxt.json +45 -45
- package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +37 -37
- package/scripts/fixtures/cli-golden/mavis/php-laravel.json +37 -37
- package/scripts/fixtures/cli-golden/mavis/svelte.json +45 -45
- package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +57 -57
- package/scripts/fixtures/cli-golden/opencode/go.json +50 -50
- package/scripts/fixtures/cli-golden/opencode/ios-swift.json +58 -58
- package/scripts/fixtures/cli-golden/opencode/java.json +50 -50
- package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +31 -31
- package/scripts/fixtures/cli-golden/opencode/next.json +71 -64
- package/scripts/fixtures/cli-golden/opencode/nuxt.json +61 -61
- package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +50 -50
- package/scripts/fixtures/cli-golden/opencode/php-laravel.json +50 -50
- package/scripts/fixtures/cli-golden/opencode/svelte.json +61 -61
- package/scripts/inject-claude-agent-rules-block.mjs +83 -0
- package/scripts/lib/generate-adapter-common.mjs +193 -0
- package/scripts/lib/generate-mavis-adapter.mjs +65 -19
- package/scripts/lib/generate-opencode-adapter.mjs +87 -15
- package/scripts/lib/stack-platform-profiles.mjs +321 -1
- package/scripts/sync-claude-harness-wiring.mjs +56 -0
- package/scripts/sync-claude-settings.mjs +56 -0
- package/scripts/test-agent-task-metrics-hooks.mjs +5 -5
- package/scripts/test-chain-team-phases-coverage.mjs +176 -1
- package/scripts/test-cli-init-clean.mjs +165 -34
- package/scripts/test-cli-mcp-merge.mjs +54 -0
- package/scripts/test-mavis-context-budget.mjs +1 -1
- package/scripts/test-opencode-context-budget.mjs +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
glob: always
|
|
2
|
+
|
|
3
|
+
## Body
|
|
4
|
+
|
|
5
|
+
# Pre-PR checklist
|
|
6
|
+
|
|
7
|
+
Before opening a PR / finishing a branch, acknowledge: `Using .ai.local: pre-pr-checklist(, …)*`.
|
|
8
|
+
|
|
9
|
+
## Checklist
|
|
10
|
+
|
|
11
|
+
- [ ] Commits split: source / artifacts / docs; one area each; no mixed trees
|
|
12
|
+
- [ ] `git status` clean of temp dumps, `* (1).*` copies, debug flags
|
|
13
|
+
- [ ] Lint + type-check + targeted unit + storybook vitest green
|
|
14
|
+
- [ ] e2e plan executed for user-flow AC; mock-path regexes match ≥1 route
|
|
15
|
+
- [ ] L2/L3 `proposal.md` claims reconcile with the shipped diff
|
|
16
|
+
- [ ] Review artifacts cite the reviewed revision (sha)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
override: kill next-app-router
|
|
2
|
+
globs: src/pages/**/*.{ts,tsx},src/ui/**/*.{ts,tsx},next.config.ts
|
|
3
|
+
|
|
4
|
+
## Body
|
|
5
|
+
|
|
6
|
+
# Routing — Pages Router (not App Router)
|
|
7
|
+
|
|
8
|
+
When doing routing / page / navigation work, acknowledge: `Using .ai.local: router-pages(, …)*`.
|
|
9
|
+
|
|
10
|
+
This rule drops the preset's `next-app-router` rule from context for repos using the **Next.js Pages Router**. Enable by moving this file into `.ai.local/rules/` (it is staged-inactive in `.ai.local/rules-library/` by default).
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- Route files live in `src/pages/<route>/index.tsx` (or `<route>.tsx`), thin wrappers.
|
|
15
|
+
- Domain UI lives in `src/ui/pages/<Name>Page`; route files do not contain layout/business logic.
|
|
16
|
+
- Navigation: `next/router` (`useRouter`) and `next/link`. **Never** `next/navigation`.
|
|
17
|
+
- `_app.tsx` / `_document.tsx` stay in `src/pages/`.
|
|
18
|
+
|
|
19
|
+
## Forbidden
|
|
20
|
+
|
|
21
|
+
- Creating App Router files (`src/app/**`, `page.tsx`, `layout.tsx`, `loading.tsx`, `error.tsx`, `route.ts`).
|
|
22
|
+
- Importing `next/navigation` or App Router server APIs (`cookies()`, `headers()`, `redirect()`).
|
|
23
|
+
- `getServerSideProps` / `getStaticProps` — the app is a client-rendered static export; data goes through the store/`@/api`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
globs: src/**/*.{ts,tsx}
|
|
2
|
+
|
|
3
|
+
## Body
|
|
4
|
+
|
|
5
|
+
# Single source for copy, constants, enums, routes
|
|
6
|
+
|
|
7
|
+
When editing `src/**`, acknowledge: `Using .ai.local: single-source-copy-constants(, …)*`.
|
|
8
|
+
|
|
9
|
+
Copy (button labels, headings, alt text, aria-labels), constants, enums, and route paths live in **one** owner module. Components import from that module — they do not redeclare literals.
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
- User-visible copy: inline unless the same string is used in ≥2 distinct places OR is consumed by tests/stories that need a shared reference. Multi-instance refactors belong to a dedicated task.
|
|
14
|
+
- Numeric / pixel / token aliases: inline directly; do not re-wrap into a named constant when used exactly once in the same file.
|
|
15
|
+
- Counters and derived single-use values: inline (`array.length`, computed expressions).
|
|
16
|
+
- Layout sizes of one component (skeleton `height`/`width`/`maxWidth`, one-off `px`) stay as literals in the JSX prop or in `styles.ts`. Do not hoist them into named constants or a `*.data.ts`, even when the same number is repeated in that component's JSX and its styles.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: task
|
|
3
|
-
description: Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist.
|
|
3
|
+
description: "Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Task — unified entry point (router + pipeline)
|
|
@@ -42,7 +42,10 @@ try {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const slug = active.slug;
|
|
45
|
-
|
|
45
|
+
// Reject non-kebab / traversal slugs: the runtime writes status.json and
|
|
46
|
+
// metrics.json under tasks/<slug>, so an unchecked slug could escape the tree.
|
|
47
|
+
const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
48
|
+
if (typeof slug !== 'string' || slug.length > 48 || !SLUG_RE.test(slug)) {
|
|
46
49
|
process.stdout.write('{}');
|
|
47
50
|
process.exit(0);
|
|
48
51
|
}
|
|
@@ -69,6 +72,9 @@ function waitForMetricsLock() {
|
|
|
69
72
|
// and never blocked on the lock file, so two concurrent subagentStop events
|
|
70
73
|
// could both acquire the lock and corrupt metrics.json. Retry EEXIST with a
|
|
71
74
|
// 10 ms sleep up to 200 attempts (2 s ceiling). On any other error, throw.
|
|
75
|
+
// A lock left behind by a killed process is reclaimed once its mtime is older
|
|
76
|
+
// than STALE_LOCK_MS, so one crash cannot brick the task forever.
|
|
77
|
+
const STALE_LOCK_MS = 30000;
|
|
72
78
|
for (let attempt = 0; attempt < 200; attempt += 1) {
|
|
73
79
|
try {
|
|
74
80
|
const fd = fs.openSync(METRICS_LOCK, 'wx');
|
|
@@ -76,6 +82,13 @@ function waitForMetricsLock() {
|
|
|
76
82
|
return;
|
|
77
83
|
} catch (error) {
|
|
78
84
|
if (!error || error.code !== 'EEXIST') throw error;
|
|
85
|
+
try {
|
|
86
|
+
const lockStat = fs.statSync(METRICS_LOCK);
|
|
87
|
+
if (Date.now() - lockStat.mtimeMs > STALE_LOCK_MS) {
|
|
88
|
+
fs.unlinkSync(METRICS_LOCK);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
} catch {}
|
|
79
92
|
const until = Date.now() + 10;
|
|
80
93
|
while (Date.now() < until) { /* 10 ms busy-wait */ }
|
|
81
94
|
}
|
|
@@ -495,7 +508,10 @@ function legacyFlow() {
|
|
|
495
508
|
|
|
496
509
|
|
|
497
510
|
if (hookInput.action === 'end_human_gate') {
|
|
498
|
-
|
|
511
|
+
// Only advance when a gate was actually open. A duplicate or retried
|
|
512
|
+
// end_human_gate must be a no-op, not a silent pipeline skip.
|
|
513
|
+
const gateWasOpen = Boolean(status.activeHumanGateEventId) || status.awaitingHumanGate === true;
|
|
514
|
+
status.awaitingHumanGate = false;
|
|
499
515
|
// A2 (retro §8): pin a single runId per pipeline so subsequent events don't
|
|
500
516
|
// fragment the metrics ledger across multiple runId sequences. Prefer
|
|
501
517
|
// metrics.json.task.runId when metrics already exist, then status.metricsRunId,
|
|
@@ -522,7 +538,7 @@ if (hookInput.action === 'end_human_gate') {
|
|
|
522
538
|
});
|
|
523
539
|
delete status.activeHumanGateEventId;
|
|
524
540
|
}
|
|
525
|
-
if (hookInput.activateNext && fs.existsSync(pipelinePath)) {
|
|
541
|
+
if (gateWasOpen && hookInput.activateNext && fs.existsSync(pipelinePath)) {
|
|
526
542
|
let resumePipeline = null;
|
|
527
543
|
try { resumePipeline = JSON.parse(fs.readFileSync(pipelinePath, 'utf8')); } catch {}
|
|
528
544
|
if (resumePipeline) {
|
|
@@ -544,6 +560,19 @@ if (hookInput.action === 'end_human_gate') {
|
|
|
544
560
|
else out(handoffForAgent(resumeAgents[0], resumeNext.step.scope, resumeNext.step));
|
|
545
561
|
process.exit(0);
|
|
546
562
|
}
|
|
563
|
+
// Gate on the final step: no executable step remains. Complete the
|
|
564
|
+
// pipeline instead of leaving it in_progress forever.
|
|
565
|
+
status.state = 'completed';
|
|
566
|
+
completeTaskMetrics();
|
|
567
|
+
writeStatus({
|
|
568
|
+
pipelineIndex: resumeSteps.length,
|
|
569
|
+
phase: 'done',
|
|
570
|
+
state: 'completed',
|
|
571
|
+
currentAgent: null,
|
|
572
|
+
awaitingHumanGate: false,
|
|
573
|
+
});
|
|
574
|
+
out(`Pipeline complete for "${slug}". Run /technical-retro ${slug}.`);
|
|
575
|
+
process.exit(0);
|
|
547
576
|
}
|
|
548
577
|
}
|
|
549
578
|
// A2 (retro §8): if gate closes the final human gate of the pipeline
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
### Loading strategy
|
|
11
11
|
|
|
12
|
-
- **`alwaysApply: true`** (Cursor) / **without `paths:`** (Claude) — base invariants (
|
|
12
|
+
- **`alwaysApply: true`** (Cursor) / **without `paths:`** (Claude) — base invariants (Cursor/Claude 3–5):
|
|
13
13
|
- Cursor: `next-app-core`, `package-manager`, `code-quality-and-refactoring`, `ai-local-overlay`
|
|
14
14
|
- Claude: `next-app-core`, `package-manager`, `code-quality`
|
|
15
15
|
- **On-demand / requestable** — `post-change-lint` (**required after code edits**, not always-on), `agent-team-intake` (via orchestrator/commands), `agent-team-orchestrator`, architecture, imports, UI, tests, feature-delivery-workflow, `design-guidance`, `mcp-usage`, `anti-sycophancy-discipline`, `react-next-anti-hallucination`, reference-features, product-specs, product-specs-authoring, next-app-router, `security-next`, react-a11y-coding, `technical-retro`, `mockup-review`, `ux-design`
|
|
@@ -21,8 +21,8 @@ impact: HIGH
|
|
|
21
21
|
- For each domain area (for example, orders, billing, account settings):
|
|
22
22
|
- a separate directory in `app/src/api/services/<ServiceName or feature>/**` following repository convention.
|
|
23
23
|
- Inside a module:
|
|
24
|
-
- files with API calls
|
|
25
|
-
- mapper files (`*responseMappers.ts`);
|
|
24
|
+
- files with API calls — follow the repo's shape: `index.ts` / `*.service.ts`, **or** a per-domain module exporting an object (`XxxApiMethods` in `<Domain>.apiMethods.ts` with `<Domain>.endpoints.ts` and `<Domain>.responseTypes.ts`) as in neighboring services;
|
|
25
|
+
- mapper files (`*responseMappers.ts`) — pure `format…` / `map…` functions named as in the repo;
|
|
26
26
|
- request/response-specific types (if not moved to `app/src/types/**` with export through the `@/types` barrel).
|
|
27
27
|
- when needed — local `index.ts` / barrel inside the module for structure **within** `app/src/api/**`; **outside** this layer UI, store, and other code import only from the root barrel `app/src/api/index.ts` (`import … from '@/api'`, **`public-imports.mdc`**).
|
|
28
28
|
|
|
@@ -70,10 +70,12 @@ export const getCard = async (id: string) => {
|
|
|
70
70
|
|
|
71
71
|
```ts
|
|
72
72
|
import type { TCard } from '@/types'
|
|
73
|
-
import {
|
|
73
|
+
import { formatCardResponse } from './cardResponseMappers'
|
|
74
74
|
|
|
75
75
|
export const getCard = async (id: string): Promise<TCard> => {
|
|
76
76
|
const { data } = await cardsClient.get(`/cards/${id}`)
|
|
77
|
-
return
|
|
77
|
+
return formatCardResponse(data)
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
|
+
|
|
81
|
+
Mapper function verb (`format…` vs `map…`) follows the repo — match neighboring mappers.
|
|
@@ -19,6 +19,12 @@ alwaysApply: true
|
|
|
19
19
|
- **CUPID:** Composable; Unix philosophy (one responsibility); Predictable; Idiomatic (repo); Domain-based.
|
|
20
20
|
- **Composition over inheritance;** Law of Demeter — no `a.b.c.d` chains; via public API / facade.
|
|
21
21
|
|
|
22
|
+
# Over-abstraction guardrails
|
|
23
|
+
|
|
24
|
+
- **No unnecessary constants:** do not hoist a one-off literal, string, or boolean into a named constant. Inline it, or use an existing token/enum when the value is meaningful and reused. Named constants are for shared, semantic, or repeated values.
|
|
25
|
+
- **No invented utilities:** do not add a `utils`/helper for a single call site or a thin pass-through wrapper. Inline it or extend the existing helper; a new shared utility is justified only after the Rule of Three.
|
|
26
|
+
- **Decompose over conditionals:** a unit (function, component, hook) that accumulates several branches (`if` / ternary / `switch`) should be split into smaller units with one reason to change instead of piling up conditions.
|
|
27
|
+
|
|
22
28
|
# Refactoring during changes
|
|
23
29
|
|
|
24
30
|
- Light refactor is OK if it reduces duplication, improves readability, and does not break public contracts.
|
|
@@ -11,6 +11,10 @@ alwaysApply: false
|
|
|
11
11
|
|
|
12
12
|
When the prompt or `brief.md` contains a `figma.com` URL, **mockup review** (`mockup-reviewer` / skill `mockup-review`) must complete — or the user must continue past FAIL/`BLOCKED_MCP` via `/task-continue` — **before UI implementation**. Non-UI tasks no-op this gate. When required-signal and **no** `figma.com`, **`ux-design.md`** (on the analysis manifest entry) must exist and not be `INCOMPLETE` before UI work — else **blocked**, hand back to `task-analyst`. Parallel to the mockup gate.
|
|
13
13
|
|
|
14
|
+
## Style discovery (mandatory)
|
|
15
|
+
|
|
16
|
+
Before writing a new file in a layer, open **1–2 analog files** in the same layer and mirror: export shape, name prefixes (`T` / `I` where the repo uses them), file suffixes (`.apiMethods.ts`, `.endpoints.ts`, `.data.ts`, `.hooks.ts`, `styles.ts`), mapper / selector / thunk naming, and barrel shape. Record the analogs in the handoff. Where this preset's examples differ from the repo, **the repo wins**.
|
|
17
|
+
|
|
14
18
|
Typical feature with backend data and shared state. Layer details — `architecture-boundaries.mdc`, `next-app-core.mdc`.
|
|
15
19
|
|
|
16
20
|
## Checklist (work order)
|
|
@@ -10,8 +10,9 @@ Concrete versions come **from `package.json` and configs of the target repositor
|
|
|
10
10
|
# Project structure
|
|
11
11
|
|
|
12
12
|
- `app/` — Next.js root; `app/src/**` — code; `app/__tests__/e2e/**` — e2e.
|
|
13
|
-
- `app/tsconfig.json`: `
|
|
13
|
+
- `app/tsconfig.json`: `paths: { "@/*": ["./src/*"] }` (`baseUrl` may be absent with TS ≥5 / `moduleResolution: bundler` — check the file, do not add it blindly).
|
|
14
14
|
- **Requirement:** `@/*` instead of relative imports that climb the tree.
|
|
15
|
+
- **Router mode:** detect from the repo before adding routes — App Router (`app/src/app/**`, `page.tsx`) vs Pages Router (`app/src/pages/**`, `_app.tsx`). Do **not** assume App Router; follow the mode already in use (`next-app-router.mdc`, `navigation-router-stack.mdc`).
|
|
15
16
|
|
|
16
17
|
# Architectural layers
|
|
17
18
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Preset authoring: Core → Stack → Platform layering. Use when editing packages/ai-rules/presets/**.
|
|
2
|
+
description: "Preset authoring: Core → Stack → Platform layering. Use when editing packages/ai-rules/presets/**."
|
|
3
3
|
globs:
|
|
4
4
|
- packages/ai-rules/presets/**/*
|
|
5
5
|
- .cursor/rules/**/*
|
|
@@ -18,7 +18,7 @@ Rules for **preset authors** (`packages/ai-rules/presets/**`). Not always-on in
|
|
|
18
18
|
| Layer | Where | What to put |
|
|
19
19
|
|-------|-------|-------------|
|
|
20
20
|
| **Core** | `presets/_shared/core/**` | Stack-agnostic prose + checklists; no frontmatter; no paths `app/**`, `Features/**`, Playwright, xcodebuild |
|
|
21
|
-
| **Stack** | `presets/{cursor\|claude\|mavis\|opencode}/<stack>/` | Domain/tooling, stack always-on
|
|
21
|
+
| **Stack** | `presets/{cursor\|claude\|mavis\|opencode}/<stack>/` | Domain/tooling, stack always-on set (3–5), stack examples in **Stack notes** |
|
|
22
22
|
| **Platform** | Cursor `.mdc` / Claude `.md` / Mavis `.md` / OpenCode `.md` | Frontmatter (`alwaysApply`/`globs` vs `paths:` vs OpenCode `mode`/`permission`), platform-only (`BUGBOT.md`, `CLAUDE.md`) |
|
|
23
23
|
|
|
24
24
|
## Where to put a new rule
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Preset authoring: PR checklist for twin sync, budget, leakage, README. Use on preset PRs.
|
|
2
|
+
description: "Preset authoring: PR checklist for twin sync, budget, leakage, README. Use on preset PRs."
|
|
3
3
|
globs:
|
|
4
4
|
- packages/ai-rules/presets/**/*
|
|
5
5
|
- .cursor/rules/**/*
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **Mavis derive:** mapped `cursor/<stack>/` change → `mavis/<stack>/` + `adapter-map.json` **same PR** when the stack is in `releasedStacks` (run `generate-mavis.mjs --stack <stack>` + `check-mavis-adapter-map.mjs`; see `preset-twin-sync` § Mavis derivation)
|
|
22
22
|
- [ ] **OpenCode derive:** mapped `cursor/<stack>/` change → `opencode/<stack>/` + `adapter-map.json` **same PR** when the stack is in `releasedStacks` (run `generate-opencode.mjs --stack <stack>` + `check-opencode-adapter-map.mjs`; see `preset-twin-sync` § OpenCode derivation)
|
|
23
23
|
- [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table is current
|
|
24
|
-
- [ ] **Token budget:** Cursor `alwaysApply`
|
|
24
|
+
- [ ] **Token budget:** Cursor `alwaysApply` and Claude session-start both **3–5** (extra slots reserved for `ai-local-overlay`); body sum ≤200 (stretch ≤170); meta rules not always-on
|
|
25
25
|
- [ ] **Local overlay coverage:** every installable stack ships `ai-local-overlay.mdc` (Cursor) and `ai-local-overlay.md` (Claude) with `MANDATORY` + acknowledgement format + `docs/LOCAL-OVERLAY.md` pointer; Claude twin listed in `claude/<stack>/rules/README.md` mapping table. Run `packages/ai-rules/scripts/check-local-overlay.sh`.
|
|
26
26
|
- [ ] **Leakage:** no foreign stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
|
|
27
27
|
- [ ] **Hook-only lifecycle:** `status.json` / `metrics.json` writes happen only inside `hooks/`; agents read but never rewrite lifecycle fields. Run `packages/ai-rules/scripts/check-hook-only-lifecycle.sh`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Preset authoring: ≤3 always-on / session-start; meta rules never alwaysApply.
|
|
2
|
+
description: "Preset authoring: ≤3 always-on / session-start; meta rules never alwaysApply."
|
|
3
3
|
globs:
|
|
4
4
|
- packages/ai-rules/presets/**/*
|
|
5
5
|
- .cursor/rules/**/*
|
|
@@ -17,19 +17,19 @@ Invariants for rule loading in an **installed** preset (consumer app).
|
|
|
17
17
|
|
|
18
18
|
| Platform | Always-on | Cap |
|
|
19
19
|
|----------|-----------|-----|
|
|
20
|
-
| Cursor | `alwaysApply: true` |
|
|
21
|
-
| Claude | rules **without** `paths:` | **
|
|
22
|
-
| Mavis | `adapter-map` rules with `loadMode: root-entry` |
|
|
23
|
-
| OpenCode | `adapter-map` rules with `loadMode: root-entry` |
|
|
20
|
+
| Cursor | `alwaysApply: true` | **3–5** |
|
|
21
|
+
| Claude | rules **without** `paths:` | **3–5** |
|
|
22
|
+
| Mavis | `adapter-map` rules with `loadMode: root-entry` | **3–5** |
|
|
23
|
+
| OpenCode | `adapter-map` rules with `loadMode: root-entry` | **3–5** |
|
|
24
24
|
|
|
25
|
-
**
|
|
25
|
+
Caps are **aligned** across platforms: minimum **3** (base invariants), maximum **5**. Slots beyond the base invariants are reserved for `ai-local-overlay` (consumer-owned `.ai.local/` rules). If you do not need local overlay, demote that rule to `globs: ["**/.ai.local/**"]` / Claude `paths:`, or a non-root load mode on Mavis / OpenCode.
|
|
26
26
|
|
|
27
|
-
**Claude Option A (README exclusion):** when counting Claude rules without `paths:` / session-start, **exclude `**/README.md`** (topic indexes are not session-start rules).
|
|
27
|
+
**Claude Option A (README exclusion):** when counting Claude rules without `paths:` / session-start, **exclude `**/README.md`** (topic indexes are not session-start rules). Body budget sums only the intended session-start rules (≤5).
|
|
28
28
|
|
|
29
29
|
Session-start body budget:
|
|
30
|
-
- Claude
|
|
31
|
-
- Cursor
|
|
32
|
-
- Mavis / OpenCode: ≤
|
|
30
|
+
- Claude session-start: ≤200 lines total (stretch ≤170).
|
|
31
|
+
- Cursor always-on: ≤200 lines total (stretch ≤170).
|
|
32
|
+
- Mavis / OpenCode: ≤5 root-entry rule files; combined root `AGENTS.md` + platform entry ≤200 nonempty lines. Do not dump the full rule catalog into `AGENTS.md`.
|
|
33
33
|
|
|
34
34
|
## Meta / author rules
|
|
35
35
|
|
|
@@ -45,4 +45,4 @@ Orchestrator, feature-delivery, code-review, post-change gates, domain globs —
|
|
|
45
45
|
|
|
46
46
|
## Verifier
|
|
47
47
|
|
|
48
|
-
build-verifier **FAIL** if Cursor `alwaysApply` count
|
|
48
|
+
build-verifier **FAIL** if Cursor `alwaysApply` count or Claude session-start count is outside **3–5** (Claude count **excludes `**/README.md`**), or if a `preset-*` meta rule is marked always-on.
|
|
@@ -8,6 +8,7 @@ impact: HIGH
|
|
|
8
8
|
# General component rules
|
|
9
9
|
|
|
10
10
|
- Use **functional components** with hooks, no classes.
|
|
11
|
+
- Export as `export const ComponentName = ({ ... }: IProps) => …` (arrow + props type). No `FC` / `React.FC`.
|
|
11
12
|
- A component should:
|
|
12
13
|
- stay as "thin" as possible on business logic;
|
|
13
14
|
- delegate state to store/hooks when needed in multiple places;
|
|
@@ -16,6 +17,41 @@ impact: HIGH
|
|
|
16
17
|
- For repeated logic, create `useSomething` hooks nearby or in `src/ui/hooks/**`.
|
|
17
18
|
- When accessing store, API, shared helpers, and utilities, components and hooks must use only their **public API** (for example, `@/store`, `@/store/slices/Foo`, `@/lib/utils`), not internal implementation files of other modules.
|
|
18
19
|
|
|
20
|
+
# Conditional rendering
|
|
21
|
+
|
|
22
|
+
- Prefer **decomposition over conditionals**: a component with more than one or two branches (nested ternaries, long `&&` chains, several early returns) should extract each branch into a child under `./components/<Name>/`, keeping the parent a thin switch.
|
|
23
|
+
- Keep the condition in the parent; the child receives resolved props.
|
|
24
|
+
- No nested ternaries in JSX. For not-ready / empty / error, use an early return or a dedicated `EmptyState` / `ErrorState` component.
|
|
25
|
+
- A `variant` / `mode` flag that renders two unrelated layouts is **two** components, not one.
|
|
26
|
+
|
|
27
|
+
## Incorrect
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
export const OrderPanel = ({ order }: Props) => (
|
|
31
|
+
<div>
|
|
32
|
+
{order == null ? (
|
|
33
|
+
<Spinner />
|
|
34
|
+
) : order.items.length === 0 ? (
|
|
35
|
+
<p>No items</p>
|
|
36
|
+
) : order.status === 'paid' ? (
|
|
37
|
+
<PaidList items={order.items} />
|
|
38
|
+
) : (
|
|
39
|
+
<UnpaidList items={order.items} />
|
|
40
|
+
)}
|
|
41
|
+
</div>
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Correct
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
export const OrderPanel = ({ order }: Props) => {
|
|
49
|
+
if (order == null) return <Spinner />
|
|
50
|
+
if (order.items.length === 0) return <EmptyState />
|
|
51
|
+
return <OrderItems order={order} />
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
19
55
|
# File structure
|
|
20
56
|
|
|
21
57
|
For a page/large block:
|
|
@@ -70,7 +106,7 @@ For a reusable component:
|
|
|
70
106
|
# Props and typing
|
|
71
107
|
|
|
72
108
|
- **Do not pass props via spread** (`<Foo {...x} />`). Only explicit attributes; details and exceptions — `no-props-spread.mdc` (in `app/src/ui` ESLint catches this too).
|
|
73
|
-
- Describe props with `type
|
|
109
|
+
- Describe props with a local `interface` / `type` named as the repo does (`interface IProps` / `type TProps`); match the neighboring component. No `FC` / `React.FC`.
|
|
74
110
|
- Do not use `any`; when needed:
|
|
75
111
|
- generics (`<T>`), `unknown`, type predicates and user-defined type guards.
|
|
76
112
|
- For domain entities use types from `@/types` (and enums from `@/types/enums`), not redefined locally (`public-imports.mdc`).
|
|
@@ -16,7 +16,7 @@ alwaysApply: false
|
|
|
16
16
|
|
|
17
17
|
Before implementing, find a feature of the same type and **mirror its structure**; do not invent a new file organization.
|
|
18
18
|
|
|
19
|
-
Taxonomy / shared core: [`presets/_shared/README.md`](
|
|
19
|
+
Taxonomy / shared core: [`presets/_shared/README.md`](../../../_shared/README.md) · [Preset contribution guide](../../../../docs/PRESET-CONTRIBUTION.md).
|
|
20
20
|
|
|
21
21
|
## Reference table
|
|
22
22
|
|
|
@@ -18,13 +18,14 @@ impact: HIGH
|
|
|
18
18
|
# Slice structure
|
|
19
19
|
|
|
20
20
|
- Each domain module — its own slice in `app/src/store/slices/**`.
|
|
21
|
-
- A slice exports:
|
|
22
|
-
- default `reducer`;
|
|
23
|
-
-
|
|
24
|
-
- selectors `selectSomething(state: RootState): Type`.
|
|
21
|
+
- A slice exports — follow the repo's shape:
|
|
22
|
+
- a named slice (`xxxSlice`) re-exported through a per-slice barrel (`index.ts`), **or** a default `reducer`;
|
|
23
|
+
- actions as named exports;
|
|
24
|
+
- selectors named as in the repo (`selectSomething(state: RootState): Type`, or a curried `xxxSelector = (args) => (state) => …`); memoize derived values with `createSelector`.
|
|
25
25
|
- State:
|
|
26
26
|
- explicit state type;
|
|
27
|
-
- careful `initialState` initialization
|
|
27
|
+
- careful `initialState` initialization;
|
|
28
|
+
- typed root state — use the repo's `RootState` if present, otherwise the local `IRootState` interface neighboring slices use.
|
|
28
29
|
|
|
29
30
|
# Async and side effects
|
|
30
31
|
|
|
@@ -13,4 +13,4 @@ npx @bonesofspring/ai-rules init cursor --preset nuxt
|
|
|
13
13
|
| `rules/`, `agents/`, `skills/`, `commands/`, `hooks/` | `.cursor/<dir>/` |
|
|
14
14
|
| `team/` | **`.ai.local/team/`** (templates; slugs preserved) |
|
|
15
15
|
|
|
16
|
-
Always-on (
|
|
16
|
+
Always-on (3–5): `nuxt-app-core`, `package-manager`, `code-quality-and-refactoring`, `ai-local-overlay`. Skill `vue-performance`. Twin: `presets/claude/nuxt/`. Catalog: [`rules/README.md`](./rules/README.md).
|
|
@@ -38,12 +38,12 @@ When validating **preset packaging** changes (paths under `packages/ai-rules/pre
|
|
|
38
38
|
|
|
39
39
|
### FAIL (all stacks)
|
|
40
40
|
|
|
41
|
-
1. **Token budget:** Cursor `alwaysApply: true` count
|
|
41
|
+
1. **Token budget:** Cursor `alwaysApply: true` count 3–5; Claude rules without `paths:` 3–5 (**exclude `**/README.md`** — Option A). Meta `preset-*` rules must **not** be `alwaysApply: true`.
|
|
42
42
|
2. **Leakage (nuxt):** hooks/agents must not require `xcuitest-test-*` handoffs or `xcodebuild` as the default Nuxt post-change gate. See `preset-no-cross-stack-leakage.mdc`.
|
|
43
43
|
3. **Mapping / README:** `claude/nuxt/rules/README.md` must include a Cursor→Claude mapping table; stack `rules/README.md` should document core→stack mapping when `_shared` consumers exist.
|
|
44
44
|
4. **shared-core consumers:** if `_shared/core/**` changed, every file with matching `<!-- shared-core: … -->` in this PR must be updated (or intentional fork documented in validation-report).
|
|
45
45
|
5. **Twin presence:** Cursor rule change without Claude twin same PR → **FAIL** (next, nuxt, svelte, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel). Domain twin body ≥15 lines; thin aliases (`agent-team-intake`, `technical-retro`) may be shorter.
|
|
46
|
-
6. **Session-start body budget (soft→document, FAIL if grossly over):** sum body lines of the
|
|
46
|
+
6. **Session-start body budget (soft→document, FAIL if grossly over):** sum body lines of the intended always-on / session-start rules ≤ **200** (stretch ≤170); do **not** include `**/README.md`. Record the sum in validation-report.
|
|
47
47
|
7. **Embed drift (hard in `check:preset-structure`):** run `packages/ai-rules/scripts/check-shared-core-drift.sh` with `AI_RULES_DRIFT_FAIL=1` (bundled by the structure orchestrator). Lineage stems are excluded from body equality.
|
|
48
48
|
8. **Dogfood (monorepo soft):** if root `.cursor/` is in the PR, prefer sync via `packages/ai-rules/scripts/sync-dogfood-cursor.sh`; mass deletion of tracked dogfood without migration doc → note as risk / FAIL for maintainers.
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: task
|
|
3
|
-
description: Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist.
|
|
3
|
+
description: "Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Task — single entry point (router + pipeline)
|
|
@@ -42,7 +42,10 @@ try {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const slug = active.slug;
|
|
45
|
-
|
|
45
|
+
// Reject non-kebab / traversal slugs: the runtime writes status.json and
|
|
46
|
+
// metrics.json under tasks/<slug>, so an unchecked slug could escape the tree.
|
|
47
|
+
const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
48
|
+
if (typeof slug !== 'string' || slug.length > 48 || !SLUG_RE.test(slug)) {
|
|
46
49
|
process.stdout.write('{}');
|
|
47
50
|
process.exit(0);
|
|
48
51
|
}
|
|
@@ -69,6 +72,9 @@ function waitForMetricsLock() {
|
|
|
69
72
|
// and never blocked on the lock file, so two concurrent subagentStop events
|
|
70
73
|
// could both acquire the lock and corrupt metrics.json. Retry EEXIST with a
|
|
71
74
|
// 10 ms sleep up to 200 attempts (2 s ceiling). On any other error, throw.
|
|
75
|
+
// A lock left behind by a killed process is reclaimed once its mtime is older
|
|
76
|
+
// than STALE_LOCK_MS, so one crash cannot brick the task forever.
|
|
77
|
+
const STALE_LOCK_MS = 30000;
|
|
72
78
|
for (let attempt = 0; attempt < 200; attempt += 1) {
|
|
73
79
|
try {
|
|
74
80
|
const fd = fs.openSync(METRICS_LOCK, 'wx');
|
|
@@ -76,6 +82,13 @@ function waitForMetricsLock() {
|
|
|
76
82
|
return;
|
|
77
83
|
} catch (error) {
|
|
78
84
|
if (!error || error.code !== 'EEXIST') throw error;
|
|
85
|
+
try {
|
|
86
|
+
const lockStat = fs.statSync(METRICS_LOCK);
|
|
87
|
+
if (Date.now() - lockStat.mtimeMs > STALE_LOCK_MS) {
|
|
88
|
+
fs.unlinkSync(METRICS_LOCK);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
} catch {}
|
|
79
92
|
const until = Date.now() + 10;
|
|
80
93
|
while (Date.now() < until) { /* 10 ms busy-wait */ }
|
|
81
94
|
}
|
|
@@ -495,7 +508,10 @@ function legacyFlow() {
|
|
|
495
508
|
|
|
496
509
|
|
|
497
510
|
if (hookInput.action === 'end_human_gate') {
|
|
498
|
-
|
|
511
|
+
// Only advance when a gate was actually open. A duplicate or retried
|
|
512
|
+
// end_human_gate must be a no-op, not a silent pipeline skip.
|
|
513
|
+
const gateWasOpen = Boolean(status.activeHumanGateEventId) || status.awaitingHumanGate === true;
|
|
514
|
+
status.awaitingHumanGate = false;
|
|
499
515
|
// A2 (retro §8): pin a single runId per pipeline so subsequent events don't
|
|
500
516
|
// fragment the metrics ledger across multiple runId sequences. Prefer
|
|
501
517
|
// metrics.json.task.runId when metrics already exist, then status.metricsRunId,
|
|
@@ -522,7 +538,7 @@ if (hookInput.action === 'end_human_gate') {
|
|
|
522
538
|
});
|
|
523
539
|
delete status.activeHumanGateEventId;
|
|
524
540
|
}
|
|
525
|
-
if (hookInput.activateNext && fs.existsSync(pipelinePath)) {
|
|
541
|
+
if (gateWasOpen && hookInput.activateNext && fs.existsSync(pipelinePath)) {
|
|
526
542
|
let resumePipeline = null;
|
|
527
543
|
try { resumePipeline = JSON.parse(fs.readFileSync(pipelinePath, 'utf8')); } catch {}
|
|
528
544
|
if (resumePipeline) {
|
|
@@ -544,6 +560,19 @@ if (hookInput.action === 'end_human_gate') {
|
|
|
544
560
|
else out(handoffForAgent(resumeAgents[0], resumeNext.step.scope, resumeNext.step));
|
|
545
561
|
process.exit(0);
|
|
546
562
|
}
|
|
563
|
+
// Gate on the final step: no executable step remains. Complete the
|
|
564
|
+
// pipeline instead of leaving it in_progress forever.
|
|
565
|
+
status.state = 'completed';
|
|
566
|
+
completeTaskMetrics();
|
|
567
|
+
writeStatus({
|
|
568
|
+
pipelineIndex: resumeSteps.length,
|
|
569
|
+
phase: 'done',
|
|
570
|
+
state: 'completed',
|
|
571
|
+
currentAgent: null,
|
|
572
|
+
awaitingHumanGate: false,
|
|
573
|
+
});
|
|
574
|
+
out(`Pipeline complete for "${slug}". Run /technical-retro ${slug}.`);
|
|
575
|
+
process.exit(0);
|
|
547
576
|
}
|
|
548
577
|
}
|
|
549
578
|
// A2 (retro §8): if gate closes the final human gate of the pipeline
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Optional: format/lint edited JS/TS
|
|
3
|
-
# NOT in default hooks.json.
|
|
2
|
+
# Optional: format/lint edited JS/TS/Vue at the Nuxt project root after save.
|
|
3
|
+
# NOT in default hooks.json. Cwd: directory with nuxt.config.* (not a Next-style app/ wrapper).
|
|
4
4
|
set -euo pipefail
|
|
5
5
|
ROOT="${CURSOR_PROJECT_DIR:-.}"
|
|
6
|
-
cd "$ROOT
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
cd "$ROOT" 2>/dev/null || exit 0
|
|
7
|
+
[[ -f nuxt.config.js || -f nuxt.config.ts || -f nuxt.config.mjs ]] || exit 0
|
|
8
|
+
# Prefer project scripts; adjust names to match package.json (see package-manager).
|
|
9
|
+
yarn lint:js --fix 2>/dev/null \
|
|
10
|
+
|| yarn eslint --fix . 2>/dev/null \
|
|
11
|
+
|| true
|
|
11
12
|
exit 0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Optional: scoped unit tests
|
|
2
|
+
# Optional: scoped unit tests at the Nuxt project root.
|
|
3
3
|
# NOT in default hooks.json. No Playwright here.
|
|
4
|
+
# Cwd: directory with nuxt.config.* (not a Next-style app/ wrapper).
|
|
4
5
|
set -euo pipefail
|
|
5
6
|
ROOT="${CURSOR_PROJECT_DIR:-.}"
|
|
6
|
-
cd "$ROOT
|
|
7
|
-
|
|
7
|
+
cd "$ROOT" 2>/dev/null || exit 0
|
|
8
|
+
[[ -f nuxt.config.js || -f nuxt.config.ts || -f nuxt.config.mjs ]] || exit 0
|
|
9
|
+
# Prefer Vitest related/run; fall back to the package `test` script (see package-manager).
|
|
10
|
+
yarn vitest related --run --passWithNoTests 2>/dev/null \
|
|
11
|
+
|| yarn test --run --passWithNoTests 2>/dev/null \
|
|
12
|
+
|| true
|
|
8
13
|
exit 0
|
|
@@ -19,6 +19,12 @@ alwaysApply: true
|
|
|
19
19
|
- **CUPID:** Composable; Unix philosophy (one responsibility); Predictable; Idiomatic (repo); Domain-based.
|
|
20
20
|
- **Composition over inheritance;** Law of Demeter — no `a.b.c.d` chains; via public API / facade.
|
|
21
21
|
|
|
22
|
+
# Over-abstraction guardrails
|
|
23
|
+
|
|
24
|
+
- **No unnecessary constants:** do not hoist a one-off literal, string, or boolean into a named constant. Inline it, or use an existing token/enum when the value is meaningful and reused. Named constants are for shared, semantic, or repeated values.
|
|
25
|
+
- **No invented utilities:** do not add a `utils`/helper for a single call site or a thin pass-through wrapper. Inline it or extend the existing helper; a new shared utility is justified only after the Rule of Three.
|
|
26
|
+
- **Decompose over conditionals:** a unit (function, component, hook) that accumulates several branches (`if` / ternary / `switch`) should be split into smaller units with one reason to change instead of piling up conditions.
|
|
27
|
+
|
|
22
28
|
# Refactoring during changes
|
|
23
29
|
|
|
24
30
|
- Light refactor is OK if it reduces duplication, improves readability, and does not break public contracts.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Preset authoring: Core → Stack → Platform layering. Use when editing packages/ai-rules/presets/**.
|
|
2
|
+
description: "Preset authoring: Core → Stack → Platform layering. Use when editing packages/ai-rules/presets/**."
|
|
3
3
|
globs:
|
|
4
4
|
- packages/ai-rules/presets/**/*
|
|
5
5
|
- .cursor/rules/**/*
|
|
@@ -18,7 +18,7 @@ Rules for **preset authors** (`packages/ai-rules/presets/**`). Not always-on in
|
|
|
18
18
|
| Layer | Where | What to put |
|
|
19
19
|
|-------|-------|-------------|
|
|
20
20
|
| **Core** | `presets/_shared/core/**` | Stack-agnostic prose + checklists; no frontmatter; no paths `app/**`, `Features/**`, Playwright, xcodebuild |
|
|
21
|
-
| **Stack** | `presets/{cursor\|claude\|mavis\|opencode}/<stack>/` | Domain/tooling, stack always-on
|
|
21
|
+
| **Stack** | `presets/{cursor\|claude\|mavis\|opencode}/<stack>/` | Domain/tooling, stack always-on set (3–5), stack examples in **Stack notes** |
|
|
22
22
|
| **Platform** | Cursor `.mdc` / Claude `.md` / Mavis `.md` / OpenCode `.md` | Frontmatter (`alwaysApply`/`globs` vs `paths:` vs OpenCode `mode`/`permission`), platform-only (`BUGBOT.md`, `CLAUDE.md`) |
|
|
23
23
|
|
|
24
24
|
## Where to put a new rule
|