@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
|
@@ -5,9 +5,12 @@ import fs from 'node:fs';
|
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import {
|
|
8
|
+
expectedRulesToLoadBlock,
|
|
9
|
+
PLATFORM_RULES_INTRO,
|
|
8
10
|
countAgentRoleFiles,
|
|
9
11
|
deriveAdapterStack,
|
|
10
12
|
dropLeadingHeading,
|
|
13
|
+
extractStackNotesSection,
|
|
11
14
|
isEmbedEntryBody,
|
|
12
15
|
parseFrontmatterFields,
|
|
13
16
|
readSiblingReadme,
|
|
@@ -26,6 +29,7 @@ import {
|
|
|
26
29
|
} from './generate-adapter-common.mjs';
|
|
27
30
|
import {
|
|
28
31
|
AGENT_WRITE_SCOPES,
|
|
32
|
+
getZoneRulesForAgent,
|
|
29
33
|
getStackProfile,
|
|
30
34
|
parseStackArg,
|
|
31
35
|
REVIEW_AGENTS,
|
|
@@ -85,7 +89,11 @@ function stripEmbeddedCatalogLine(body) {
|
|
|
85
89
|
);
|
|
86
90
|
}
|
|
87
91
|
|
|
88
|
-
function transformMarkdown(
|
|
92
|
+
function transformMarkdown(
|
|
93
|
+
sourceText,
|
|
94
|
+
stack,
|
|
95
|
+
{ allowEmbedEntry = true, preserveStackNotes = true } = {},
|
|
96
|
+
) {
|
|
89
97
|
const rewriteProse = (text) => finalizeOpencodeProse(text, stack);
|
|
90
98
|
const { body } = stripFrontmatter(sourceText);
|
|
91
99
|
const stem =
|
|
@@ -99,7 +107,13 @@ function transformMarkdown(sourceText, stack, { allowEmbedEntry = true } = {}) {
|
|
|
99
107
|
}
|
|
100
108
|
const coreBody = fs.readFileSync(corePath, 'utf8').trimEnd();
|
|
101
109
|
const marker = `<!-- shared-core: ${stem} -->`;
|
|
110
|
+
// Preserve the Cursor adapter's `## Stack notes` (stack-specific paths, runners,
|
|
111
|
+
// selectors) instead of replacing the whole body with the generic core.
|
|
112
|
+
const stackNotes = preserveStackNotes ? extractStackNotesSection(body) : '';
|
|
102
113
|
next = `${marker}\n\n${coreBody}\n`;
|
|
114
|
+
if (stackNotes) {
|
|
115
|
+
next += `\n${stackNotes}\n`;
|
|
116
|
+
}
|
|
103
117
|
next = rewriteConsumerPaths(next);
|
|
104
118
|
} else {
|
|
105
119
|
next = rewriteProse(body);
|
|
@@ -120,7 +134,7 @@ function yamlEditPermission(canEditProduction, extraScopes) {
|
|
|
120
134
|
return `permission:\n edit:\n "*": deny\n${globLines}`;
|
|
121
135
|
}
|
|
122
136
|
|
|
123
|
-
function transformAgent(source, sourceText, stack, developerAgents) {
|
|
137
|
+
function transformAgent(source, sourceText, stack, developerAgents, profile, availableStems) {
|
|
124
138
|
const { frontmatter, body } = stripFrontmatter(sourceText);
|
|
125
139
|
const fields = parseFrontmatterFields(frontmatter);
|
|
126
140
|
const stem = path.basename(source, '.md');
|
|
@@ -130,7 +144,14 @@ function transformAgent(source, sourceText, stack, developerAgents) {
|
|
|
130
144
|
const description = fields.description || stem;
|
|
131
145
|
const header = `---\nname: ${stem}\ndescription: ${yamlString(description)}\nmode: subagent\n${permission}\n---\n\n`;
|
|
132
146
|
const transformed = finalizeOpencodeProse(body, stack);
|
|
133
|
-
|
|
147
|
+
const rulesBlock = expectedRulesToLoadBlock({
|
|
148
|
+
rulesPath: '.opencode/rules',
|
|
149
|
+
alwaysOn: profile?.alwaysOn ?? [],
|
|
150
|
+
zoneRules: getZoneRulesForAgent(stack, stem),
|
|
151
|
+
availableStems: availableStems ?? new Set(),
|
|
152
|
+
intro: PLATFORM_RULES_INTRO.opencode,
|
|
153
|
+
});
|
|
154
|
+
let withNote = `${rulesBlock}\n\n${transformed}`;
|
|
134
155
|
if (!canEditProduction) {
|
|
135
156
|
let leadIn;
|
|
136
157
|
if (extraScopes.length > 0) {
|
|
@@ -141,7 +162,7 @@ function transformAgent(source, sourceText, stack, developerAgents) {
|
|
|
141
162
|
} else {
|
|
142
163
|
leadIn = 'Write only team artifacts under `.ai.local/team/**`. Do not edit production code.';
|
|
143
164
|
}
|
|
144
|
-
withNote = `${leadIn}\n\n${transformed}`;
|
|
165
|
+
withNote = `${leadIn}\n\n${rulesBlock}\n\n${transformed}`;
|
|
145
166
|
}
|
|
146
167
|
return `${header}${withNote.endsWith('\n') ? withNote : `${withNote}\n`}`;
|
|
147
168
|
}
|
|
@@ -160,7 +181,7 @@ function transformSkill(sourceText, stack) {
|
|
|
160
181
|
const fields = parseFrontmatterFields(frontmatter);
|
|
161
182
|
const name = fields.name || '';
|
|
162
183
|
const description = fields.description || '';
|
|
163
|
-
const header = `---\nname: ${name}\ndescription: ${description}\n---\n\n`;
|
|
184
|
+
const header = `---\nname: ${name}\ndescription: ${yamlString(description)}\n---\n\n`;
|
|
164
185
|
const transformed = finalizeOpencodeProse(body, stack);
|
|
165
186
|
return `${header}${transformed.endsWith('\n') ? transformed : `${transformed}\n`}`;
|
|
166
187
|
}
|
|
@@ -173,11 +194,11 @@ function transformCommand(sourceText, stack) {
|
|
|
173
194
|
if (!next.includes('$ARGUMENTS')) {
|
|
174
195
|
next = `## Invocation arguments\n\n$ARGUMENTS\n\n${next}`;
|
|
175
196
|
}
|
|
176
|
-
const header = `---\ndescription: ${description}\n---\n\n`;
|
|
197
|
+
const header = `---\ndescription: ${yamlString(description)}\n---\n\n`;
|
|
177
198
|
return `${header}${next.endsWith('\n') ? next : `${next}\n`}`;
|
|
178
199
|
}
|
|
179
200
|
|
|
180
|
-
function cursorMcpToOpencode(sourceText) {
|
|
201
|
+
function cursorMcpToOpencode(sourceText, profile, availableStems) {
|
|
181
202
|
const parsed = JSON.parse(sourceText);
|
|
182
203
|
const mcp = {};
|
|
183
204
|
for (const [id, server] of Object.entries(parsed.mcpServers || {})) {
|
|
@@ -197,7 +218,25 @@ function cursorMcpToOpencode(sourceText) {
|
|
|
197
218
|
mcp[id] = mapped;
|
|
198
219
|
}
|
|
199
220
|
}
|
|
200
|
-
|
|
221
|
+
// Compact instructions: always-on rule paths + .opencode/AGENTS.md (root
|
|
222
|
+
// AGENTS.md is auto-loaded natively). Filter to stems that exist for the
|
|
223
|
+
// stack so consumers don't see phantom references. Permission.bash enforces
|
|
224
|
+
// the harness-level "no commit/push" and JS-stack package-manager rules.
|
|
225
|
+
// mergeOpencodeConfig unions preset instruction paths and fills missing
|
|
226
|
+
// bash keys on re-init; consumer extras and same-key overrides win.
|
|
227
|
+
const instructions = [
|
|
228
|
+
'.opencode/AGENTS.md',
|
|
229
|
+
...(profile?.alwaysOn ?? [])
|
|
230
|
+
.filter((stem) => availableStems?.has(stem))
|
|
231
|
+
.map((stem) => `.opencode/rules/${stem}.md`),
|
|
232
|
+
];
|
|
233
|
+
const out = {
|
|
234
|
+
$schema: 'https://opencode.ai/config.json',
|
|
235
|
+
instructions,
|
|
236
|
+
permission: { bash: profile?.bashPermission ?? {} },
|
|
237
|
+
mcp,
|
|
238
|
+
};
|
|
239
|
+
return `${JSON.stringify(out, null, 2)}\n`;
|
|
201
240
|
}
|
|
202
241
|
|
|
203
242
|
function opencodeEntryTitle(sourceText) {
|
|
@@ -242,6 +281,19 @@ ${essential}
|
|
|
242
281
|
|
|
243
282
|
See \`.opencode/rules/README.md\` for the full catalog and loading strategy.
|
|
244
283
|
|
|
284
|
+
## Harness wiring
|
|
285
|
+
|
|
286
|
+
- \`opencode.json\` carries a compact \`instructions\` list (always-on rule
|
|
287
|
+
paths + \`.opencode/AGENTS.md\`) and a harness-level \`permission.bash\`
|
|
288
|
+
block. On re-init, \`mergeOpencodeConfig\` unions preset instruction paths
|
|
289
|
+
into the consumer list and fills missing bash keys. Extra paths and
|
|
290
|
+
same-key overrides stay.
|
|
291
|
+
- **Subagent rules** are re-declared inside every \`.opencode/agents/*.md\`
|
|
292
|
+
via the \`## Rules to load (subagent context)\` block (always-on + zone
|
|
293
|
+
rules filtered to stems that exist for this stack). \`Task\`-launched
|
|
294
|
+
subagents do not inherit the parent's \`instructions\`, so this block
|
|
295
|
+
is the authoritative mechanism.
|
|
296
|
+
|
|
245
297
|
**Platform docs:** published with the \`@bonesofspring/ai-rules\` package
|
|
246
298
|
(\`docs/OPENCODE.md\`, \`docs/OPENCODE-COMPATIBILITY.md\`) — **not** copied into
|
|
247
299
|
the consumer repo. Source: https://github.com/bonesofspring/ai-rules
|
|
@@ -256,7 +308,8 @@ npx @bonesofspring/ai-rules init opencode --preset ${stack}
|
|
|
256
308
|
|
|
257
309
|
Copies rules, commands, agents, hooks, skills, \`OPENCODE.md\` →
|
|
258
310
|
\`.opencode/AGENTS.md\`, \`MCP.md\`, \`opencode.json\` → project \`opencode.json\`
|
|
259
|
-
(\`mcp\` merge
|
|
311
|
+
(\`mcp\` merge, instruction-path union, missing bash keys), plus
|
|
312
|
+
\`REPO_AGENTS.md\` → root \`AGENTS.md\`. Seeds \`.ai.local/team/\`.
|
|
260
313
|
`;
|
|
261
314
|
}
|
|
262
315
|
|
|
@@ -366,8 +419,13 @@ Plain Markdown. OpenCode does **not** auto-load these files. Root \`AGENTS.md\`
|
|
|
366
419
|
and \`.opencode/AGENTS.md\` list four essential paths to Read immediately; the
|
|
367
420
|
rest are lazy-loaded when the task matches.
|
|
368
421
|
|
|
369
|
-
|
|
370
|
-
|
|
422
|
+
Subagent tasks (\`Task\`/\`@name\`) start blank and never read these rule files;
|
|
423
|
+
the **authoritative** mechanism is the \`## Rules to load (subagent context)\`
|
|
424
|
+
block injected into every \`.opencode/agents/*.md\`. The preset also adds a
|
|
425
|
+
compact \`opencode.json\` \`instructions\` list (alwaysOn paths +
|
|
426
|
+
\`.opencode/AGENTS.md\`) as a hedge for the parent context, with
|
|
427
|
+
\`bin/opencode-install.js\` filling-if-absent on re-init; do **not** treat
|
|
428
|
+
\`instructions\` as the only always-on path (V2 may ignore the field).
|
|
371
429
|
|
|
372
430
|
## Essential (entry-critical)
|
|
373
431
|
|
|
@@ -416,6 +474,16 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
|
|
|
416
474
|
const developerAgents = new Set(profile.developerAgents);
|
|
417
475
|
const rewriteProse = (text) => finalizeOpencodeProse(text, stack);
|
|
418
476
|
|
|
477
|
+
const cursorRulesDir = path.join(root, 'presets', 'cursor', stack, 'rules');
|
|
478
|
+
const availableStems = new Set();
|
|
479
|
+
if (fs.existsSync(cursorRulesDir)) {
|
|
480
|
+
for (const entry of fs.readdirSync(cursorRulesDir)) {
|
|
481
|
+
if (entry.endsWith('.mdc')) {
|
|
482
|
+
availableStems.add(entry.slice(0, -'.mdc'.length));
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
|
|
419
487
|
return deriveAdapterStack({
|
|
420
488
|
platform: 'opencode',
|
|
421
489
|
stack,
|
|
@@ -449,7 +517,11 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
|
|
|
449
517
|
match: (source) => source.startsWith('rules/') && source.endsWith('.mdc'),
|
|
450
518
|
map: ({ source, sourceText }) => {
|
|
451
519
|
const stem = path.basename(source, '.mdc');
|
|
452
|
-
|
|
520
|
+
// The orchestrator Stack notes carry Cursor-only model pins / packaging;
|
|
521
|
+
// transformOrchestrator injects a platform-neutral note instead.
|
|
522
|
+
let markdown = transformMarkdown(sourceText, stack, {
|
|
523
|
+
preserveStackNotes: stem !== 'agent-team-orchestrator',
|
|
524
|
+
});
|
|
453
525
|
if (stem === 'agent-team-orchestrator') {
|
|
454
526
|
markdown = transformOrchestrator(markdown);
|
|
455
527
|
}
|
|
@@ -469,7 +541,7 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
|
|
|
469
541
|
match: (source) => source.startsWith('agents/') && source.endsWith('.md'),
|
|
470
542
|
map: ({ source, sourceText }) => ({
|
|
471
543
|
target: source,
|
|
472
|
-
content: transformAgent(source, sourceText, stack, developerAgents),
|
|
544
|
+
content: transformAgent(source, sourceText, stack, developerAgents, profile, availableStems),
|
|
473
545
|
category: 'agents',
|
|
474
546
|
disposition: 'transform',
|
|
475
547
|
loadMode: 'native-team',
|
|
@@ -519,11 +591,11 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
|
|
|
519
591
|
match: (source) => source === 'mcp.json',
|
|
520
592
|
map: ({ sourceText }) => ({
|
|
521
593
|
target: 'opencode.json',
|
|
522
|
-
content: cursorMcpToOpencode(sourceText),
|
|
594
|
+
content: cursorMcpToOpencode(sourceText, profile, availableStems),
|
|
523
595
|
category: 'mcp',
|
|
524
596
|
disposition: 'transform',
|
|
525
597
|
loadMode: 'manual',
|
|
526
|
-
reason: 'Cursor mcp.json → opencode.json mcp (local/remote types)',
|
|
598
|
+
reason: 'Cursor mcp.json → opencode.json mcp (local/remote types); emits permission.bash + compact instructions',
|
|
527
599
|
}),
|
|
528
600
|
},
|
|
529
601
|
{
|
|
@@ -34,7 +34,296 @@ const BACKEND_DEVELOPER_AGENTS = [
|
|
|
34
34
|
|
|
35
35
|
const QUALITY_OVERLAY = ['code-quality-and-refactoring', 'ai-local-overlay'];
|
|
36
36
|
|
|
37
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Requestable-but-critical rules a subagent must Read explicitly, because a
|
|
39
|
+
* `Task`/`mcode exec`/Claude subagent starts blank and inherits no always-on
|
|
40
|
+
* context. Filtered to stems that exist for the stack at generation time.
|
|
41
|
+
*/
|
|
42
|
+
const NEXT_ZONE_RULES = [
|
|
43
|
+
'architecture-boundaries',
|
|
44
|
+
'public-imports',
|
|
45
|
+
'react-ui',
|
|
46
|
+
'store-rtk',
|
|
47
|
+
'react-next-anti-hallucination',
|
|
48
|
+
'no-props-spread',
|
|
49
|
+
'no-type-assertion-as-import-export',
|
|
50
|
+
'feature-delivery-workflow',
|
|
51
|
+
'reference-features',
|
|
52
|
+
'anti-sycophancy-discipline',
|
|
53
|
+
'post-change-lint',
|
|
54
|
+
'mcp-usage',
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const UNIVERSAL_ZONE_RULES = [
|
|
58
|
+
'architecture-boundaries',
|
|
59
|
+
'feature-delivery-workflow',
|
|
60
|
+
'reference-features',
|
|
61
|
+
'anti-sycophancy-discipline',
|
|
62
|
+
'post-change-lint',
|
|
63
|
+
'mcp-usage',
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Glob-only Next stems absent from NEXT_ZONE_RULES. Only the implementer role
|
|
68
|
+
* receives them — the roles that edit those zones — not every agent.
|
|
69
|
+
*/
|
|
70
|
+
const NEXT_GLOB_ONLY_ZONE_RULES = [
|
|
71
|
+
'architecture-boundaries-ui',
|
|
72
|
+
'arrow-functions',
|
|
73
|
+
'css-property-order-stylelint',
|
|
74
|
+
'layer-barrel-exports',
|
|
75
|
+
'navigation-router-stack',
|
|
76
|
+
'navigation-router-ui',
|
|
77
|
+
'next-app-router',
|
|
78
|
+
'react-a11y-coding',
|
|
79
|
+
'types-jsdoc',
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const FRONTEND_API_ZONE_RULES = ['api-services', 'http-client'];
|
|
83
|
+
const HEX_API_ZONE_RULES = ['api-http', 'api-grpc'];
|
|
84
|
+
const HEX_DOMAIN_ZONE_RULES = [
|
|
85
|
+
'domain-layer',
|
|
86
|
+
'application-usecases',
|
|
87
|
+
'ports-interfaces',
|
|
88
|
+
'adapters-driven',
|
|
89
|
+
'adapters-driving',
|
|
90
|
+
'composition-root',
|
|
91
|
+
'module-public-api',
|
|
92
|
+
'persistence-adapters',
|
|
93
|
+
'messaging-adapters',
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
/** Domain stems beyond UNIVERSAL_ZONE_RULES for the implementer role. */
|
|
97
|
+
const DOMAIN_ZONE_RULES = {
|
|
98
|
+
next: [
|
|
99
|
+
...NEXT_ZONE_RULES.filter((stem) => !UNIVERSAL_ZONE_RULES.includes(stem)),
|
|
100
|
+
...NEXT_GLOB_ONLY_ZONE_RULES,
|
|
101
|
+
],
|
|
102
|
+
nuxt: [
|
|
103
|
+
'public-imports',
|
|
104
|
+
'vue-ui',
|
|
105
|
+
'store-pinia',
|
|
106
|
+
'vue-nuxt-anti-hallucination',
|
|
107
|
+
'no-v-bind-spread',
|
|
108
|
+
'no-type-assertion-as-import-export',
|
|
109
|
+
'architecture-boundaries-ui',
|
|
110
|
+
'css-property-order-stylelint',
|
|
111
|
+
'layer-barrel-exports',
|
|
112
|
+
'navigation-router-stack',
|
|
113
|
+
'navigation-router-ui',
|
|
114
|
+
'nuxt-pages-routing',
|
|
115
|
+
'vue-a11y-coding',
|
|
116
|
+
'types-jsdoc',
|
|
117
|
+
'script-setup-conventions',
|
|
118
|
+
],
|
|
119
|
+
svelte: [
|
|
120
|
+
'public-imports',
|
|
121
|
+
'svelte-ui',
|
|
122
|
+
'store-svelte',
|
|
123
|
+
'svelte-sveltekit-anti-hallucination',
|
|
124
|
+
'no-rest-props-spread',
|
|
125
|
+
'no-type-assertion-as-import-export',
|
|
126
|
+
'architecture-boundaries-ui',
|
|
127
|
+
'css-property-order-stylelint',
|
|
128
|
+
'layer-barrel-exports',
|
|
129
|
+
'navigation-router-stack',
|
|
130
|
+
'navigation-router-ui',
|
|
131
|
+
'sveltekit-routing',
|
|
132
|
+
'svelte-a11y-coding',
|
|
133
|
+
'types-jsdoc',
|
|
134
|
+
'svelte-script-conventions',
|
|
135
|
+
],
|
|
136
|
+
'ios-swift': [
|
|
137
|
+
'swiftui-ui',
|
|
138
|
+
'swift-conventions',
|
|
139
|
+
'state-and-viewmodels',
|
|
140
|
+
'navigation-coordinators',
|
|
141
|
+
'persistence-data',
|
|
142
|
+
'module-public-api',
|
|
143
|
+
],
|
|
144
|
+
'android-kotlin': [
|
|
145
|
+
'compose-ui',
|
|
146
|
+
'kotlin-conventions',
|
|
147
|
+
'state-and-viewmodels',
|
|
148
|
+
'navigation-feature-launcher',
|
|
149
|
+
'persistence-data',
|
|
150
|
+
'module-public-api',
|
|
151
|
+
'di-dagger-feature-holders',
|
|
152
|
+
],
|
|
153
|
+
go: [...HEX_DOMAIN_ZONE_RULES, 'go-conventions'],
|
|
154
|
+
java: [...HEX_DOMAIN_ZONE_RULES, 'java-conventions'],
|
|
155
|
+
'php-hexagonal': [...HEX_DOMAIN_ZONE_RULES, 'php-conventions'],
|
|
156
|
+
'php-laravel': [
|
|
157
|
+
'domain-layer',
|
|
158
|
+
'actions-services',
|
|
159
|
+
'eloquent-persistence',
|
|
160
|
+
'events-listeners',
|
|
161
|
+
'jobs-queues',
|
|
162
|
+
'laravel-conventions',
|
|
163
|
+
'module-public-api',
|
|
164
|
+
'policies-authorization',
|
|
165
|
+
'service-providers',
|
|
166
|
+
],
|
|
167
|
+
'mcp-ts': [
|
|
168
|
+
'mcp-tool-design',
|
|
169
|
+
'mcp-contract-testing',
|
|
170
|
+
'mcp-auth-secrets',
|
|
171
|
+
'mcp-transport-packaging',
|
|
172
|
+
'mcp-ts-conventions',
|
|
173
|
+
],
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
const API_ZONE_RULES = {
|
|
177
|
+
next: FRONTEND_API_ZONE_RULES,
|
|
178
|
+
nuxt: FRONTEND_API_ZONE_RULES,
|
|
179
|
+
svelte: FRONTEND_API_ZONE_RULES,
|
|
180
|
+
'ios-swift': ['networking-services'],
|
|
181
|
+
'android-kotlin': ['networking-data'],
|
|
182
|
+
go: HEX_API_ZONE_RULES,
|
|
183
|
+
java: HEX_API_ZONE_RULES,
|
|
184
|
+
'php-hexagonal': HEX_API_ZONE_RULES,
|
|
185
|
+
'php-laravel': ['http-layer', 'routes-api', 'form-requests'],
|
|
186
|
+
'mcp-ts': [],
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
const E2E_ZONE_RULES = {
|
|
190
|
+
next: ['playwright-agents', 'tests-e2e-structure'],
|
|
191
|
+
nuxt: ['playwright-agents', 'tests-e2e-structure'],
|
|
192
|
+
svelte: ['playwright-agents', 'tests-e2e-structure'],
|
|
193
|
+
'ios-swift': ['tests-ui'],
|
|
194
|
+
'android-kotlin': ['tests-ui'],
|
|
195
|
+
go: ['tests-integration', 'tests-e2e'],
|
|
196
|
+
java: ['tests-integration', 'tests-e2e'],
|
|
197
|
+
'php-hexagonal': ['tests-integration', 'tests-e2e'],
|
|
198
|
+
'php-laravel': ['tests-integration', 'tests-e2e'],
|
|
199
|
+
'mcp-ts': [],
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const TOOLING_ZONE_RULES = {
|
|
203
|
+
next: [],
|
|
204
|
+
nuxt: [],
|
|
205
|
+
svelte: [],
|
|
206
|
+
'ios-swift': ['xcode-tooling', 'post-change-build'],
|
|
207
|
+
'android-kotlin': ['gradle-tooling', 'post-change-build'],
|
|
208
|
+
go: ['go-tooling', 'post-change-test'],
|
|
209
|
+
java: ['java-tooling', 'post-change-test'],
|
|
210
|
+
'php-hexagonal': ['php-tooling', 'post-change-test'],
|
|
211
|
+
'php-laravel': ['php-tooling', 'post-change-test'],
|
|
212
|
+
'mcp-ts': ['mcp-ts-tooling', 'post-change-test'],
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
const IMPLEMENTER_AGENTS = new Set(['feature-developer', 'debugger', 'ci-investigator']);
|
|
216
|
+
|
|
217
|
+
function dedupeStems(stems) {
|
|
218
|
+
const seen = new Set();
|
|
219
|
+
const ordered = [];
|
|
220
|
+
for (const stem of stems) {
|
|
221
|
+
if (seen.has(stem)) continue;
|
|
222
|
+
seen.add(stem);
|
|
223
|
+
ordered.push(stem);
|
|
224
|
+
}
|
|
225
|
+
return ordered;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function zoneRulesForRole(stack, role) {
|
|
229
|
+
const domain = DOMAIN_ZONE_RULES[stack] ?? [];
|
|
230
|
+
const api = API_ZONE_RULES[stack] ?? [];
|
|
231
|
+
const tooling = TOOLING_ZONE_RULES[stack] ?? [];
|
|
232
|
+
const e2e = E2E_ZONE_RULES[stack] ?? [];
|
|
233
|
+
switch (role) {
|
|
234
|
+
case 'implementer':
|
|
235
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, ...domain, ...api, ...tooling]);
|
|
236
|
+
case 'reviewer':
|
|
237
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, 'code-review-mr']);
|
|
238
|
+
case 'unit-test':
|
|
239
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, 'tests-unit']);
|
|
240
|
+
case 'e2e':
|
|
241
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, ...e2e]);
|
|
242
|
+
case 'qa':
|
|
243
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, 'tests-unit', ...e2e]);
|
|
244
|
+
case 'api-contract':
|
|
245
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, ...api]);
|
|
246
|
+
case 'verifier':
|
|
247
|
+
return dedupeStems([...UNIVERSAL_ZONE_RULES, ...tooling]);
|
|
248
|
+
default:
|
|
249
|
+
return [...UNIVERSAL_ZONE_RULES];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
const ROLE_KEYS = [
|
|
254
|
+
'implementer',
|
|
255
|
+
'reviewer',
|
|
256
|
+
'unit-test',
|
|
257
|
+
'e2e',
|
|
258
|
+
'qa',
|
|
259
|
+
'api-contract',
|
|
260
|
+
'verifier',
|
|
261
|
+
'default',
|
|
262
|
+
];
|
|
263
|
+
|
|
264
|
+
/** @type {Record<string, Record<string, string[]>>} */
|
|
265
|
+
export const zoneRulesByRole = Object.fromEntries(
|
|
266
|
+
Object.keys(DOMAIN_ZONE_RULES).map((stack) => [
|
|
267
|
+
stack,
|
|
268
|
+
Object.fromEntries(ROLE_KEYS.map((role) => [role, zoneRulesForRole(stack, role)])),
|
|
269
|
+
]),
|
|
270
|
+
);
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Smallest stem→role map that keeps the 9 Next glob stems on production
|
|
274
|
+
* editors only. Test prefixes win over the developer-agent write list so
|
|
275
|
+
* unit-test roles do not inherit the UI bundle. qa-tester writes tests, not
|
|
276
|
+
* UI zones, so it is not an implementer.
|
|
277
|
+
*/
|
|
278
|
+
export function resolveAgentRole(agentStem) {
|
|
279
|
+
if (agentStem === 'code-reviewer') return 'reviewer';
|
|
280
|
+
if (agentStem.startsWith('unit-test-')) return 'unit-test';
|
|
281
|
+
if (
|
|
282
|
+
agentStem.startsWith('playwright-test-') ||
|
|
283
|
+
agentStem.startsWith('xcuitest-test-') ||
|
|
284
|
+
agentStem.startsWith('instrumentation-test-') ||
|
|
285
|
+
agentStem.startsWith('integration-test-')
|
|
286
|
+
) {
|
|
287
|
+
return 'e2e';
|
|
288
|
+
}
|
|
289
|
+
if (agentStem === 'api-contract-reviewer') return 'api-contract';
|
|
290
|
+
if (agentStem === 'qa-tester') return 'qa';
|
|
291
|
+
if (agentStem === 'build-verifier') return 'verifier';
|
|
292
|
+
if (IMPLEMENTER_AGENTS.has(agentStem)) return 'implementer';
|
|
293
|
+
return 'default';
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Universal harness-level `permission.bash` guards. Apply to every stack.
|
|
298
|
+
* `git commit/push` are universally denied to honor the "human commits" contract
|
|
299
|
+
* from root `AGENTS.md`; package-manager enforcement is stack-driven via
|
|
300
|
+
* `STACK_BASH_PERMISSIONS_OVERRIDES`.
|
|
301
|
+
*/
|
|
302
|
+
const UNIVERSAL_BASH_PERMISSION = {
|
|
303
|
+
'*': 'allow',
|
|
304
|
+
'git commit *': 'deny',
|
|
305
|
+
'git push *': 'deny',
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const JS_STACK_PACKAGE_GUARDS = {
|
|
309
|
+
'npm *': 'ask',
|
|
310
|
+
'npx *': 'ask',
|
|
311
|
+
'pnpm *': 'ask',
|
|
312
|
+
'bun *': 'ask',
|
|
313
|
+
'npx jest*': 'deny',
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
const STACK_BASH_PERMISSIONS_OVERRIDES = {
|
|
317
|
+
next: { ...JS_STACK_PACKAGE_GUARDS },
|
|
318
|
+
nuxt: { ...JS_STACK_PACKAGE_GUARDS },
|
|
319
|
+
svelte: { ...JS_STACK_PACKAGE_GUARDS },
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* `zoneRules` is the pre-S1 homogeneous catalog (still the default shape of the
|
|
324
|
+
* profile). Subagent «Rules to load» blocks use `getZoneRulesForAgent` instead.
|
|
325
|
+
* @typedef {{ title: string, family: string, alwaysOn: string[], zoneRules: string[], developerAgents: string[], bashPermission: Record<string,string> }} StackProfile
|
|
326
|
+
*/
|
|
38
327
|
|
|
39
328
|
/** @type {Record<string, StackProfile>} */
|
|
40
329
|
export const STACK_PROFILES = {
|
|
@@ -42,24 +331,32 @@ export const STACK_PROFILES = {
|
|
|
42
331
|
title: 'Next.js',
|
|
43
332
|
family: 'frontend',
|
|
44
333
|
alwaysOn: ['next-app-core', 'package-manager', ...QUALITY_OVERLAY],
|
|
334
|
+
zoneRules: NEXT_ZONE_RULES,
|
|
45
335
|
developerAgents: FRONTEND_DEVELOPER_AGENTS,
|
|
336
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION, ...JS_STACK_PACKAGE_GUARDS },
|
|
46
337
|
},
|
|
47
338
|
nuxt: {
|
|
48
339
|
title: 'Nuxt 3',
|
|
49
340
|
family: 'frontend',
|
|
50
341
|
alwaysOn: ['nuxt-app-core', 'package-manager', ...QUALITY_OVERLAY],
|
|
342
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
51
343
|
developerAgents: FRONTEND_DEVELOPER_AGENTS,
|
|
344
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION, ...JS_STACK_PACKAGE_GUARDS },
|
|
52
345
|
},
|
|
53
346
|
svelte: {
|
|
54
347
|
title: 'SvelteKit',
|
|
55
348
|
family: 'frontend',
|
|
56
349
|
alwaysOn: ['svelte-app-core', 'package-manager', ...QUALITY_OVERLAY],
|
|
350
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
57
351
|
developerAgents: FRONTEND_DEVELOPER_AGENTS,
|
|
352
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION, ...JS_STACK_PACKAGE_GUARDS },
|
|
58
353
|
},
|
|
59
354
|
'ios-swift': {
|
|
60
355
|
title: 'iOS Swift',
|
|
61
356
|
family: 'ios',
|
|
62
357
|
alwaysOn: ['ios-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
358
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
359
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
63
360
|
developerAgents: [
|
|
64
361
|
...MOBILE_DEVELOPER_BASE,
|
|
65
362
|
'xcuitest-test-generator',
|
|
@@ -70,6 +367,8 @@ export const STACK_PROFILES = {
|
|
|
70
367
|
title: 'Android Kotlin',
|
|
71
368
|
family: 'android',
|
|
72
369
|
alwaysOn: ['android-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
370
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
371
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
73
372
|
developerAgents: [
|
|
74
373
|
...MOBILE_DEVELOPER_BASE,
|
|
75
374
|
'instrumentation-test-generator',
|
|
@@ -80,31 +379,41 @@ export const STACK_PROFILES = {
|
|
|
80
379
|
title: 'Go hexagonal',
|
|
81
380
|
family: 'backend',
|
|
82
381
|
alwaysOn: ['go-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
382
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
383
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
83
384
|
developerAgents: BACKEND_DEVELOPER_AGENTS,
|
|
84
385
|
},
|
|
85
386
|
java: {
|
|
86
387
|
title: 'Java hexagonal',
|
|
87
388
|
family: 'backend',
|
|
88
389
|
alwaysOn: ['java-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
390
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
391
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
89
392
|
developerAgents: BACKEND_DEVELOPER_AGENTS,
|
|
90
393
|
},
|
|
91
394
|
'php-hexagonal': {
|
|
92
395
|
title: 'PHP hexagonal',
|
|
93
396
|
family: 'backend',
|
|
94
397
|
alwaysOn: ['php-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
398
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
399
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
95
400
|
developerAgents: BACKEND_DEVELOPER_AGENTS,
|
|
96
401
|
},
|
|
97
402
|
'php-laravel': {
|
|
98
403
|
title: 'Laravel',
|
|
99
404
|
family: 'backend',
|
|
100
405
|
alwaysOn: ['laravel-app-core', 'architecture-boundaries', ...QUALITY_OVERLAY],
|
|
406
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
407
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
101
408
|
developerAgents: BACKEND_DEVELOPER_AGENTS,
|
|
102
409
|
},
|
|
103
410
|
'mcp-ts': {
|
|
104
411
|
title: 'TypeScript MCP',
|
|
105
412
|
family: 'mcp-ts',
|
|
106
413
|
alwaysOn: ['mcp-ts-app-core', 'mcp-server-boundaries', ...QUALITY_OVERLAY],
|
|
414
|
+
zoneRules: UNIVERSAL_ZONE_RULES,
|
|
107
415
|
developerAgents: ['feature-developer'],
|
|
416
|
+
bashPermission: { ...UNIVERSAL_BASH_PERMISSION },
|
|
108
417
|
},
|
|
109
418
|
};
|
|
110
419
|
|
|
@@ -126,6 +435,17 @@ export function getStackProfile(stack) {
|
|
|
126
435
|
return profile;
|
|
127
436
|
}
|
|
128
437
|
|
|
438
|
+
/** Role-trimmed zone stems for one agent. Filtered again to stems that exist at generation time. */
|
|
439
|
+
export function getZoneRulesForAgent(stack, agentStem) {
|
|
440
|
+
getStackProfile(stack);
|
|
441
|
+
const role = resolveAgentRole(agentStem);
|
|
442
|
+
const rules = zoneRulesByRole[stack]?.[role];
|
|
443
|
+
if (!rules) {
|
|
444
|
+
throw new Error(`no zone rules for stack "${stack}" role "${role}"`);
|
|
445
|
+
}
|
|
446
|
+
return rules;
|
|
447
|
+
}
|
|
448
|
+
|
|
129
449
|
export function parseStackArg(argv, { required = true } = {}) {
|
|
130
450
|
let stack;
|
|
131
451
|
for (let index = 0; index < argv.length; index += 1) {
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Append a "## Harness wiring" section to `presets/claude/<stack>/CLAUDE.md`
|
|
4
|
+
* for every released stack. Idempotent: skips files that already contain
|
|
5
|
+
* the heading. Claude presets are hand-maintained; this keeps them aligned
|
|
6
|
+
* with the cross-platform harness story (OpenCode/Mavis parity work).
|
|
7
|
+
*
|
|
8
|
+
* Usage: node scripts/sync-claude-harness-wiring.mjs
|
|
9
|
+
*/
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
import { loadReleasedStacks } from './lib/generate-adapter-common.mjs';
|
|
14
|
+
|
|
15
|
+
const scriptDirectory = path.dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const packageRoot = path.join(scriptDirectory, '..');
|
|
17
|
+
const presetsRoot = path.join(packageRoot, 'presets');
|
|
18
|
+
const HEADING = '## Harness wiring';
|
|
19
|
+
|
|
20
|
+
const SECTION = `
|
|
21
|
+
## Harness wiring
|
|
22
|
+
|
|
23
|
+
- **Subagent rules** are re-declared inside every \`.claude/agents/*.md\` via
|
|
24
|
+
the \`## Rules to load (subagent context)\` block (always-on + zone rules
|
|
25
|
+
filtered to stems that exist for this stack, using the nested
|
|
26
|
+
\`.claude/rules/<topic>/<stem>.md\` paths). Claude Code subagents inherit
|
|
27
|
+
no parent context, so this block is the authoritative mechanism.
|
|
28
|
+
- \`.claude/settings.json\` ships harness-level denials (universal
|
|
29
|
+
\`git commit/push deny\`; JS stacks also \`npx jest* deny\` and \`npm/npx/pnpm/bun\`
|
|
30
|
+
ask). Re-init overwrites the file (consumer can edit afterwards); mirror
|
|
31
|
+
with root \`AGENTS.md\` if you change the harness.
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
function sync(stack) {
|
|
35
|
+
const dest = path.join(presetsRoot, 'claude', stack, 'CLAUDE.md');
|
|
36
|
+
if (!fs.existsSync(dest)) {
|
|
37
|
+
console.log(`skip claude/${stack}: no CLAUDE.md`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const text = fs.readFileSync(dest, 'utf8');
|
|
41
|
+
if (text.includes(HEADING)) {
|
|
42
|
+
console.log(`claude/${stack}: already has ${HEADING}`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const next = text.replace(/\n+$/, '\n') + SECTION;
|
|
46
|
+
fs.writeFileSync(dest, next);
|
|
47
|
+
console.log(`claude/${stack}: appended ${HEADING}`);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function main() {
|
|
51
|
+
for (const stack of loadReleasedStacks(presetsRoot, 'opencode')) {
|
|
52
|
+
sync(stack);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
main();
|