@bonesofspring/ai-rules 0.2.25 → 0.2.27
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 +31 -6
- package/LICENSE +21 -0
- package/README.md +36 -112
- package/bin/cli.js +291 -48
- package/bin/lib/safe-path.js +93 -0
- package/bin/lib/seed-ai-local-team.js +440 -0
- package/bin/mavis-install.js +45 -10
- package/bin/opencode-install.js +44 -12
- 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 +123 -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 +9 -2
- package/presets/_shared/README.md +22 -37
- package/presets/_shared/core/agent-team/agent-artifact-contracts.md +3 -9
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +2 -2
- package/presets/_shared/core/architecture/reference-features.template.md +1 -1
- package/presets/_shared/core/meta/preset-layering.md +1 -1
- package/presets/_shared/core/meta/preset-pr-checklist.md +3 -3
- package/presets/_shared/core/meta/preset-token-budget.md +10 -10
- package/presets/_shared/core/meta/preset-twin-sync.md +26 -8
- package/presets/_shared/core/quality/code-quality-and-refactoring.md +6 -0
- package/presets/claude/android-kotlin/CLAUDE.md +1 -1
- package/presets/claude/android-kotlin/README.md +3 -26
- package/presets/claude/android-kotlin/REPO_AGENTS.md +34 -8
- package/presets/claude/android-kotlin/agents/README.md +1 -1
- package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +4 -4
- package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +3 -3
- package/presets/claude/android-kotlin/agents/build-verifier.md +6 -6
- package/presets/claude/android-kotlin/agents/ci-investigator.md +3 -3
- package/presets/claude/android-kotlin/agents/code-reviewer.md +6 -6
- package/presets/claude/android-kotlin/agents/debugger.md +4 -4
- package/presets/claude/android-kotlin/agents/feature-developer.md +3 -3
- package/presets/claude/android-kotlin/agents/migration-specialist.md +3 -3
- package/presets/claude/android-kotlin/agents/mockup-reviewer.md +4 -4
- package/presets/claude/android-kotlin/agents/openspec-author.md +5 -5
- package/presets/claude/android-kotlin/agents/performance-auditor.md +3 -3
- package/presets/claude/android-kotlin/agents/qa-tester.md +3 -3
- package/presets/claude/android-kotlin/agents/security-reviewer.md +4 -4
- package/presets/claude/android-kotlin/agents/solution-architect.md +1 -1
- package/presets/claude/android-kotlin/agents/task-analyst.md +4 -4
- package/presets/claude/android-kotlin/agents/task-router.md +4 -4
- package/presets/claude/android-kotlin/agents/tech-writer.md +3 -3
- package/presets/claude/android-kotlin/agents/unit-test-generator.md +3 -3
- package/presets/claude/android-kotlin/agents/unit-test-healer.md +4 -4
- package/presets/claude/android-kotlin/agents/unit-test-planner.md +3 -3
- package/presets/claude/android-kotlin/{team → ai-local}/conventions.md +1 -1
- package/presets/claude/android-kotlin/commands/README.md +3 -3
- package/presets/claude/android-kotlin/commands/spec-start.md +2 -2
- package/presets/claude/android-kotlin/commands/task-continue.md +2 -2
- package/presets/claude/android-kotlin/commands/task.md +2 -2
- package/presets/claude/android-kotlin/commands/technical-retro.md +4 -4
- package/presets/claude/android-kotlin/hooks/README.md +1 -1
- package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +69 -9
- 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/architecture/di-dagger-feature-holders.md +1 -1
- package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +2 -2
- package/presets/claude/android-kotlin/rules/architecture/reference-features.md +1 -1
- package/presets/claude/android-kotlin/rules/stack/android-app-core.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-intake.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +6 -6
- package/presets/claude/android-kotlin/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-review.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/mockup-review.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/post-change-build.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +3 -3
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +5 -5
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +12 -12
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +28 -10
- package/presets/claude/android-kotlin/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/ux-design.md +1 -1
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/compose.md +2 -0
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/viewmodels.md +1 -1
- package/presets/claude/android-kotlin/skills/ci-investigation/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/code-review/SKILL.md +2 -2
- package/presets/claude/android-kotlin/skills/debug-investigation/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/mockup-review/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/android-kotlin/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/android-kotlin/skills/unit-testing/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/ux-design/SKILL.md +1 -1
- package/presets/claude/android-kotlin/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/android-kotlin/team/README.md +59 -44
- package/presets/claude/go/CLAUDE.md +1 -1
- package/presets/claude/go/README.md +3 -32
- package/presets/claude/go/REPO_AGENTS.md +34 -8
- package/presets/claude/go/agents/api-contract-reviewer.md +1 -1
- package/presets/claude/go/agents/build-verifier.md +3 -3
- package/presets/claude/go/agents/code-reviewer.md +6 -6
- package/presets/claude/go/agents/debugger.md +1 -1
- package/presets/claude/go/agents/feature-developer.md +3 -3
- package/presets/claude/go/agents/integration-test-generator.md +1 -1
- package/presets/claude/go/agents/integration-test-healer.md +1 -1
- package/presets/claude/go/agents/integration-test-planner.md +1 -1
- package/presets/claude/go/agents/migration-specialist.md +1 -1
- package/presets/claude/go/agents/openspec-author.md +5 -5
- package/presets/claude/go/agents/performance-auditor.md +1 -1
- package/presets/claude/go/agents/qa-tester.md +1 -1
- package/presets/claude/go/agents/security-reviewer.md +1 -1
- package/presets/claude/go/agents/solution-architect.md +1 -1
- package/presets/claude/go/agents/task-analyst.md +2 -2
- package/presets/claude/go/agents/task-router.md +4 -4
- package/presets/claude/go/agents/unit-test-planner.md +1 -1
- package/presets/claude/{next/team → go/ai-local}/conventions.md +1 -1
- package/presets/claude/go/commands/README.md +1 -1
- package/presets/claude/go/commands/spec-start.md +2 -2
- package/presets/claude/go/commands/task-continue.md +2 -2
- package/presets/claude/go/commands/task.md +2 -2
- package/presets/claude/go/hooks/README.md +1 -1
- package/presets/claude/go/hooks/chain-team-phases.sh +69 -9
- 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 +3 -3
- package/presets/claude/go/rules/architecture/ports-interfaces.md +2 -2
- package/presets/claude/go/rules/architecture/reference-features.md +1 -1
- 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 +3 -3
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +5 -5
- package/presets/claude/go/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/go/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/go/rules/tooling-and-review/code-review.md +3 -3
- package/presets/claude/go/rules/tooling-and-review/go-tooling.md +3 -3
- 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 +3 -3
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +4 -4
- package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +27 -9
- package/presets/claude/go/rules/tooling-and-review/security-go.md +3 -3
- package/presets/claude/go/rules/tooling-and-review/technical-retro.md +3 -3
- package/presets/claude/go/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/go/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/go/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/go/team/README.md +59 -36
- package/presets/claude/ios-swift/CLAUDE.md +1 -1
- package/presets/claude/ios-swift/README.md +3 -37
- package/presets/claude/ios-swift/REPO_AGENTS.md +34 -8
- package/presets/claude/ios-swift/agents/README.md +2 -2
- package/presets/claude/ios-swift/agents/accessibility-reviewer.md +3 -3
- package/presets/claude/ios-swift/agents/api-contract-reviewer.md +2 -2
- package/presets/claude/ios-swift/agents/build-verifier.md +7 -7
- package/presets/claude/ios-swift/agents/ci-investigator.md +2 -2
- package/presets/claude/ios-swift/agents/code-reviewer.md +6 -6
- package/presets/claude/ios-swift/agents/debugger.md +3 -3
- package/presets/claude/ios-swift/agents/feature-developer.md +3 -3
- package/presets/claude/ios-swift/agents/migration-specialist.md +2 -2
- package/presets/claude/ios-swift/agents/mockup-reviewer.md +4 -4
- package/presets/claude/ios-swift/agents/openspec-author.md +5 -5
- package/presets/claude/ios-swift/agents/performance-auditor.md +2 -2
- package/presets/claude/ios-swift/agents/qa-tester.md +2 -2
- package/presets/claude/ios-swift/agents/security-reviewer.md +3 -3
- package/presets/claude/ios-swift/agents/solution-architect.md +1 -1
- package/presets/claude/ios-swift/agents/task-analyst.md +4 -4
- package/presets/claude/ios-swift/agents/task-router.md +4 -4
- package/presets/claude/ios-swift/agents/tech-writer.md +2 -2
- package/presets/claude/ios-swift/agents/unit-test-generator.md +2 -2
- package/presets/claude/ios-swift/agents/unit-test-healer.md +3 -3
- package/presets/claude/ios-swift/agents/unit-test-planner.md +2 -2
- package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +1 -1
- package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +1 -1
- package/presets/claude/{go/team → ios-swift/ai-local}/conventions.md +1 -1
- package/presets/claude/ios-swift/commands/README.md +3 -3
- package/presets/claude/ios-swift/commands/spec-start.md +2 -2
- package/presets/claude/ios-swift/commands/task-continue.md +2 -2
- package/presets/claude/ios-swift/commands/task.md +2 -2
- package/presets/claude/ios-swift/commands/technical-retro.md +4 -4
- package/presets/claude/ios-swift/hooks/README.md +1 -1
- package/presets/claude/ios-swift/hooks/chain-team-phases.sh +69 -9
- 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 +4 -4
- package/presets/claude/ios-swift/rules/architecture/reference-features.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +6 -6
- package/presets/claude/ios-swift/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/mockup-review.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 +3 -3
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +5 -5
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +12 -12
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +28 -10
- package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/ux-design.md +1 -1
- package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +7 -0
- package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/code-review/SKILL.md +2 -2
- package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/mockup-review/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/ios-swift/skills/unit-testing/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/ux-design/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/ios-swift/team/README.md +59 -40
- package/presets/claude/java/CLAUDE.md +2 -2
- package/presets/claude/java/README.md +3 -20
- package/presets/claude/java/REPO_AGENTS.md +36 -9
- package/presets/claude/java/agents/api-contract-reviewer.md +1 -1
- package/presets/claude/java/agents/build-verifier.md +3 -3
- package/presets/claude/java/agents/code-reviewer.md +6 -6
- package/presets/claude/java/agents/debugger.md +1 -1
- package/presets/claude/java/agents/feature-developer.md +3 -3
- package/presets/claude/java/agents/integration-test-generator.md +1 -1
- package/presets/claude/java/agents/integration-test-healer.md +1 -1
- package/presets/claude/java/agents/integration-test-planner.md +1 -1
- package/presets/claude/java/agents/migration-specialist.md +1 -1
- package/presets/claude/java/agents/openspec-author.md +5 -5
- package/presets/claude/java/agents/performance-auditor.md +1 -1
- package/presets/claude/java/agents/qa-tester.md +1 -1
- package/presets/claude/java/agents/security-reviewer.md +1 -1
- package/presets/claude/java/agents/solution-architect.md +1 -1
- package/presets/claude/java/agents/task-analyst.md +2 -2
- package/presets/claude/java/agents/task-router.md +4 -4
- package/presets/claude/java/agents/unit-test-planner.md +1 -1
- package/presets/claude/{ios-swift/team → java/ai-local}/conventions.md +1 -1
- package/presets/claude/java/commands/README.md +1 -1
- package/presets/claude/java/commands/spec-start.md +2 -2
- package/presets/claude/java/commands/task-continue.md +2 -2
- package/presets/claude/java/commands/task.md +2 -2
- package/presets/claude/java/hooks/README.md +1 -1
- package/presets/claude/java/hooks/chain-team-phases.sh +69 -9
- package/presets/claude/java/hooks/examples/README.md +5 -3
- package/presets/claude/java/rules/README.md +1 -1
- package/presets/claude/java/rules/architecture/feature-delivery.md +2 -2
- package/presets/claude/java/rules/architecture/reference-features.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +5 -5
- package/presets/claude/java/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/java/rules/tooling-and-review/code-review.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/java-tooling.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/post-change-test.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +4 -4
- package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +27 -9
- package/presets/claude/java/rules/tooling-and-review/technical-retro.md +2 -2
- package/presets/claude/java/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/java/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/java/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/java/team/README.md +59 -36
- package/presets/claude/mcp-ts/CLAUDE.md +1 -1
- package/presets/claude/mcp-ts/README.md +3 -5
- package/presets/claude/mcp-ts/REPO_AGENTS.md +34 -8
- package/presets/claude/mcp-ts/agents/build-verifier.md +3 -3
- package/presets/claude/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/claude/mcp-ts/agents/security-reviewer.md +1 -1
- package/presets/claude/mcp-ts/agents/task-analyst.md +2 -2
- package/presets/claude/mcp-ts/agents/task-router.md +4 -4
- package/presets/claude/mcp-ts/{team → ai-local}/conventions.md +2 -2
- package/presets/claude/mcp-ts/commands/spec-start.md +2 -2
- package/presets/claude/mcp-ts/commands/task-continue.md +2 -2
- package/presets/claude/mcp-ts/commands/task.md +2 -2
- package/presets/claude/mcp-ts/commands/technical-retro.md +4 -4
- package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +69 -9
- 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/architecture/reference-features.md +1 -1
- package/presets/claude/mcp-ts/rules/testing/unit.md +2 -2
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/ai-local-overlay.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 +2 -2
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +4 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +27 -9
- package/presets/claude/mcp-ts/rules/tooling-and-review/security-mcp.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +2 -2
- package/presets/claude/mcp-ts/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/mcp-ts/team/README.md +77 -43
- package/presets/claude/next/CLAUDE.md +1 -1
- package/presets/claude/next/README.md +13 -36
- package/presets/claude/next/REPO_AGENTS.md +4 -4
- package/presets/claude/next/agents/README.md +4 -112
- package/presets/claude/next/agents/accessibility-reviewer.md +4 -4
- package/presets/claude/next/agents/api-contract-reviewer.md +3 -3
- package/presets/claude/next/agents/build-verifier.md +6 -6
- package/presets/claude/next/agents/ci-investigator.md +3 -3
- package/presets/claude/next/agents/code-reviewer.md +5 -5
- package/presets/claude/next/agents/debugger.md +4 -4
- package/presets/claude/next/agents/feature-developer.md +3 -3
- package/presets/claude/next/agents/migration-specialist.md +3 -3
- package/presets/claude/next/agents/mockup-reviewer.md +4 -4
- package/presets/claude/next/agents/openspec-author.md +5 -5
- package/presets/claude/next/agents/performance-auditor.md +3 -3
- package/presets/claude/next/agents/qa-tester.md +3 -3
- package/presets/claude/next/agents/security-reviewer.md +4 -4
- package/presets/claude/next/agents/solution-architect.md +4 -4
- package/presets/claude/next/agents/task-analyst.md +6 -6
- package/presets/claude/next/agents/task-router.md +4 -4
- package/presets/claude/next/agents/tech-writer.md +3 -3
- package/presets/claude/next/agents/unit-test-generator.md +3 -3
- package/presets/claude/next/agents/unit-test-healer.md +2 -2
- package/presets/claude/next/agents/unit-test-planner.md +3 -3
- package/presets/claude/{java/team → next/ai-local}/conventions.md +1 -1
- package/presets/claude/next/commands/README.md +1 -1
- package/presets/claude/next/commands/spec-start.md +2 -2
- package/presets/claude/next/commands/task-continue.md +2 -2
- package/presets/claude/next/commands/task.md +2 -2
- package/presets/claude/next/hooks/README.md +2 -8
- package/presets/claude/next/hooks/chain-team-phases.sh +69 -9
- 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 +2 -2
- 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/agent-team-intake.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +5 -5
- package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/mockup-review.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +3 -3
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +5 -5
- package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +12 -12
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +28 -10
- package/presets/claude/next/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/ux-design.md +1 -1
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +37 -1
- package/presets/claude/next/skills/code-review/SKILL.md +2 -2
- package/presets/claude/next/skills/debug-investigation/SKILL.md +1 -1
- package/presets/claude/next/skills/mockup-review/SKILL.md +1 -1
- package/presets/claude/next/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/next/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/next/skills/unit-testing/SKILL.md +1 -1
- package/presets/claude/next/skills/ux-design/SKILL.md +1 -1
- package/presets/claude/next/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/next/team/README.md +35 -102
- 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 +1 -1
- package/presets/claude/nuxt/README.md +6 -36
- package/presets/claude/nuxt/REPO_AGENTS.md +34 -8
- package/presets/claude/nuxt/agents/README.md +5 -113
- package/presets/claude/nuxt/agents/accessibility-reviewer.md +4 -4
- package/presets/claude/nuxt/agents/api-contract-reviewer.md +3 -3
- package/presets/claude/nuxt/agents/build-verifier.md +6 -6
- package/presets/claude/nuxt/agents/ci-investigator.md +3 -3
- package/presets/claude/nuxt/agents/code-reviewer.md +5 -5
- package/presets/claude/nuxt/agents/debugger.md +4 -4
- package/presets/claude/nuxt/agents/feature-developer.md +3 -3
- package/presets/claude/nuxt/agents/migration-specialist.md +3 -3
- package/presets/claude/nuxt/agents/mockup-reviewer.md +4 -4
- package/presets/claude/nuxt/agents/openspec-author.md +5 -5
- package/presets/claude/nuxt/agents/performance-auditor.md +3 -3
- package/presets/claude/nuxt/agents/qa-tester.md +3 -3
- package/presets/claude/nuxt/agents/security-reviewer.md +4 -4
- package/presets/claude/nuxt/agents/solution-architect.md +4 -4
- package/presets/claude/nuxt/agents/task-analyst.md +6 -6
- package/presets/claude/nuxt/agents/task-router.md +4 -4
- package/presets/claude/nuxt/agents/tech-writer.md +3 -3
- package/presets/claude/nuxt/agents/unit-test-generator.md +3 -3
- package/presets/claude/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/claude/nuxt/agents/unit-test-planner.md +3 -3
- package/presets/claude/nuxt/ai-local/conventions.md +21 -0
- package/presets/claude/nuxt/commands/README.md +3 -3
- package/presets/claude/nuxt/commands/spec-start.md +2 -2
- package/presets/claude/nuxt/commands/task-continue.md +2 -2
- package/presets/claude/nuxt/commands/task.md +2 -2
- package/presets/claude/nuxt/commands/technical-retro.md +4 -4
- package/presets/claude/nuxt/hooks/chain-team-phases.sh +69 -9
- 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 +2 -2
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-intake.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +6 -6
- package/presets/claude/nuxt/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/nuxt/rules/tooling-and-review/mockup-review.md +1 -1
- 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 +4 -4
- 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 +27 -9
- package/presets/claude/nuxt/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/ux-design.md +1 -1
- package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +7 -0
- package/presets/claude/nuxt/skills/code-review/SKILL.md +2 -2
- package/presets/claude/nuxt/skills/debug-investigation/SKILL.md +1 -1
- package/presets/claude/nuxt/skills/mockup-review/SKILL.md +1 -1
- package/presets/claude/nuxt/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/nuxt/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/nuxt/skills/unit-testing/SKILL.md +1 -1
- package/presets/claude/nuxt/skills/ux-design/SKILL.md +1 -1
- package/presets/claude/nuxt/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/nuxt/team/README.md +35 -106
- 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 +2 -2
- package/presets/claude/php-hexagonal/README.md +3 -20
- package/presets/claude/php-hexagonal/REPO_AGENTS.md +36 -9
- package/presets/claude/php-hexagonal/agents/api-contract-reviewer.md +1 -1
- package/presets/claude/php-hexagonal/agents/build-verifier.md +3 -3
- package/presets/claude/php-hexagonal/agents/code-reviewer.md +6 -6
- package/presets/claude/php-hexagonal/agents/debugger.md +1 -1
- package/presets/claude/php-hexagonal/agents/feature-developer.md +3 -3
- package/presets/claude/php-hexagonal/agents/integration-test-generator.md +1 -1
- package/presets/claude/php-hexagonal/agents/integration-test-healer.md +1 -1
- package/presets/claude/php-hexagonal/agents/integration-test-planner.md +1 -1
- package/presets/claude/php-hexagonal/agents/migration-specialist.md +1 -1
- package/presets/claude/php-hexagonal/agents/openspec-author.md +5 -5
- package/presets/claude/php-hexagonal/agents/performance-auditor.md +1 -1
- package/presets/claude/php-hexagonal/agents/qa-tester.md +1 -1
- package/presets/claude/php-hexagonal/agents/security-reviewer.md +1 -1
- package/presets/claude/php-hexagonal/agents/solution-architect.md +1 -1
- package/presets/claude/php-hexagonal/agents/task-analyst.md +2 -2
- package/presets/claude/php-hexagonal/agents/task-router.md +4 -4
- package/presets/claude/php-hexagonal/agents/unit-test-planner.md +1 -1
- package/presets/claude/php-hexagonal/ai-local/conventions.md +21 -0
- package/presets/claude/php-hexagonal/commands/README.md +1 -1
- package/presets/claude/php-hexagonal/commands/spec-start.md +2 -2
- package/presets/claude/php-hexagonal/commands/task-continue.md +2 -2
- package/presets/claude/php-hexagonal/commands/task.md +2 -2
- package/presets/claude/php-hexagonal/hooks/README.md +1 -1
- package/presets/claude/php-hexagonal/hooks/chain-team-phases.sh +69 -9
- 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/architecture/feature-delivery.md +2 -2
- package/presets/claude/php-hexagonal/rules/architecture/reference-features.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +5 -5
- package/presets/claude/php-hexagonal/rules/tooling-and-review/ai-local-overlay.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +6 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-review.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/mcp-usage.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/php-tooling.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/post-change-test.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +4 -4
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +11 -11
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +27 -9
- package/presets/claude/php-hexagonal/rules/tooling-and-review/technical-retro.md +2 -2
- package/presets/claude/php-hexagonal/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/php-hexagonal/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/php-hexagonal/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/php-hexagonal/team/README.md +59 -38
- package/presets/claude/php-laravel/README.md +3 -24
- package/presets/claude/php-laravel/REPO_AGENTS.md +36 -9
- package/presets/claude/php-laravel/agents/api-contract-reviewer.md +1 -1
- package/presets/claude/php-laravel/agents/build-verifier.md +3 -3
- package/presets/claude/php-laravel/agents/code-reviewer.md +6 -6
- package/presets/claude/php-laravel/agents/debugger.md +1 -1
- package/presets/claude/php-laravel/agents/feature-developer.md +3 -3
- package/presets/claude/php-laravel/agents/integration-test-generator.md +1 -1
- package/presets/claude/php-laravel/agents/integration-test-healer.md +1 -1
- package/presets/claude/php-laravel/agents/integration-test-planner.md +1 -1
- package/presets/claude/php-laravel/agents/migration-specialist.md +1 -1
- package/presets/claude/php-laravel/agents/openspec-author.md +5 -5
- package/presets/claude/php-laravel/agents/performance-auditor.md +1 -1
- package/presets/claude/php-laravel/agents/qa-tester.md +1 -1
- package/presets/claude/php-laravel/agents/security-reviewer.md +1 -1
- package/presets/claude/php-laravel/agents/solution-architect.md +1 -1
- package/presets/claude/php-laravel/agents/task-analyst.md +2 -2
- package/presets/claude/php-laravel/agents/task-router.md +4 -4
- package/presets/claude/php-laravel/agents/unit-test-planner.md +1 -1
- package/presets/claude/php-laravel/ai-local/conventions.md +21 -0
- package/presets/claude/php-laravel/commands/README.md +1 -1
- package/presets/claude/php-laravel/commands/spec-start.md +2 -2
- package/presets/claude/php-laravel/commands/task-continue.md +2 -2
- package/presets/claude/php-laravel/commands/task.md +2 -2
- package/presets/claude/php-laravel/hooks/README.md +1 -1
- package/presets/claude/php-laravel/hooks/chain-team-phases.sh +69 -9
- 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/architecture/reference-features.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +3 -3
- package/presets/claude/php-laravel/rules/tooling-and-review/ai-local-overlay.md +2 -2
- 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 +3 -3
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +10 -10
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +26 -8
- package/presets/claude/php-laravel/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/php-laravel/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/php-laravel/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/php-laravel/team/README.md +64 -22
- package/presets/claude/svelte/CLAUDE.md +1 -1
- package/presets/claude/svelte/README.md +3 -7
- package/presets/claude/svelte/REPO_AGENTS.md +34 -8
- package/presets/claude/svelte/agents/README.md +5 -113
- package/presets/claude/svelte/agents/accessibility-reviewer.md +4 -4
- package/presets/claude/svelte/agents/api-contract-reviewer.md +3 -3
- package/presets/claude/svelte/agents/build-verifier.md +6 -6
- package/presets/claude/svelte/agents/ci-investigator.md +3 -3
- package/presets/claude/svelte/agents/code-reviewer.md +5 -5
- package/presets/claude/svelte/agents/debugger.md +4 -4
- package/presets/claude/svelte/agents/feature-developer.md +3 -3
- package/presets/claude/svelte/agents/migration-specialist.md +3 -3
- package/presets/claude/svelte/agents/mockup-reviewer.md +4 -4
- package/presets/claude/svelte/agents/openspec-author.md +5 -5
- package/presets/claude/svelte/agents/performance-auditor.md +3 -3
- package/presets/claude/svelte/agents/qa-tester.md +3 -3
- package/presets/claude/svelte/agents/security-reviewer.md +4 -4
- package/presets/claude/svelte/agents/solution-architect.md +4 -4
- package/presets/claude/svelte/agents/task-analyst.md +6 -6
- package/presets/claude/svelte/agents/task-router.md +4 -4
- package/presets/claude/svelte/agents/tech-writer.md +3 -3
- package/presets/claude/svelte/agents/unit-test-generator.md +3 -3
- package/presets/claude/svelte/agents/unit-test-healer.md +2 -2
- package/presets/claude/svelte/agents/unit-test-planner.md +3 -3
- package/presets/claude/svelte/ai-local/conventions.md +21 -0
- package/presets/claude/svelte/commands/README.md +3 -3
- package/presets/claude/svelte/commands/spec-start.md +2 -2
- package/presets/claude/svelte/commands/task-continue.md +2 -2
- package/presets/claude/svelte/commands/task.md +2 -2
- package/presets/claude/svelte/commands/technical-retro.md +4 -4
- package/presets/claude/svelte/hooks/chain-team-phases.sh +69 -9
- 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 +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-intake.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +6 -6
- package/presets/claude/svelte/rules/tooling-and-review/ai-local-overlay.md +2 -2
- 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/mockup-review.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +3 -3
- package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +5 -5
- package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +12 -12
- package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +28 -10
- package/presets/claude/svelte/rules/tooling-and-review/technical-retro.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/ux-design.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/skills/code-review/SKILL.md +2 -2
- package/presets/claude/svelte/skills/debug-investigation/SKILL.md +1 -1
- package/presets/claude/svelte/skills/mockup-review/SKILL.md +1 -1
- package/presets/claude/svelte/skills/spec-discovery/SKILL.md +2 -2
- package/presets/claude/svelte/skills/technical-retro/SKILL.md +2 -2
- package/presets/claude/svelte/skills/unit-testing/SKILL.md +1 -1
- package/presets/claude/svelte/skills/ux-design/SKILL.md +1 -1
- package/presets/claude/svelte/skills/write-adr/SKILL.md +2 -2
- package/presets/claude/svelte/team/README.md +35 -106
- 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.md +1 -1
- package/presets/cursor/android-kotlin/README.md +3 -29
- package/presets/cursor/android-kotlin/REPO_AGENTS.md +34 -8
- package/presets/cursor/android-kotlin/agents/README.md +1 -1
- package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +4 -4
- package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +3 -3
- package/presets/cursor/android-kotlin/agents/build-verifier.md +6 -6
- package/presets/cursor/android-kotlin/agents/ci-investigator.md +3 -3
- package/presets/cursor/android-kotlin/agents/code-reviewer.md +6 -6
- package/presets/cursor/android-kotlin/agents/debugger.md +4 -4
- package/presets/cursor/android-kotlin/agents/feature-developer.md +3 -3
- package/presets/cursor/android-kotlin/agents/migration-specialist.md +3 -3
- package/presets/cursor/android-kotlin/agents/mockup-reviewer.md +4 -4
- package/presets/cursor/android-kotlin/agents/openspec-author.md +5 -5
- package/presets/cursor/android-kotlin/agents/performance-auditor.md +3 -3
- package/presets/cursor/android-kotlin/agents/qa-tester.md +3 -3
- package/presets/cursor/android-kotlin/agents/security-reviewer.md +4 -4
- package/presets/cursor/android-kotlin/agents/solution-architect.md +1 -1
- package/presets/cursor/android-kotlin/agents/task-analyst.md +4 -4
- package/presets/cursor/android-kotlin/agents/task-router.md +4 -4
- package/presets/cursor/android-kotlin/agents/tech-writer.md +3 -3
- package/presets/cursor/android-kotlin/agents/unit-test-generator.md +3 -3
- package/presets/cursor/android-kotlin/agents/unit-test-healer.md +4 -4
- package/presets/cursor/android-kotlin/agents/unit-test-planner.md +3 -3
- package/presets/cursor/android-kotlin/{team → ai-local}/conventions.md +1 -1
- package/presets/cursor/android-kotlin/commands/README.md +2 -2
- package/presets/cursor/android-kotlin/commands/spec-start.md +2 -2
- package/presets/cursor/android-kotlin/commands/task-continue.md +2 -2
- package/presets/cursor/android-kotlin/commands/task.md +2 -2
- package/presets/cursor/android-kotlin/commands/technical-retro.md +4 -4
- package/presets/cursor/android-kotlin/hooks/README.md +1 -1
- package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +69 -9
- 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/agent-team-orchestrator.mdc +5 -5
- package/presets/cursor/android-kotlin/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/android-kotlin/rules/android-app-core.mdc +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/di-dagger-feature-holders.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/preset-layering.mdc +3 -3
- package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +2 -2
- package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +5 -5
- package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +12 -12
- package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +28 -10
- package/presets/cursor/android-kotlin/rules/reference-features.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/state-and-viewmodels.mdc +1 -1
- package/presets/cursor/android-kotlin/skills/ci-investigation/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/code-review/SKILL.md +2 -2
- package/presets/cursor/android-kotlin/skills/debug-investigation/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/mockup-review/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/android-kotlin/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/android-kotlin/skills/unit-testing/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/ux-design/SKILL.md +1 -1
- package/presets/cursor/android-kotlin/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/android-kotlin/team/README.md +59 -44
- package/presets/cursor/go/AGENTS.md +1 -1
- package/presets/cursor/go/README.md +8 -31
- package/presets/cursor/go/REPO_AGENTS.md +34 -8
- package/presets/cursor/go/agents/README.md +1 -1
- package/presets/cursor/go/agents/api-contract-reviewer.md +1 -1
- package/presets/cursor/go/agents/build-verifier.md +3 -3
- package/presets/cursor/go/agents/code-reviewer.md +6 -6
- package/presets/cursor/go/agents/debugger.md +1 -1
- package/presets/cursor/go/agents/feature-developer.md +3 -3
- package/presets/cursor/go/agents/integration-test-generator.md +1 -1
- package/presets/cursor/go/agents/integration-test-healer.md +1 -1
- package/presets/cursor/go/agents/integration-test-planner.md +1 -1
- package/presets/cursor/go/agents/migration-specialist.md +1 -1
- package/presets/cursor/go/agents/openspec-author.md +5 -5
- package/presets/cursor/go/agents/performance-auditor.md +1 -1
- package/presets/cursor/go/agents/qa-tester.md +1 -1
- package/presets/cursor/go/agents/security-reviewer.md +1 -1
- package/presets/cursor/go/agents/solution-architect.md +1 -1
- package/presets/cursor/go/agents/task-analyst.md +2 -2
- package/presets/cursor/go/agents/task-router.md +4 -4
- package/presets/cursor/go/agents/unit-test-planner.md +1 -1
- package/presets/cursor/go/ai-local/conventions.md +21 -0
- package/presets/cursor/go/commands/README.md +2 -2
- package/presets/cursor/go/commands/spec-start.md +2 -2
- package/presets/cursor/go/commands/task-continue.md +2 -2
- package/presets/cursor/go/commands/task.md +2 -2
- package/presets/cursor/go/commands/technical-retro.md +4 -4
- package/presets/cursor/go/hooks/README.md +1 -1
- package/presets/cursor/go/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/go/rules/README.md +2 -2
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +2 -2
- package/presets/cursor/go/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/go/rules/preset-layering.mdc +2 -2
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +4 -4
- package/presets/cursor/go/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/go/rules/preset-twin-sync.mdc +27 -9
- package/presets/cursor/go/rules/reference-features.mdc +1 -1
- package/presets/cursor/go/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/go/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/go/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/go/team/README.md +59 -40
- package/presets/cursor/ios-swift/AGENTS.md +1 -1
- package/presets/cursor/ios-swift/README.md +8 -37
- package/presets/cursor/ios-swift/REPO_AGENTS.md +34 -8
- package/presets/cursor/ios-swift/agents/README.md +2 -2
- package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +3 -3
- package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +2 -2
- package/presets/cursor/ios-swift/agents/build-verifier.md +7 -7
- package/presets/cursor/ios-swift/agents/ci-investigator.md +2 -2
- package/presets/cursor/ios-swift/agents/code-reviewer.md +6 -6
- package/presets/cursor/ios-swift/agents/debugger.md +3 -3
- package/presets/cursor/ios-swift/agents/feature-developer.md +3 -3
- package/presets/cursor/ios-swift/agents/migration-specialist.md +2 -2
- package/presets/cursor/ios-swift/agents/mockup-reviewer.md +4 -4
- package/presets/cursor/ios-swift/agents/openspec-author.md +5 -5
- package/presets/cursor/ios-swift/agents/performance-auditor.md +2 -2
- package/presets/cursor/ios-swift/agents/qa-tester.md +2 -2
- package/presets/cursor/ios-swift/agents/security-reviewer.md +3 -3
- package/presets/cursor/ios-swift/agents/solution-architect.md +1 -1
- package/presets/cursor/ios-swift/agents/task-analyst.md +4 -4
- package/presets/cursor/ios-swift/agents/task-router.md +4 -4
- package/presets/cursor/ios-swift/agents/tech-writer.md +2 -2
- package/presets/cursor/ios-swift/agents/unit-test-generator.md +2 -2
- package/presets/cursor/ios-swift/agents/unit-test-healer.md +3 -3
- package/presets/cursor/ios-swift/agents/unit-test-planner.md +2 -2
- package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +1 -1
- package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +1 -1
- package/presets/cursor/ios-swift/ai-local/conventions.md +21 -0
- package/presets/cursor/ios-swift/commands/README.md +1 -1
- package/presets/cursor/ios-swift/commands/spec-start.md +2 -2
- package/presets/cursor/ios-swift/commands/task-continue.md +2 -2
- package/presets/cursor/ios-swift/commands/task.md +2 -2
- package/presets/cursor/ios-swift/commands/technical-retro.md +4 -4
- package/presets/cursor/ios-swift/hooks/README.md +1 -1
- package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/ios-swift/rules/README.md +2 -2
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +5 -5
- package/presets/cursor/ios-swift/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +3 -3
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +2 -2
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +5 -5
- package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +12 -12
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +28 -10
- package/presets/cursor/ios-swift/rules/reference-features.mdc +2 -2
- package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +7 -0
- package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/code-review/SKILL.md +2 -2
- package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/mockup-review/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/ios-swift/skills/unit-testing/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/ux-design/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/ios-swift/team/README.md +59 -40
- package/presets/cursor/java/AGENTS.md +2 -2
- package/presets/cursor/java/README.md +9 -19
- package/presets/cursor/java/REPO_AGENTS.md +36 -9
- package/presets/cursor/java/agents/README.md +1 -1
- package/presets/cursor/java/agents/api-contract-reviewer.md +1 -1
- package/presets/cursor/java/agents/build-verifier.md +3 -3
- package/presets/cursor/java/agents/code-reviewer.md +6 -6
- package/presets/cursor/java/agents/debugger.md +1 -1
- package/presets/cursor/java/agents/feature-developer.md +3 -3
- package/presets/cursor/java/agents/integration-test-generator.md +1 -1
- package/presets/cursor/java/agents/integration-test-healer.md +1 -1
- package/presets/cursor/java/agents/integration-test-planner.md +1 -1
- package/presets/cursor/java/agents/migration-specialist.md +1 -1
- package/presets/cursor/java/agents/openspec-author.md +5 -5
- package/presets/cursor/java/agents/performance-auditor.md +1 -1
- package/presets/cursor/java/agents/qa-tester.md +1 -1
- package/presets/cursor/java/agents/security-reviewer.md +1 -1
- package/presets/cursor/java/agents/solution-architect.md +1 -1
- package/presets/cursor/java/agents/task-analyst.md +2 -2
- package/presets/cursor/java/agents/task-router.md +4 -4
- package/presets/cursor/java/agents/unit-test-planner.md +1 -1
- package/presets/cursor/java/ai-local/conventions.md +21 -0
- package/presets/cursor/java/commands/README.md +2 -2
- package/presets/cursor/java/commands/spec-start.md +2 -2
- package/presets/cursor/java/commands/task-continue.md +2 -2
- package/presets/cursor/java/commands/task.md +2 -2
- package/presets/cursor/java/commands/technical-retro.md +4 -4
- package/presets/cursor/java/hooks/README.md +1 -1
- package/presets/cursor/java/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/java/rules/README.md +2 -2
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +3 -3
- package/presets/cursor/java/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/java/rules/preset-layering.mdc +2 -2
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +4 -4
- package/presets/cursor/java/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/java/rules/preset-twin-sync.mdc +27 -9
- package/presets/cursor/java/rules/reference-features.mdc +1 -1
- package/presets/cursor/java/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/java/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/java/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/java/team/README.md +59 -40
- package/presets/cursor/mcp-ts/README.md +3 -13
- package/presets/cursor/mcp-ts/REPO_AGENTS.md +34 -8
- package/presets/cursor/mcp-ts/agents/build-verifier.md +3 -3
- package/presets/cursor/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/cursor/mcp-ts/agents/security-reviewer.md +1 -1
- package/presets/cursor/mcp-ts/agents/task-analyst.md +2 -2
- package/presets/cursor/mcp-ts/agents/task-router.md +4 -4
- package/presets/cursor/mcp-ts/{team → ai-local}/conventions.md +2 -2
- package/presets/cursor/mcp-ts/commands/spec-start.md +2 -2
- package/presets/cursor/mcp-ts/commands/task-continue.md +2 -2
- package/presets/cursor/mcp-ts/commands/task.md +2 -2
- package/presets/cursor/mcp-ts/commands/technical-retro.md +4 -4
- package/presets/cursor/mcp-ts/hooks/README.md +1 -1
- package/presets/cursor/mcp-ts/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/mcp-ts/rules/README.md +2 -2
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +2 -2
- package/presets/cursor/mcp-ts/rules/ai-local-overlay.mdc +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 +2 -2
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +4 -4
- package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +27 -9
- package/presets/cursor/mcp-ts/rules/reference-features.mdc +1 -1
- 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/mcp-ts/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/mcp-ts/team/README.md +77 -43
- package/presets/cursor/next/AGENTS.md +1 -1
- package/presets/cursor/next/README.md +9 -40
- package/presets/cursor/next/REPO_AGENTS.md +4 -4
- package/presets/cursor/next/agents/README.md +2 -118
- package/presets/cursor/next/agents/accessibility-reviewer.md +4 -4
- package/presets/cursor/next/agents/api-contract-reviewer.md +3 -3
- package/presets/cursor/next/agents/build-verifier.md +6 -6
- package/presets/cursor/next/agents/ci-investigator.md +3 -3
- package/presets/cursor/next/agents/code-reviewer.md +5 -5
- package/presets/cursor/next/agents/debugger.md +4 -4
- package/presets/cursor/next/agents/feature-developer.md +3 -3
- package/presets/cursor/next/agents/migration-specialist.md +3 -3
- package/presets/cursor/next/agents/mockup-reviewer.md +4 -4
- package/presets/cursor/next/agents/openspec-author.md +5 -5
- package/presets/cursor/next/agents/performance-auditor.md +3 -3
- package/presets/cursor/next/agents/playwright-test-generator.md +1 -1
- package/presets/cursor/next/agents/qa-tester.md +3 -3
- package/presets/cursor/next/agents/security-reviewer.md +4 -4
- package/presets/cursor/next/agents/solution-architect.md +4 -4
- package/presets/cursor/next/agents/task-analyst.md +6 -6
- package/presets/cursor/next/agents/task-router.md +4 -4
- package/presets/cursor/next/agents/tech-writer.md +3 -3
- package/presets/cursor/next/agents/unit-test-generator.md +3 -3
- package/presets/cursor/next/agents/unit-test-healer.md +2 -2
- package/presets/cursor/next/agents/unit-test-planner.md +3 -3
- package/presets/cursor/next/ai-local/conventions.md +21 -0
- package/presets/cursor/next/commands/README.md +2 -2
- package/presets/cursor/next/commands/spec-start.md +2 -2
- package/presets/cursor/next/commands/task-continue.md +2 -2
- package/presets/cursor/next/commands/task.md +2 -2
- package/presets/cursor/next/commands/technical-retro.md +4 -4
- package/presets/cursor/next/hooks/README.md +3 -7
- package/presets/cursor/next/hooks/chain-team-phases.sh +69 -11
- package/presets/cursor/next/rules/README.md +6 -16
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +5 -5
- package/presets/cursor/next/rules/ai-local-overlay.mdc +2 -2
- 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 +3 -3
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +2 -2
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +5 -5
- package/presets/cursor/next/rules/preset-token-budget.mdc +12 -12
- package/presets/cursor/next/rules/preset-twin-sync.mdc +28 -10
- package/presets/cursor/next/rules/react-ui.mdc +37 -1
- package/presets/cursor/next/rules/reference-features.mdc +2 -2
- package/presets/cursor/next/rules/store-rtk.mdc +6 -5
- package/presets/cursor/next/rules/tests-unit.mdc +1 -0
- package/presets/cursor/next/skills/README.md +1 -1
- package/presets/cursor/next/skills/code-review/SKILL.md +2 -2
- package/presets/cursor/next/skills/debug-investigation/SKILL.md +1 -1
- package/presets/cursor/next/skills/mockup-review/SKILL.md +1 -1
- package/presets/cursor/next/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/next/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/next/skills/unit-testing/SKILL.md +1 -1
- package/presets/cursor/next/skills/ux-design/SKILL.md +1 -1
- package/presets/cursor/next/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/next/team/README.md +35 -106
- package/presets/cursor/nuxt/AGENTS.md +1 -1
- package/presets/cursor/nuxt/README.md +8 -39
- package/presets/cursor/nuxt/REPO_AGENTS.md +34 -8
- package/presets/cursor/nuxt/agents/README.md +5 -113
- package/presets/cursor/nuxt/agents/accessibility-reviewer.md +4 -4
- package/presets/cursor/nuxt/agents/api-contract-reviewer.md +3 -3
- package/presets/cursor/nuxt/agents/build-verifier.md +6 -6
- package/presets/cursor/nuxt/agents/ci-investigator.md +3 -3
- package/presets/cursor/nuxt/agents/code-reviewer.md +5 -5
- package/presets/cursor/nuxt/agents/debugger.md +4 -4
- package/presets/cursor/nuxt/agents/feature-developer.md +3 -3
- package/presets/cursor/nuxt/agents/migration-specialist.md +3 -3
- package/presets/cursor/nuxt/agents/mockup-reviewer.md +4 -4
- package/presets/cursor/nuxt/agents/openspec-author.md +5 -5
- package/presets/cursor/nuxt/agents/performance-auditor.md +3 -3
- package/presets/cursor/nuxt/agents/playwright-test-generator.md +1 -1
- package/presets/cursor/nuxt/agents/qa-tester.md +3 -3
- package/presets/cursor/nuxt/agents/security-reviewer.md +4 -4
- package/presets/cursor/nuxt/agents/solution-architect.md +4 -4
- package/presets/cursor/nuxt/agents/task-analyst.md +6 -6
- package/presets/cursor/nuxt/agents/task-router.md +4 -4
- package/presets/cursor/nuxt/agents/tech-writer.md +3 -3
- package/presets/cursor/nuxt/agents/unit-test-generator.md +3 -3
- package/presets/cursor/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/cursor/nuxt/agents/unit-test-planner.md +3 -3
- package/presets/cursor/nuxt/ai-local/conventions.md +21 -0
- package/presets/cursor/nuxt/commands/README.md +2 -2
- package/presets/cursor/nuxt/commands/spec-start.md +2 -2
- package/presets/cursor/nuxt/commands/task-continue.md +2 -2
- package/presets/cursor/nuxt/commands/task.md +2 -2
- package/presets/cursor/nuxt/commands/technical-retro.md +4 -4
- package/presets/cursor/nuxt/hooks/README.md +1 -1
- package/presets/cursor/nuxt/hooks/chain-team-phases.sh +69 -11
- 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/README.md +1 -1
- package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +5 -5
- package/presets/cursor/nuxt/rules/ai-local-overlay.mdc +2 -2
- 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 +3 -3
- package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +2 -2
- package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +5 -5
- package/presets/cursor/nuxt/rules/preset-token-budget.mdc +12 -12
- package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +28 -10
- package/presets/cursor/nuxt/rules/reference-features.mdc +2 -2
- package/presets/cursor/nuxt/rules/vue-ui.mdc +7 -0
- package/presets/cursor/nuxt/skills/code-review/SKILL.md +2 -2
- package/presets/cursor/nuxt/skills/debug-investigation/SKILL.md +1 -1
- package/presets/cursor/nuxt/skills/mockup-review/SKILL.md +1 -1
- package/presets/cursor/nuxt/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/nuxt/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/nuxt/skills/unit-testing/SKILL.md +1 -1
- package/presets/cursor/nuxt/skills/ux-design/SKILL.md +1 -1
- package/presets/cursor/nuxt/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/nuxt/team/README.md +35 -106
- package/presets/cursor/php-hexagonal/AGENTS.md +2 -2
- package/presets/cursor/php-hexagonal/README.md +3 -20
- package/presets/cursor/php-hexagonal/REPO_AGENTS.md +36 -9
- package/presets/cursor/php-hexagonal/agents/README.md +1 -1
- package/presets/cursor/php-hexagonal/agents/api-contract-reviewer.md +1 -1
- package/presets/cursor/php-hexagonal/agents/build-verifier.md +3 -3
- package/presets/cursor/php-hexagonal/agents/code-reviewer.md +6 -6
- package/presets/cursor/php-hexagonal/agents/debugger.md +1 -1
- package/presets/cursor/php-hexagonal/agents/feature-developer.md +3 -3
- package/presets/cursor/php-hexagonal/agents/integration-test-generator.md +1 -1
- package/presets/cursor/php-hexagonal/agents/integration-test-healer.md +1 -1
- package/presets/cursor/php-hexagonal/agents/integration-test-planner.md +1 -1
- package/presets/cursor/php-hexagonal/agents/migration-specialist.md +1 -1
- package/presets/cursor/php-hexagonal/agents/openspec-author.md +5 -5
- package/presets/cursor/php-hexagonal/agents/performance-auditor.md +1 -1
- package/presets/cursor/php-hexagonal/agents/qa-tester.md +1 -1
- package/presets/cursor/php-hexagonal/agents/security-reviewer.md +1 -1
- package/presets/cursor/php-hexagonal/agents/solution-architect.md +1 -1
- package/presets/cursor/php-hexagonal/agents/task-analyst.md +2 -2
- package/presets/cursor/php-hexagonal/agents/task-router.md +4 -4
- package/presets/cursor/php-hexagonal/agents/unit-test-planner.md +1 -1
- package/presets/cursor/php-hexagonal/ai-local/conventions.md +21 -0
- package/presets/cursor/php-hexagonal/commands/README.md +2 -2
- package/presets/cursor/php-hexagonal/commands/spec-start.md +2 -2
- package/presets/cursor/php-hexagonal/commands/task-continue.md +2 -2
- package/presets/cursor/php-hexagonal/commands/task.md +2 -2
- package/presets/cursor/php-hexagonal/commands/technical-retro.md +4 -4
- package/presets/cursor/php-hexagonal/hooks/README.md +1 -1
- package/presets/cursor/php-hexagonal/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/php-hexagonal/rules/README.md +2 -2
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +3 -3
- package/presets/cursor/php-hexagonal/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +2 -2
- package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +4 -4
- package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +27 -9
- package/presets/cursor/php-hexagonal/rules/reference-features.mdc +1 -1
- package/presets/cursor/php-hexagonal/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/php-hexagonal/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/php-hexagonal/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/php-hexagonal/team/README.md +59 -42
- package/presets/cursor/php-laravel/AGENTS.md +2 -2
- package/presets/cursor/php-laravel/README.md +3 -27
- package/presets/cursor/php-laravel/REPO_AGENTS.md +36 -9
- package/presets/cursor/php-laravel/agents/README.md +1 -1
- package/presets/cursor/php-laravel/agents/api-contract-reviewer.md +1 -1
- package/presets/cursor/php-laravel/agents/build-verifier.md +3 -3
- package/presets/cursor/php-laravel/agents/code-reviewer.md +6 -6
- package/presets/cursor/php-laravel/agents/debugger.md +1 -1
- package/presets/cursor/php-laravel/agents/feature-developer.md +3 -3
- package/presets/cursor/php-laravel/agents/integration-test-generator.md +1 -1
- package/presets/cursor/php-laravel/agents/integration-test-healer.md +1 -1
- package/presets/cursor/php-laravel/agents/integration-test-planner.md +1 -1
- package/presets/cursor/php-laravel/agents/migration-specialist.md +1 -1
- package/presets/cursor/php-laravel/agents/openspec-author.md +5 -5
- package/presets/cursor/php-laravel/agents/performance-auditor.md +1 -1
- package/presets/cursor/php-laravel/agents/qa-tester.md +1 -1
- package/presets/cursor/php-laravel/agents/security-reviewer.md +1 -1
- package/presets/cursor/php-laravel/agents/solution-architect.md +1 -1
- package/presets/cursor/php-laravel/agents/task-analyst.md +2 -2
- package/presets/cursor/php-laravel/agents/task-router.md +4 -4
- package/presets/cursor/php-laravel/agents/unit-test-planner.md +1 -1
- package/presets/cursor/php-laravel/ai-local/conventions.md +21 -0
- package/presets/cursor/php-laravel/commands/README.md +2 -2
- package/presets/cursor/php-laravel/commands/spec-start.md +2 -2
- package/presets/cursor/php-laravel/commands/task-continue.md +2 -2
- package/presets/cursor/php-laravel/commands/task.md +2 -2
- package/presets/cursor/php-laravel/commands/technical-retro.md +4 -4
- package/presets/cursor/php-laravel/hooks/README.md +1 -1
- package/presets/cursor/php-laravel/hooks/chain-team-phases.sh +69 -9
- package/presets/cursor/php-laravel/rules/README.md +2 -2
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +3 -3
- package/presets/cursor/php-laravel/rules/ai-local-overlay.mdc +2 -2
- package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +6 -0
- package/presets/cursor/php-laravel/rules/preset-layering.mdc +2 -2
- package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +1 -1
- package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +4 -4
- package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +11 -11
- package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +27 -9
- package/presets/cursor/php-laravel/rules/reference-features.mdc +1 -1
- package/presets/cursor/php-laravel/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/php-laravel/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/php-laravel/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/php-laravel/team/README.md +64 -22
- package/presets/cursor/svelte/AGENTS.md +1 -1
- package/presets/cursor/svelte/README.md +9 -40
- package/presets/cursor/svelte/REPO_AGENTS.md +34 -8
- package/presets/cursor/svelte/agents/README.md +5 -113
- package/presets/cursor/svelte/agents/accessibility-reviewer.md +4 -4
- package/presets/cursor/svelte/agents/api-contract-reviewer.md +3 -3
- package/presets/cursor/svelte/agents/build-verifier.md +6 -6
- package/presets/cursor/svelte/agents/ci-investigator.md +3 -3
- package/presets/cursor/svelte/agents/code-reviewer.md +5 -5
- package/presets/cursor/svelte/agents/debugger.md +4 -4
- package/presets/cursor/svelte/agents/feature-developer.md +3 -3
- package/presets/cursor/svelte/agents/migration-specialist.md +3 -3
- package/presets/cursor/svelte/agents/mockup-reviewer.md +4 -4
- package/presets/cursor/svelte/agents/openspec-author.md +5 -5
- package/presets/cursor/svelte/agents/performance-auditor.md +3 -3
- package/presets/cursor/svelte/agents/playwright-test-generator.md +1 -1
- package/presets/cursor/svelte/agents/qa-tester.md +3 -3
- package/presets/cursor/svelte/agents/security-reviewer.md +4 -4
- package/presets/cursor/svelte/agents/solution-architect.md +4 -4
- package/presets/cursor/svelte/agents/task-analyst.md +6 -6
- package/presets/cursor/svelte/agents/task-router.md +4 -4
- package/presets/cursor/svelte/agents/tech-writer.md +3 -3
- package/presets/cursor/svelte/agents/unit-test-generator.md +3 -3
- package/presets/cursor/svelte/agents/unit-test-healer.md +2 -2
- package/presets/cursor/svelte/agents/unit-test-planner.md +3 -3
- package/presets/cursor/svelte/ai-local/conventions.md +21 -0
- package/presets/cursor/svelte/commands/README.md +2 -2
- package/presets/cursor/svelte/commands/spec-start.md +2 -2
- package/presets/cursor/svelte/commands/task-continue.md +2 -2
- package/presets/cursor/svelte/commands/task.md +2 -2
- package/presets/cursor/svelte/commands/technical-retro.md +4 -4
- package/presets/cursor/svelte/hooks/README.md +1 -1
- package/presets/cursor/svelte/hooks/chain-team-phases.sh +69 -11
- package/presets/cursor/svelte/rules/README.md +1 -1
- package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +5 -5
- package/presets/cursor/svelte/rules/ai-local-overlay.mdc +2 -2
- 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 +3 -3
- package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +2 -2
- package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +5 -5
- package/presets/cursor/svelte/rules/preset-token-budget.mdc +12 -12
- package/presets/cursor/svelte/rules/preset-twin-sync.mdc +28 -10
- package/presets/cursor/svelte/rules/reference-features.mdc +2 -2
- package/presets/cursor/svelte/rules/svelte-ui.mdc +7 -0
- package/presets/cursor/svelte/skills/code-review/SKILL.md +2 -2
- package/presets/cursor/svelte/skills/debug-investigation/SKILL.md +1 -1
- package/presets/cursor/svelte/skills/mockup-review/SKILL.md +1 -1
- package/presets/cursor/svelte/skills/spec-discovery/SKILL.md +2 -2
- package/presets/cursor/svelte/skills/technical-retro/SKILL.md +2 -2
- package/presets/cursor/svelte/skills/unit-testing/SKILL.md +1 -1
- package/presets/cursor/svelte/skills/ux-design/SKILL.md +1 -1
- package/presets/cursor/svelte/skills/write-adr/SKILL.md +2 -2
- package/presets/cursor/svelte/team/README.md +35 -106
- package/presets/mavis/README.md +8 -50
- package/presets/mavis/android-kotlin/MAVIS.md +79 -0
- package/presets/mavis/android-kotlin/MCP.md +35 -0
- package/presets/mavis/android-kotlin/README.md +16 -0
- package/presets/mavis/android-kotlin/REPO_AGENTS.md +74 -0
- package/presets/mavis/android-kotlin/adapter-map.json +812 -0
- package/presets/mavis/android-kotlin/agents/README.md +59 -0
- package/presets/mavis/android-kotlin/agents/accessibility-reviewer.md +59 -0
- package/presets/mavis/android-kotlin/agents/api-contract-reviewer.md +63 -0
- package/presets/mavis/android-kotlin/agents/build-verifier.md +77 -0
- package/presets/mavis/android-kotlin/agents/ci-investigator.md +76 -0
- package/presets/mavis/android-kotlin/agents/code-reviewer.md +73 -0
- package/presets/mavis/android-kotlin/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/android-kotlin/agents/debugger.md +84 -0
- package/presets/mavis/android-kotlin/agents/feature-developer.md +102 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-generator.md +14 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-healer.md +14 -0
- package/presets/mavis/android-kotlin/agents/instrumentation-test-planner.md +14 -0
- package/presets/mavis/android-kotlin/agents/migration-specialist.md +73 -0
- package/presets/mavis/android-kotlin/agents/mockup-reviewer.md +53 -0
- package/presets/mavis/android-kotlin/agents/openspec-author.md +157 -0
- package/presets/mavis/android-kotlin/agents/performance-auditor.md +66 -0
- package/presets/mavis/android-kotlin/agents/qa-tester.md +61 -0
- package/presets/mavis/android-kotlin/agents/security-reviewer.md +58 -0
- package/presets/mavis/android-kotlin/agents/solution-architect.md +20 -0
- package/presets/mavis/android-kotlin/agents/task-analyst.md +92 -0
- package/presets/mavis/android-kotlin/agents/task-router.md +144 -0
- package/presets/mavis/android-kotlin/agents/tech-writer.md +63 -0
- package/presets/mavis/android-kotlin/agents/unit-test-generator.md +48 -0
- package/presets/mavis/android-kotlin/agents/unit-test-healer.md +47 -0
- package/presets/mavis/android-kotlin/agents/unit-test-planner.md +58 -0
- package/presets/mavis/android-kotlin/ai-local/conventions.md +17 -0
- package/presets/mavis/android-kotlin/commands/README.md +49 -0
- package/presets/mavis/android-kotlin/commands/spec-start.md +24 -0
- package/presets/mavis/android-kotlin/commands/task-continue.md +50 -0
- package/presets/mavis/android-kotlin/commands/task.md +49 -0
- package/presets/mavis/android-kotlin/commands/technical-retro.md +80 -0
- package/presets/mavis/android-kotlin/hooks/README.md +22 -0
- package/presets/mavis/android-kotlin/hooks/chain-team-phases.sh +901 -0
- package/presets/mavis/android-kotlin/mcp.json +11 -0
- package/presets/mavis/android-kotlin/rules/README.md +16 -0
- package/presets/mavis/android-kotlin/rules/agent-team-intake.md +11 -0
- package/presets/mavis/android-kotlin/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/android-kotlin/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/android-kotlin/rules/android-app-core.md +23 -0
- package/presets/mavis/android-kotlin/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/android-kotlin/rules/architecture-boundaries.md +23 -0
- package/presets/mavis/android-kotlin/rules/code-quality-and-refactoring.md +54 -0
- package/presets/mavis/android-kotlin/rules/code-review-mr.md +79 -0
- package/presets/mavis/android-kotlin/rules/compose-ui.md +25 -0
- package/presets/mavis/android-kotlin/rules/design-guidance.md +104 -0
- package/presets/mavis/android-kotlin/rules/di-dagger-feature-holders.md +26 -0
- package/presets/mavis/android-kotlin/rules/feature-delivery-workflow.md +39 -0
- package/presets/mavis/android-kotlin/rules/gradle-tooling.md +22 -0
- package/presets/mavis/android-kotlin/rules/kotlin-conventions.md +24 -0
- package/presets/mavis/android-kotlin/rules/mcp-usage.md +94 -0
- package/presets/mavis/android-kotlin/rules/mockup-review.md +111 -0
- package/presets/mavis/android-kotlin/rules/module-public-api.md +22 -0
- package/presets/mavis/android-kotlin/rules/navigation-feature-launcher.md +23 -0
- package/presets/mavis/android-kotlin/rules/networking-data.md +23 -0
- package/presets/mavis/android-kotlin/rules/persistence-data.md +22 -0
- package/presets/mavis/android-kotlin/rules/post-change-build.md +25 -0
- package/presets/mavis/android-kotlin/rules/preset-layering.md +27 -0
- package/presets/mavis/android-kotlin/rules/preset-no-cross-stack-leakage.md +94 -0
- package/presets/mavis/android-kotlin/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/android-kotlin/rules/preset-token-budget.md +39 -0
- package/presets/mavis/android-kotlin/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/android-kotlin/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/android-kotlin/rules/product-specs.md +61 -0
- package/presets/mavis/android-kotlin/rules/reference-features.md +22 -0
- package/presets/mavis/android-kotlin/rules/security-android.md +21 -0
- package/presets/mavis/android-kotlin/rules/state-and-viewmodels.md +21 -0
- package/presets/mavis/android-kotlin/rules/technical-retro.md +11 -0
- package/presets/mavis/android-kotlin/rules/tests-ui.md +22 -0
- package/presets/mavis/android-kotlin/rules/tests-unit.md +22 -0
- package/presets/mavis/android-kotlin/rules/ux-design.md +103 -0
- package/presets/mavis/android-kotlin/skills/README.md +18 -0
- package/presets/mavis/android-kotlin/skills/ci-investigation/SKILL.md +42 -0
- package/presets/mavis/android-kotlin/skills/code-review/SKILL.md +40 -0
- package/presets/mavis/android-kotlin/skills/debug-investigation/SKILL.md +65 -0
- package/presets/mavis/android-kotlin/skills/feature-delivery/SKILL.md +40 -0
- package/presets/mavis/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +12 -0
- package/presets/mavis/android-kotlin/skills/mockup-review/SKILL.md +24 -0
- package/presets/mavis/android-kotlin/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/android-kotlin/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/android-kotlin/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/android-kotlin/skills/unit-testing/SKILL.md +27 -0
- package/presets/mavis/android-kotlin/skills/ux-design/SKILL.md +31 -0
- package/presets/mavis/android-kotlin/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/android-kotlin/team/README.md +77 -0
- package/presets/mavis/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/mavis/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
- package/presets/mavis/android-kotlin/team/fixtures/feature-full.json +98 -0
- package/presets/mavis/android-kotlin/team/fixtures/feature-light.json +38 -0
- package/presets/mavis/android-kotlin/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/mavis/android-kotlin/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/mavis/android-kotlin/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/android-kotlin/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/mavis/android-kotlin/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/mavis/android-kotlin/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/mavis/go/MAVIS.md +55 -0
- package/presets/mavis/go/MCP.md +37 -0
- package/presets/mavis/go/README.md +16 -0
- package/presets/mavis/go/REPO_AGENTS.md +74 -0
- package/presets/mavis/go/adapter-map.json +755 -0
- package/presets/mavis/go/agents/README.md +48 -0
- package/presets/mavis/go/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/go/agents/build-verifier.md +54 -0
- package/presets/mavis/go/agents/ci-investigator.md +24 -0
- package/presets/mavis/go/agents/code-reviewer.md +48 -0
- package/presets/mavis/go/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/go/agents/debugger.md +42 -0
- package/presets/mavis/go/agents/feature-developer.md +90 -0
- package/presets/mavis/go/agents/integration-test-generator.md +16 -0
- package/presets/mavis/go/agents/integration-test-healer.md +16 -0
- package/presets/mavis/go/agents/integration-test-planner.md +16 -0
- package/presets/mavis/go/agents/migration-specialist.md +31 -0
- package/presets/mavis/go/agents/openspec-author.md +157 -0
- package/presets/mavis/go/agents/performance-auditor.md +22 -0
- package/presets/mavis/go/agents/qa-tester.md +22 -0
- package/presets/mavis/go/agents/security-reviewer.md +14 -0
- package/presets/mavis/go/agents/solution-architect.md +28 -0
- package/presets/mavis/go/agents/task-analyst.md +71 -0
- package/presets/mavis/go/agents/task-router.md +133 -0
- package/presets/mavis/go/agents/tech-writer.md +17 -0
- package/presets/mavis/go/agents/unit-test-generator.md +15 -0
- package/presets/mavis/go/agents/unit-test-healer.md +7 -0
- package/presets/mavis/go/agents/unit-test-planner.md +20 -0
- package/presets/mavis/go/ai-local/conventions.md +21 -0
- package/presets/mavis/go/commands/README.md +52 -0
- package/presets/mavis/go/commands/spec-start.md +24 -0
- package/presets/mavis/go/commands/task-continue.md +48 -0
- package/presets/mavis/go/commands/task.md +47 -0
- package/presets/mavis/go/commands/technical-retro.md +80 -0
- package/presets/mavis/go/hooks/README.md +22 -0
- package/presets/mavis/go/hooks/chain-team-phases.sh +874 -0
- package/presets/mavis/go/mcp.json +11 -0
- package/presets/mavis/go/rules/README.md +16 -0
- package/presets/mavis/go/rules/adapters-driven.md +25 -0
- package/presets/mavis/go/rules/adapters-driving.md +26 -0
- package/presets/mavis/go/rules/agent-team-intake.md +15 -0
- package/presets/mavis/go/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/go/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/go/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/go/rules/api-grpc.md +20 -0
- package/presets/mavis/go/rules/api-http.md +25 -0
- package/presets/mavis/go/rules/application-usecases.md +26 -0
- package/presets/mavis/go/rules/architecture-boundaries.md +31 -0
- package/presets/mavis/go/rules/code-quality-and-refactoring.md +55 -0
- package/presets/mavis/go/rules/code-review-mr.md +47 -0
- package/presets/mavis/go/rules/composition-root.md +26 -0
- package/presets/mavis/go/rules/design-guidance.md +104 -0
- package/presets/mavis/go/rules/domain-layer.md +25 -0
- package/presets/mavis/go/rules/feature-delivery-workflow.md +49 -0
- package/presets/mavis/go/rules/go-app-core.md +27 -0
- package/presets/mavis/go/rules/go-conventions.md +45 -0
- package/presets/mavis/go/rules/go-tooling.md +28 -0
- package/presets/mavis/go/rules/mcp-usage.md +93 -0
- package/presets/mavis/go/rules/messaging-adapters.md +15 -0
- package/presets/mavis/go/rules/module-public-api.md +16 -0
- package/presets/mavis/go/rules/persistence-adapters.md +24 -0
- package/presets/mavis/go/rules/ports-interfaces.md +26 -0
- package/presets/mavis/go/rules/post-change-test.md +22 -0
- package/presets/mavis/go/rules/preset-layering.md +27 -0
- package/presets/mavis/go/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/go/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/go/rules/preset-token-budget.md +39 -0
- package/presets/mavis/go/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/go/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/go/rules/product-specs.md +62 -0
- package/presets/mavis/go/rules/reference-features.md +45 -0
- package/presets/mavis/go/rules/security-go.md +26 -0
- package/presets/mavis/go/rules/technical-retro.md +11 -0
- package/presets/mavis/go/rules/tests-e2e.md +13 -0
- package/presets/mavis/go/rules/tests-integration.md +22 -0
- package/presets/mavis/go/rules/tests-unit.md +18 -0
- package/presets/mavis/go/skills/README.md +5 -0
- package/presets/mavis/go/skills/ci-investigation/SKILL.md +13 -0
- package/presets/mavis/go/skills/code-review/SKILL.md +27 -0
- package/presets/mavis/go/skills/debug-investigation/SKILL.md +46 -0
- package/presets/mavis/go/skills/feature-delivery/SKILL.md +32 -0
- package/presets/mavis/go/skills/integration-testing/SKILL.md +10 -0
- package/presets/mavis/go/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/go/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/go/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/go/skills/unit-testing/SKILL.md +9 -0
- package/presets/mavis/go/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/go/team/README.md +77 -0
- package/presets/mavis/go/team/fixtures/bugfix-standard.json +37 -0
- package/presets/mavis/go/team/fixtures/feature-full.json +61 -0
- package/presets/mavis/go/team/fixtures/feature-light.json +17 -0
- package/presets/mavis/go/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/ios-swift/MAVIS.md +79 -0
- package/presets/mavis/ios-swift/MCP.md +35 -0
- package/presets/mavis/ios-swift/README.md +16 -0
- package/presets/mavis/ios-swift/REPO_AGENTS.md +72 -0
- package/presets/mavis/ios-swift/adapter-map.json +805 -0
- package/presets/mavis/ios-swift/agents/README.md +77 -0
- package/presets/mavis/ios-swift/agents/accessibility-reviewer.md +57 -0
- package/presets/mavis/ios-swift/agents/api-contract-reviewer.md +56 -0
- package/presets/mavis/ios-swift/agents/build-verifier.md +95 -0
- package/presets/mavis/ios-swift/agents/ci-investigator.md +70 -0
- package/presets/mavis/ios-swift/agents/code-reviewer.md +73 -0
- package/presets/mavis/ios-swift/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/ios-swift/agents/debugger.md +78 -0
- package/presets/mavis/ios-swift/agents/feature-developer.md +102 -0
- package/presets/mavis/ios-swift/agents/migration-specialist.md +67 -0
- package/presets/mavis/ios-swift/agents/mockup-reviewer.md +53 -0
- package/presets/mavis/ios-swift/agents/openspec-author.md +157 -0
- package/presets/mavis/ios-swift/agents/performance-auditor.md +66 -0
- package/presets/mavis/ios-swift/agents/qa-tester.md +55 -0
- package/presets/mavis/ios-swift/agents/security-reviewer.md +53 -0
- package/presets/mavis/ios-swift/agents/solution-architect.md +20 -0
- package/presets/mavis/ios-swift/agents/task-analyst.md +92 -0
- package/presets/mavis/ios-swift/agents/task-router.md +144 -0
- package/presets/mavis/ios-swift/agents/tech-writer.md +47 -0
- package/presets/mavis/ios-swift/agents/unit-test-generator.md +42 -0
- package/presets/mavis/ios-swift/agents/unit-test-healer.md +41 -0
- package/presets/mavis/ios-swift/agents/unit-test-planner.md +52 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-generator.md +30 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-healer.md +30 -0
- package/presets/mavis/ios-swift/agents/xcuitest-test-planner.md +48 -0
- package/presets/mavis/ios-swift/ai-local/conventions.md +21 -0
- package/presets/mavis/ios-swift/commands/README.md +49 -0
- package/presets/mavis/ios-swift/commands/spec-start.md +24 -0
- package/presets/mavis/ios-swift/commands/task-continue.md +50 -0
- package/presets/mavis/ios-swift/commands/task.md +49 -0
- package/presets/mavis/ios-swift/commands/technical-retro.md +80 -0
- package/presets/mavis/ios-swift/hooks/README.md +22 -0
- package/presets/mavis/ios-swift/hooks/chain-team-phases.sh +901 -0
- package/presets/mavis/ios-swift/mcp.json +11 -0
- package/presets/mavis/ios-swift/rules/README.md +16 -0
- package/presets/mavis/ios-swift/rules/agent-team-intake.md +11 -0
- package/presets/mavis/ios-swift/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/ios-swift/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/ios-swift/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/ios-swift/rules/architecture-boundaries.md +29 -0
- package/presets/mavis/ios-swift/rules/code-quality-and-refactoring.md +54 -0
- package/presets/mavis/ios-swift/rules/code-review-mr.md +79 -0
- package/presets/mavis/ios-swift/rules/design-guidance.md +104 -0
- package/presets/mavis/ios-swift/rules/feature-delivery-workflow.md +115 -0
- package/presets/mavis/ios-swift/rules/ios-app-core.md +16 -0
- package/presets/mavis/ios-swift/rules/mcp-usage.md +94 -0
- package/presets/mavis/ios-swift/rules/mockup-review.md +111 -0
- package/presets/mavis/ios-swift/rules/module-public-api.md +17 -0
- package/presets/mavis/ios-swift/rules/navigation-coordinators.md +18 -0
- package/presets/mavis/ios-swift/rules/networking-services.md +43 -0
- package/presets/mavis/ios-swift/rules/persistence-data.md +20 -0
- package/presets/mavis/ios-swift/rules/post-change-build.md +27 -0
- package/presets/mavis/ios-swift/rules/preset-layering.md +27 -0
- package/presets/mavis/ios-swift/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/ios-swift/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/ios-swift/rules/preset-token-budget.md +39 -0
- package/presets/mavis/ios-swift/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/ios-swift/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/ios-swift/rules/product-specs.md +61 -0
- package/presets/mavis/ios-swift/rules/reference-features.md +94 -0
- package/presets/mavis/ios-swift/rules/security-ios.md +24 -0
- package/presets/mavis/ios-swift/rules/state-and-viewmodels.md +37 -0
- package/presets/mavis/ios-swift/rules/swift-conventions.md +55 -0
- package/presets/mavis/ios-swift/rules/swiftui-ui.md +70 -0
- package/presets/mavis/ios-swift/rules/technical-retro.md +11 -0
- package/presets/mavis/ios-swift/rules/tests-ui.md +37 -0
- package/presets/mavis/ios-swift/rules/tests-unit.md +35 -0
- package/presets/mavis/ios-swift/rules/ux-design.md +103 -0
- package/presets/mavis/ios-swift/rules/xcode-tooling.md +15 -0
- package/presets/mavis/ios-swift/skills/README.md +18 -0
- package/presets/mavis/ios-swift/skills/ci-investigation/SKILL.md +42 -0
- package/presets/mavis/ios-swift/skills/code-review/SKILL.md +40 -0
- package/presets/mavis/ios-swift/skills/debug-investigation/SKILL.md +65 -0
- package/presets/mavis/ios-swift/skills/feature-delivery/SKILL.md +40 -0
- package/presets/mavis/ios-swift/skills/mockup-review/SKILL.md +24 -0
- package/presets/mavis/ios-swift/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/ios-swift/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/ios-swift/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/ios-swift/skills/unit-testing/SKILL.md +27 -0
- package/presets/mavis/ios-swift/skills/ux-design/SKILL.md +31 -0
- package/presets/mavis/ios-swift/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/ios-swift/skills/xcuitest-e2e/SKILL.md +28 -0
- package/presets/mavis/ios-swift/team/README.md +77 -0
- package/presets/mavis/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/mavis/ios-swift/team/fixtures/bugfix-standard.json +33 -0
- package/presets/mavis/ios-swift/team/fixtures/feature-full.json +61 -0
- package/presets/mavis/ios-swift/team/fixtures/feature-light.json +17 -0
- package/presets/mavis/ios-swift/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/mavis/ios-swift/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/mavis/ios-swift/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/ios-swift/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/mavis/ios-swift/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/mavis/ios-swift/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/mavis/java/MAVIS.md +56 -0
- package/presets/mavis/java/MCP.md +34 -0
- package/presets/mavis/java/README.md +16 -0
- package/presets/mavis/java/REPO_AGENTS.md +72 -0
- package/presets/mavis/java/adapter-map.json +755 -0
- package/presets/mavis/java/agents/README.md +48 -0
- package/presets/mavis/java/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/java/agents/build-verifier.md +64 -0
- package/presets/mavis/java/agents/ci-investigator.md +24 -0
- package/presets/mavis/java/agents/code-reviewer.md +48 -0
- package/presets/mavis/java/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/java/agents/debugger.md +42 -0
- package/presets/mavis/java/agents/feature-developer.md +90 -0
- package/presets/mavis/java/agents/integration-test-generator.md +16 -0
- package/presets/mavis/java/agents/integration-test-healer.md +16 -0
- package/presets/mavis/java/agents/integration-test-planner.md +16 -0
- package/presets/mavis/java/agents/migration-specialist.md +31 -0
- package/presets/mavis/java/agents/openspec-author.md +157 -0
- package/presets/mavis/java/agents/performance-auditor.md +22 -0
- package/presets/mavis/java/agents/qa-tester.md +22 -0
- package/presets/mavis/java/agents/security-reviewer.md +14 -0
- package/presets/mavis/java/agents/solution-architect.md +28 -0
- package/presets/mavis/java/agents/task-analyst.md +71 -0
- package/presets/mavis/java/agents/task-router.md +133 -0
- package/presets/mavis/java/agents/tech-writer.md +17 -0
- package/presets/mavis/java/agents/unit-test-generator.md +15 -0
- package/presets/mavis/java/agents/unit-test-healer.md +7 -0
- package/presets/mavis/java/agents/unit-test-planner.md +20 -0
- package/presets/mavis/java/ai-local/conventions.md +21 -0
- package/presets/mavis/java/commands/README.md +52 -0
- package/presets/mavis/java/commands/spec-start.md +24 -0
- package/presets/mavis/java/commands/task-continue.md +48 -0
- package/presets/mavis/java/commands/task.md +47 -0
- package/presets/mavis/java/commands/technical-retro.md +80 -0
- package/presets/mavis/java/hooks/README.md +22 -0
- package/presets/mavis/java/hooks/chain-team-phases.sh +874 -0
- package/presets/mavis/java/mcp.json +11 -0
- package/presets/mavis/java/rules/README.md +16 -0
- package/presets/mavis/java/rules/adapters-driven.md +30 -0
- package/presets/mavis/java/rules/adapters-driving.md +30 -0
- package/presets/mavis/java/rules/agent-team-intake.md +15 -0
- package/presets/mavis/java/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/java/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/java/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/java/rules/api-grpc.md +22 -0
- package/presets/mavis/java/rules/api-http.md +28 -0
- package/presets/mavis/java/rules/application-usecases.md +26 -0
- package/presets/mavis/java/rules/architecture-boundaries.md +31 -0
- package/presets/mavis/java/rules/code-quality-and-refactoring.md +55 -0
- package/presets/mavis/java/rules/code-review-mr.md +49 -0
- package/presets/mavis/java/rules/composition-root.md +25 -0
- package/presets/mavis/java/rules/design-guidance.md +105 -0
- package/presets/mavis/java/rules/domain-layer.md +32 -0
- package/presets/mavis/java/rules/feature-delivery-workflow.md +49 -0
- package/presets/mavis/java/rules/java-app-core.md +28 -0
- package/presets/mavis/java/rules/java-conventions.md +47 -0
- package/presets/mavis/java/rules/java-tooling.md +24 -0
- package/presets/mavis/java/rules/mcp-usage.md +92 -0
- package/presets/mavis/java/rules/messaging-adapters.md +23 -0
- package/presets/mavis/java/rules/module-public-api.md +23 -0
- package/presets/mavis/java/rules/persistence-adapters.md +25 -0
- package/presets/mavis/java/rules/ports-interfaces.md +27 -0
- package/presets/mavis/java/rules/post-change-test.md +20 -0
- package/presets/mavis/java/rules/preset-layering.md +27 -0
- package/presets/mavis/java/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/java/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/java/rules/preset-token-budget.md +39 -0
- package/presets/mavis/java/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/java/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/java/rules/product-specs.md +62 -0
- package/presets/mavis/java/rules/reference-features.md +45 -0
- package/presets/mavis/java/rules/security-java.md +21 -0
- package/presets/mavis/java/rules/technical-retro.md +11 -0
- package/presets/mavis/java/rules/tests-e2e.md +15 -0
- package/presets/mavis/java/rules/tests-integration.md +19 -0
- package/presets/mavis/java/rules/tests-unit.md +26 -0
- package/presets/mavis/java/skills/README.md +5 -0
- package/presets/mavis/java/skills/ci-investigation/SKILL.md +13 -0
- package/presets/mavis/java/skills/code-review/SKILL.md +27 -0
- package/presets/mavis/java/skills/debug-investigation/SKILL.md +46 -0
- package/presets/mavis/java/skills/feature-delivery/SKILL.md +32 -0
- package/presets/mavis/java/skills/integration-testing/SKILL.md +10 -0
- package/presets/mavis/java/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/java/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/java/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/java/skills/unit-testing/SKILL.md +9 -0
- package/presets/mavis/java/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/java/team/README.md +77 -0
- package/presets/mavis/java/team/fixtures/bugfix-standard.json +37 -0
- package/presets/mavis/java/team/fixtures/feature-full.json +61 -0
- package/presets/mavis/java/team/fixtures/feature-light.json +17 -0
- package/presets/mavis/java/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/mcp-ts/MAVIS.md +54 -0
- package/presets/mavis/mcp-ts/MCP.md +56 -0
- package/presets/mavis/mcp-ts/README.md +16 -0
- package/presets/mavis/mcp-ts/REPO_AGENTS.md +75 -0
- package/presets/mavis/mcp-ts/adapter-map.json +520 -0
- package/presets/mavis/mcp-ts/agents/README.md +44 -0
- package/presets/mavis/mcp-ts/agents/build-verifier.md +58 -0
- package/presets/mavis/mcp-ts/agents/feature-developer.md +89 -0
- package/presets/mavis/mcp-ts/agents/security-reviewer.md +15 -0
- package/presets/mavis/mcp-ts/agents/solution-architect.md +22 -0
- package/presets/mavis/mcp-ts/agents/task-analyst.md +74 -0
- package/presets/mavis/mcp-ts/agents/task-router.md +129 -0
- package/presets/mavis/mcp-ts/ai-local/conventions.md +14 -0
- package/presets/mavis/mcp-ts/commands/README.md +9 -0
- package/presets/mavis/mcp-ts/commands/spec-start.md +24 -0
- package/presets/mavis/mcp-ts/commands/task-continue.md +48 -0
- package/presets/mavis/mcp-ts/commands/task.md +47 -0
- package/presets/mavis/mcp-ts/commands/technical-retro.md +80 -0
- package/presets/mavis/mcp-ts/hooks/README.md +22 -0
- package/presets/mavis/mcp-ts/hooks/chain-team-phases.sh +819 -0
- package/presets/mavis/mcp-ts/mcp.json +11 -0
- package/presets/mavis/mcp-ts/rules/README.md +16 -0
- package/presets/mavis/mcp-ts/rules/agent-team-intake.md +16 -0
- package/presets/mavis/mcp-ts/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/mcp-ts/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/mcp-ts/rules/anti-sycophancy-discipline.md +27 -0
- package/presets/mavis/mcp-ts/rules/code-quality-and-refactoring.md +55 -0
- package/presets/mavis/mcp-ts/rules/code-review-mr.md +46 -0
- package/presets/mavis/mcp-ts/rules/design-guidance.md +104 -0
- package/presets/mavis/mcp-ts/rules/feature-delivery-workflow.md +49 -0
- package/presets/mavis/mcp-ts/rules/mcp-auth-secrets.md +35 -0
- package/presets/mavis/mcp-ts/rules/mcp-contract-testing.md +32 -0
- package/presets/mavis/mcp-ts/rules/mcp-server-boundaries.md +24 -0
- package/presets/mavis/mcp-ts/rules/mcp-tool-design.md +29 -0
- package/presets/mavis/mcp-ts/rules/mcp-transport-packaging.md +34 -0
- package/presets/mavis/mcp-ts/rules/mcp-ts-app-core.md +23 -0
- package/presets/mavis/mcp-ts/rules/mcp-ts-conventions.md +22 -0
- package/presets/mavis/mcp-ts/rules/mcp-ts-tooling.md +21 -0
- package/presets/mavis/mcp-ts/rules/mcp-usage.md +93 -0
- package/presets/mavis/mcp-ts/rules/post-change-test.md +21 -0
- package/presets/mavis/mcp-ts/rules/preset-layering.md +27 -0
- package/presets/mavis/mcp-ts/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/mcp-ts/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/mcp-ts/rules/preset-token-budget.md +39 -0
- package/presets/mavis/mcp-ts/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/mcp-ts/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/mcp-ts/rules/product-specs.md +62 -0
- package/presets/mavis/mcp-ts/rules/reference-features.md +45 -0
- package/presets/mavis/mcp-ts/rules/security-mcp.md +43 -0
- package/presets/mavis/mcp-ts/rules/technical-retro.md +11 -0
- package/presets/mavis/mcp-ts/rules/tests-unit.md +23 -0
- package/presets/mavis/mcp-ts/skills/README.md +14 -0
- package/presets/mavis/mcp-ts/skills/code-review/SKILL.md +12 -0
- package/presets/mavis/mcp-ts/skills/debug-investigation/SKILL.md +41 -0
- package/presets/mavis/mcp-ts/skills/feature-delivery/SKILL.md +31 -0
- package/presets/mavis/mcp-ts/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/mcp-ts/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/mcp-ts/skills/unit-testing/SKILL.md +11 -0
- package/presets/mavis/mcp-ts/team/README.md +77 -0
- package/presets/mavis/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
- package/presets/mavis/mcp-ts/team/fixtures/feature-full.json +36 -0
- package/presets/mavis/mcp-ts/team/fixtures/feature-light.json +34 -0
- package/presets/mavis/mcp-ts/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/next/MAVIS.md +5 -4
- package/presets/mavis/next/README.md +4 -3
- package/presets/mavis/next/REPO_AGENTS.md +4 -4
- package/presets/mavis/next/adapter-map.json +26 -26
- package/presets/mavis/next/agents/README.md +2 -118
- package/presets/mavis/next/agents/accessibility-reviewer.md +4 -4
- package/presets/mavis/next/agents/api-contract-reviewer.md +3 -3
- package/presets/mavis/next/agents/build-verifier.md +6 -6
- package/presets/mavis/next/agents/ci-investigator.md +3 -3
- package/presets/mavis/next/agents/code-reviewer.md +5 -5
- package/presets/mavis/next/agents/debugger.md +4 -4
- package/presets/mavis/next/agents/feature-developer.md +3 -3
- package/presets/mavis/next/agents/migration-specialist.md +3 -3
- package/presets/mavis/next/agents/mockup-reviewer.md +4 -4
- package/presets/mavis/next/agents/openspec-author.md +5 -5
- package/presets/mavis/next/agents/performance-auditor.md +3 -3
- package/presets/mavis/next/agents/playwright-test-generator.md +1 -1
- package/presets/mavis/next/agents/qa-tester.md +3 -3
- package/presets/mavis/next/agents/security-reviewer.md +4 -4
- package/presets/mavis/next/agents/solution-architect.md +4 -4
- package/presets/mavis/next/agents/task-analyst.md +6 -6
- package/presets/mavis/next/agents/task-router.md +4 -4
- package/presets/mavis/next/agents/tech-writer.md +3 -3
- package/presets/mavis/next/agents/unit-test-generator.md +3 -3
- package/presets/mavis/next/agents/unit-test-healer.md +2 -2
- package/presets/mavis/next/agents/unit-test-planner.md +3 -3
- package/presets/mavis/next/ai-local/conventions.md +21 -0
- package/presets/mavis/next/commands/README.md +1 -1
- package/presets/mavis/next/commands/spec-start.md +4 -4
- package/presets/mavis/next/commands/task-continue.md +2 -2
- package/presets/mavis/next/commands/task.md +7 -7
- package/presets/mavis/next/commands/technical-retro.md +4 -4
- package/presets/mavis/next/hooks/README.md +1 -1
- package/presets/mavis/next/hooks/chain-team-phases.sh +70 -12
- package/presets/mavis/next/rules/agent-team-orchestrator.md +8 -4
- package/presets/mavis/next/rules/ai-local-overlay.md +2 -2
- 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 +3 -3
- package/presets/mavis/next/rules/preset-token-budget.md +10 -10
- package/presets/mavis/next/rules/preset-twin-sync.md +26 -8
- 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 +37 -1
- 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/README.md +1 -1
- package/presets/mavis/next/skills/code-review/SKILL.md +2 -2
- package/presets/mavis/next/skills/debug-investigation/SKILL.md +28 -0
- package/presets/mavis/next/skills/mockup-review/SKILL.md +1 -1
- package/presets/mavis/next/skills/spec-discovery/SKILL.md +2 -2
- package/presets/mavis/next/skills/technical-retro/SKILL.md +2 -2
- package/presets/mavis/next/skills/unit-testing/SKILL.md +1 -1
- package/presets/mavis/next/skills/ux-design/SKILL.md +1 -1
- package/presets/mavis/next/skills/write-adr/SKILL.md +2 -2
- package/presets/mavis/next/team/README.md +35 -106
- package/presets/mavis/nuxt/MAVIS.md +69 -0
- package/presets/mavis/nuxt/MCP.md +36 -0
- package/presets/mavis/nuxt/README.md +16 -0
- package/presets/mavis/nuxt/REPO_AGENTS.md +75 -0
- package/presets/mavis/nuxt/adapter-map.json +959 -0
- package/presets/mavis/nuxt/agents/README.md +98 -0
- package/presets/mavis/nuxt/agents/accessibility-reviewer.md +61 -0
- package/presets/mavis/nuxt/agents/api-contract-reviewer.md +57 -0
- package/presets/mavis/nuxt/agents/build-verifier.md +100 -0
- package/presets/mavis/nuxt/agents/ci-investigator.md +63 -0
- package/presets/mavis/nuxt/agents/code-reviewer.md +62 -0
- package/presets/mavis/nuxt/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/nuxt/agents/debugger.md +80 -0
- package/presets/mavis/nuxt/agents/feature-developer.md +101 -0
- package/presets/mavis/nuxt/agents/migration-specialist.md +67 -0
- package/presets/mavis/nuxt/agents/mockup-reviewer.md +53 -0
- package/presets/mavis/nuxt/agents/openspec-author.md +157 -0
- package/presets/mavis/nuxt/agents/performance-auditor.md +68 -0
- package/presets/mavis/nuxt/agents/playwright-test-generator.md +28 -0
- package/presets/mavis/nuxt/agents/playwright-test-healer.md +28 -0
- package/presets/mavis/nuxt/agents/playwright-test-planner.md +21 -0
- package/presets/mavis/nuxt/agents/qa-tester.md +52 -0
- package/presets/mavis/nuxt/agents/security-reviewer.md +54 -0
- package/presets/mavis/nuxt/agents/solution-architect.md +68 -0
- package/presets/mavis/nuxt/agents/task-analyst.md +166 -0
- package/presets/mavis/nuxt/agents/task-router.md +178 -0
- package/presets/mavis/nuxt/agents/tech-writer.md +57 -0
- package/presets/mavis/nuxt/agents/unit-test-generator.md +31 -0
- package/presets/mavis/nuxt/agents/unit-test-healer.md +32 -0
- package/presets/mavis/nuxt/agents/unit-test-planner.md +54 -0
- package/presets/mavis/nuxt/ai-local/conventions.md +21 -0
- package/presets/mavis/nuxt/commands/README.md +49 -0
- package/presets/mavis/nuxt/commands/spec-start.md +24 -0
- package/presets/mavis/nuxt/commands/task-continue.md +50 -0
- package/presets/mavis/nuxt/commands/task.md +49 -0
- package/presets/mavis/nuxt/commands/technical-retro.md +80 -0
- package/presets/mavis/nuxt/hooks/README.md +22 -0
- package/presets/mavis/nuxt/hooks/chain-team-phases.sh +903 -0
- package/presets/mavis/nuxt/mcp.json +19 -0
- package/presets/mavis/nuxt/rules/README.md +16 -0
- package/presets/mavis/nuxt/rules/agent-team-intake.md +11 -0
- package/presets/mavis/nuxt/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/nuxt/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/nuxt/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/nuxt/rules/api-services.md +72 -0
- package/presets/mavis/nuxt/rules/architecture-boundaries-ui.md +9 -0
- package/presets/mavis/nuxt/rules/architecture-boundaries.md +90 -0
- package/presets/mavis/nuxt/rules/code-quality-and-refactoring.md +53 -0
- package/presets/mavis/nuxt/rules/code-review-mr.md +53 -0
- package/presets/mavis/nuxt/rules/css-property-order-stylelint.md +6 -0
- package/presets/mavis/nuxt/rules/design-guidance.md +104 -0
- package/presets/mavis/nuxt/rules/feature-delivery-workflow.md +131 -0
- package/presets/mavis/nuxt/rules/http-client.md +9 -0
- package/presets/mavis/nuxt/rules/layer-barrel-exports.md +67 -0
- package/presets/mavis/nuxt/rules/mcp-usage.md +95 -0
- package/presets/mavis/nuxt/rules/mockup-review.md +111 -0
- package/presets/mavis/nuxt/rules/navigation-router-stack.md +55 -0
- package/presets/mavis/nuxt/rules/navigation-router-ui.md +10 -0
- package/presets/mavis/nuxt/rules/no-type-assertion-as-import-export.md +51 -0
- package/presets/mavis/nuxt/rules/no-v-bind-spread.md +7 -0
- package/presets/mavis/nuxt/rules/nuxt-app-core.md +40 -0
- package/presets/mavis/nuxt/rules/nuxt-pages-routing.md +31 -0
- package/presets/mavis/nuxt/rules/package-manager.md +13 -0
- package/presets/mavis/nuxt/rules/playwright-agents.md +74 -0
- package/presets/mavis/nuxt/rules/post-change-lint.md +37 -0
- package/presets/mavis/nuxt/rules/preset-layering.md +27 -0
- package/presets/mavis/nuxt/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/nuxt/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/nuxt/rules/preset-token-budget.md +39 -0
- package/presets/mavis/nuxt/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/nuxt/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/nuxt/rules/product-specs.md +61 -0
- package/presets/mavis/nuxt/rules/public-imports.md +50 -0
- package/presets/mavis/nuxt/rules/reference-features.md +81 -0
- package/presets/mavis/nuxt/rules/script-setup-conventions.md +7 -0
- package/presets/mavis/nuxt/rules/security-nuxt.md +28 -0
- package/presets/mavis/nuxt/rules/store-pinia.md +61 -0
- package/presets/mavis/nuxt/rules/technical-retro.md +11 -0
- package/presets/mavis/nuxt/rules/tests-e2e-structure.md +88 -0
- package/presets/mavis/nuxt/rules/tests-unit.md +83 -0
- package/presets/mavis/nuxt/rules/types-jsdoc.md +36 -0
- package/presets/mavis/nuxt/rules/ux-design.md +103 -0
- package/presets/mavis/nuxt/rules/vue-a11y-coding.md +9 -0
- package/presets/mavis/nuxt/rules/vue-nuxt-anti-hallucination.md +62 -0
- package/presets/mavis/nuxt/rules/vue-ui.md +34 -0
- package/presets/mavis/nuxt/skills/README.md +21 -0
- package/presets/mavis/nuxt/skills/ci-investigation/SKILL.md +39 -0
- package/presets/mavis/nuxt/skills/code-review/SKILL.md +39 -0
- package/presets/mavis/nuxt/skills/debug-investigation/SKILL.md +56 -0
- package/presets/mavis/nuxt/skills/feature-delivery/SKILL.md +41 -0
- package/presets/mavis/nuxt/skills/mockup-review/SKILL.md +24 -0
- package/presets/mavis/nuxt/skills/playwright-e2e/SKILL.md +32 -0
- package/presets/mavis/nuxt/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/nuxt/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/nuxt/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/nuxt/skills/unit-testing/SKILL.md +27 -0
- package/presets/mavis/nuxt/skills/ux-design/SKILL.md +31 -0
- package/presets/mavis/nuxt/skills/vue-performance/SKILL.md +48 -0
- package/presets/mavis/nuxt/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/nuxt/team/README.md +77 -0
- package/presets/mavis/nuxt/team/fixtures/artifact-manifest.example.json +79 -0
- package/presets/mavis/nuxt/team/fixtures/bugfix-standard.json +25 -0
- package/presets/mavis/nuxt/team/fixtures/feature-full.json +62 -0
- package/presets/mavis/nuxt/team/fixtures/feature-light.json +27 -0
- package/presets/mavis/nuxt/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/mavis/nuxt/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/mavis/nuxt/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/nuxt/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/mavis/nuxt/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/mavis/nuxt/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/mavis/nuxt/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/mavis/nuxt/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/mavis/nuxt/team/fixtures/metrics.example.json +54 -0
- package/presets/mavis/nuxt/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/mavis/nuxt/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/mavis/nuxt/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/mavis/nuxt/team/tasks/.gitkeep +0 -0
- package/presets/mavis/php-hexagonal/MAVIS.md +56 -0
- package/presets/mavis/php-hexagonal/MCP.md +34 -0
- package/presets/mavis/php-hexagonal/README.md +16 -0
- package/presets/mavis/php-hexagonal/REPO_AGENTS.md +73 -0
- package/presets/mavis/php-hexagonal/adapter-map.json +755 -0
- package/presets/mavis/php-hexagonal/agents/README.md +48 -0
- package/presets/mavis/php-hexagonal/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/php-hexagonal/agents/build-verifier.md +64 -0
- package/presets/mavis/php-hexagonal/agents/ci-investigator.md +24 -0
- package/presets/mavis/php-hexagonal/agents/code-reviewer.md +48 -0
- package/presets/mavis/php-hexagonal/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/php-hexagonal/agents/debugger.md +42 -0
- package/presets/mavis/php-hexagonal/agents/feature-developer.md +90 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-generator.md +16 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-healer.md +16 -0
- package/presets/mavis/php-hexagonal/agents/integration-test-planner.md +16 -0
- package/presets/mavis/php-hexagonal/agents/migration-specialist.md +31 -0
- package/presets/mavis/php-hexagonal/agents/openspec-author.md +157 -0
- package/presets/mavis/php-hexagonal/agents/performance-auditor.md +22 -0
- package/presets/mavis/php-hexagonal/agents/qa-tester.md +22 -0
- package/presets/mavis/php-hexagonal/agents/security-reviewer.md +14 -0
- package/presets/mavis/php-hexagonal/agents/solution-architect.md +28 -0
- package/presets/mavis/php-hexagonal/agents/task-analyst.md +71 -0
- package/presets/mavis/php-hexagonal/agents/task-router.md +133 -0
- package/presets/mavis/php-hexagonal/agents/tech-writer.md +17 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-generator.md +15 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-healer.md +7 -0
- package/presets/mavis/php-hexagonal/agents/unit-test-planner.md +20 -0
- package/presets/mavis/php-hexagonal/ai-local/conventions.md +21 -0
- package/presets/mavis/php-hexagonal/commands/README.md +52 -0
- package/presets/mavis/php-hexagonal/commands/spec-start.md +24 -0
- package/presets/mavis/php-hexagonal/commands/task-continue.md +48 -0
- package/presets/mavis/php-hexagonal/commands/task.md +47 -0
- package/presets/mavis/php-hexagonal/commands/technical-retro.md +80 -0
- package/presets/mavis/php-hexagonal/hooks/README.md +22 -0
- package/presets/mavis/php-hexagonal/hooks/chain-team-phases.sh +875 -0
- package/presets/mavis/php-hexagonal/mcp.json +11 -0
- package/presets/mavis/php-hexagonal/rules/README.md +16 -0
- package/presets/mavis/php-hexagonal/rules/adapters-driven.md +30 -0
- package/presets/mavis/php-hexagonal/rules/adapters-driving.md +30 -0
- package/presets/mavis/php-hexagonal/rules/agent-team-intake.md +15 -0
- package/presets/mavis/php-hexagonal/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/php-hexagonal/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/php-hexagonal/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/php-hexagonal/rules/api-grpc.md +22 -0
- package/presets/mavis/php-hexagonal/rules/api-http.md +28 -0
- package/presets/mavis/php-hexagonal/rules/application-usecases.md +25 -0
- package/presets/mavis/php-hexagonal/rules/architecture-boundaries.md +31 -0
- package/presets/mavis/php-hexagonal/rules/code-quality-and-refactoring.md +55 -0
- package/presets/mavis/php-hexagonal/rules/code-review-mr.md +49 -0
- package/presets/mavis/php-hexagonal/rules/composition-root.md +27 -0
- package/presets/mavis/php-hexagonal/rules/design-guidance.md +105 -0
- package/presets/mavis/php-hexagonal/rules/domain-layer.md +31 -0
- package/presets/mavis/php-hexagonal/rules/feature-delivery-workflow.md +49 -0
- package/presets/mavis/php-hexagonal/rules/mcp-usage.md +92 -0
- package/presets/mavis/php-hexagonal/rules/messaging-adapters.md +29 -0
- package/presets/mavis/php-hexagonal/rules/module-public-api.md +24 -0
- package/presets/mavis/php-hexagonal/rules/persistence-adapters.md +25 -0
- package/presets/mavis/php-hexagonal/rules/php-app-core.md +32 -0
- package/presets/mavis/php-hexagonal/rules/php-conventions.md +46 -0
- package/presets/mavis/php-hexagonal/rules/php-tooling.md +26 -0
- package/presets/mavis/php-hexagonal/rules/ports-interfaces.md +27 -0
- package/presets/mavis/php-hexagonal/rules/post-change-test.md +20 -0
- package/presets/mavis/php-hexagonal/rules/preset-layering.md +27 -0
- package/presets/mavis/php-hexagonal/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/php-hexagonal/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/php-hexagonal/rules/preset-token-budget.md +39 -0
- package/presets/mavis/php-hexagonal/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/php-hexagonal/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/php-hexagonal/rules/product-specs.md +62 -0
- package/presets/mavis/php-hexagonal/rules/reference-features.md +45 -0
- package/presets/mavis/php-hexagonal/rules/security-php.md +21 -0
- package/presets/mavis/php-hexagonal/rules/technical-retro.md +11 -0
- package/presets/mavis/php-hexagonal/rules/tests-e2e.md +26 -0
- package/presets/mavis/php-hexagonal/rules/tests-integration.md +23 -0
- package/presets/mavis/php-hexagonal/rules/tests-unit.md +25 -0
- package/presets/mavis/php-hexagonal/skills/README.md +5 -0
- package/presets/mavis/php-hexagonal/skills/ci-investigation/SKILL.md +13 -0
- package/presets/mavis/php-hexagonal/skills/code-review/SKILL.md +27 -0
- package/presets/mavis/php-hexagonal/skills/debug-investigation/SKILL.md +46 -0
- package/presets/mavis/php-hexagonal/skills/feature-delivery/SKILL.md +32 -0
- package/presets/mavis/php-hexagonal/skills/integration-testing/SKILL.md +10 -0
- package/presets/mavis/php-hexagonal/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/php-hexagonal/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/php-hexagonal/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/php-hexagonal/skills/unit-testing/SKILL.md +9 -0
- package/presets/mavis/php-hexagonal/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/php-hexagonal/team/README.md +77 -0
- package/presets/mavis/php-hexagonal/team/fixtures/bugfix-standard.json +37 -0
- package/presets/mavis/php-hexagonal/team/fixtures/feature-full.json +61 -0
- package/presets/mavis/php-hexagonal/team/fixtures/feature-light.json +17 -0
- package/presets/mavis/php-hexagonal/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/php-laravel/MAVIS.md +56 -0
- package/presets/mavis/php-laravel/MCP.md +26 -0
- package/presets/mavis/php-laravel/README.md +16 -0
- package/presets/mavis/php-laravel/REPO_AGENTS.md +74 -0
- package/presets/mavis/php-laravel/adapter-map.json +755 -0
- package/presets/mavis/php-laravel/agents/README.md +48 -0
- package/presets/mavis/php-laravel/agents/api-contract-reviewer.md +17 -0
- package/presets/mavis/php-laravel/agents/build-verifier.md +64 -0
- package/presets/mavis/php-laravel/agents/ci-investigator.md +24 -0
- package/presets/mavis/php-laravel/agents/code-reviewer.md +48 -0
- package/presets/mavis/php-laravel/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/php-laravel/agents/debugger.md +42 -0
- package/presets/mavis/php-laravel/agents/feature-developer.md +90 -0
- package/presets/mavis/php-laravel/agents/integration-test-generator.md +16 -0
- package/presets/mavis/php-laravel/agents/integration-test-healer.md +16 -0
- package/presets/mavis/php-laravel/agents/integration-test-planner.md +16 -0
- package/presets/mavis/php-laravel/agents/migration-specialist.md +31 -0
- package/presets/mavis/php-laravel/agents/openspec-author.md +157 -0
- package/presets/mavis/php-laravel/agents/performance-auditor.md +22 -0
- package/presets/mavis/php-laravel/agents/qa-tester.md +28 -0
- package/presets/mavis/php-laravel/agents/security-reviewer.md +26 -0
- package/presets/mavis/php-laravel/agents/solution-architect.md +29 -0
- package/presets/mavis/php-laravel/agents/task-analyst.md +71 -0
- package/presets/mavis/php-laravel/agents/task-router.md +149 -0
- package/presets/mavis/php-laravel/agents/tech-writer.md +17 -0
- package/presets/mavis/php-laravel/agents/unit-test-generator.md +15 -0
- package/presets/mavis/php-laravel/agents/unit-test-healer.md +7 -0
- package/presets/mavis/php-laravel/agents/unit-test-planner.md +20 -0
- package/presets/mavis/php-laravel/ai-local/conventions.md +21 -0
- package/presets/mavis/php-laravel/commands/README.md +52 -0
- package/presets/mavis/php-laravel/commands/spec-start.md +24 -0
- package/presets/mavis/php-laravel/commands/task-continue.md +48 -0
- package/presets/mavis/php-laravel/commands/task.md +47 -0
- package/presets/mavis/php-laravel/commands/technical-retro.md +80 -0
- package/presets/mavis/php-laravel/hooks/README.md +22 -0
- package/presets/mavis/php-laravel/hooks/chain-team-phases.sh +875 -0
- package/presets/mavis/php-laravel/mcp.json +11 -0
- package/presets/mavis/php-laravel/rules/README.md +16 -0
- package/presets/mavis/php-laravel/rules/actions-services.md +25 -0
- package/presets/mavis/php-laravel/rules/agent-team-intake.md +15 -0
- package/presets/mavis/php-laravel/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/php-laravel/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/php-laravel/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/php-laravel/rules/architecture-boundaries.md +32 -0
- package/presets/mavis/php-laravel/rules/code-quality-and-refactoring.md +55 -0
- package/presets/mavis/php-laravel/rules/code-review-mr.md +50 -0
- package/presets/mavis/php-laravel/rules/design-guidance.md +105 -0
- package/presets/mavis/php-laravel/rules/domain-layer.md +19 -0
- package/presets/mavis/php-laravel/rules/eloquent-persistence.md +24 -0
- package/presets/mavis/php-laravel/rules/events-listeners.md +24 -0
- package/presets/mavis/php-laravel/rules/feature-delivery-workflow.md +49 -0
- package/presets/mavis/php-laravel/rules/form-requests.md +24 -0
- package/presets/mavis/php-laravel/rules/http-layer.md +25 -0
- package/presets/mavis/php-laravel/rules/jobs-queues.md +36 -0
- package/presets/mavis/php-laravel/rules/laravel-app-core.md +30 -0
- package/presets/mavis/php-laravel/rules/laravel-conventions.md +34 -0
- package/presets/mavis/php-laravel/rules/mcp-usage.md +92 -0
- package/presets/mavis/php-laravel/rules/module-public-api.md +23 -0
- package/presets/mavis/php-laravel/rules/php-tooling.md +26 -0
- package/presets/mavis/php-laravel/rules/policies-authorization.md +24 -0
- package/presets/mavis/php-laravel/rules/post-change-test.md +20 -0
- package/presets/mavis/php-laravel/rules/preset-layering.md +27 -0
- package/presets/mavis/php-laravel/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/php-laravel/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/php-laravel/rules/preset-token-budget.md +39 -0
- package/presets/mavis/php-laravel/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/php-laravel/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/php-laravel/rules/product-specs.md +62 -0
- package/presets/mavis/php-laravel/rules/reference-features.md +45 -0
- package/presets/mavis/php-laravel/rules/routes-api.md +24 -0
- package/presets/mavis/php-laravel/rules/security-php.md +47 -0
- package/presets/mavis/php-laravel/rules/service-providers.md +23 -0
- package/presets/mavis/php-laravel/rules/technical-retro.md +11 -0
- package/presets/mavis/php-laravel/rules/tests-e2e.md +26 -0
- package/presets/mavis/php-laravel/rules/tests-integration.md +23 -0
- package/presets/mavis/php-laravel/rules/tests-unit.md +24 -0
- package/presets/mavis/php-laravel/skills/README.md +5 -0
- package/presets/mavis/php-laravel/skills/ci-investigation/SKILL.md +13 -0
- package/presets/mavis/php-laravel/skills/code-review/SKILL.md +27 -0
- package/presets/mavis/php-laravel/skills/debug-investigation/SKILL.md +46 -0
- package/presets/mavis/php-laravel/skills/feature-delivery/SKILL.md +32 -0
- package/presets/mavis/php-laravel/skills/integration-testing/SKILL.md +10 -0
- package/presets/mavis/php-laravel/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/php-laravel/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/php-laravel/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/php-laravel/skills/unit-testing/SKILL.md +9 -0
- package/presets/mavis/php-laravel/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/php-laravel/team/README.md +77 -0
- package/presets/mavis/php-laravel/team/fixtures/bugfix-standard.json +12 -0
- package/presets/mavis/php-laravel/team/fixtures/feature-full.json +44 -0
- package/presets/mavis/php-laravel/team/fixtures/feature-light.json +8 -0
- package/presets/mavis/php-laravel/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/platform-contract.json +13 -6
- package/presets/mavis/svelte/MAVIS.md +69 -0
- package/presets/mavis/svelte/MCP.md +36 -0
- package/presets/mavis/svelte/README.md +16 -0
- package/presets/mavis/svelte/REPO_AGENTS.md +75 -0
- package/presets/mavis/svelte/adapter-map.json +959 -0
- package/presets/mavis/svelte/agents/README.md +98 -0
- package/presets/mavis/svelte/agents/accessibility-reviewer.md +61 -0
- package/presets/mavis/svelte/agents/api-contract-reviewer.md +57 -0
- package/presets/mavis/svelte/agents/build-verifier.md +100 -0
- package/presets/mavis/svelte/agents/ci-investigator.md +63 -0
- package/presets/mavis/svelte/agents/code-reviewer.md +62 -0
- package/presets/mavis/svelte/agents/codebase-analyzer.md +21 -0
- package/presets/mavis/svelte/agents/debugger.md +80 -0
- package/presets/mavis/svelte/agents/feature-developer.md +101 -0
- package/presets/mavis/svelte/agents/migration-specialist.md +67 -0
- package/presets/mavis/svelte/agents/mockup-reviewer.md +53 -0
- package/presets/mavis/svelte/agents/openspec-author.md +157 -0
- package/presets/mavis/svelte/agents/performance-auditor.md +68 -0
- package/presets/mavis/svelte/agents/playwright-test-generator.md +28 -0
- package/presets/mavis/svelte/agents/playwright-test-healer.md +28 -0
- package/presets/mavis/svelte/agents/playwright-test-planner.md +21 -0
- package/presets/mavis/svelte/agents/qa-tester.md +52 -0
- package/presets/mavis/svelte/agents/security-reviewer.md +54 -0
- package/presets/mavis/svelte/agents/solution-architect.md +68 -0
- package/presets/mavis/svelte/agents/task-analyst.md +166 -0
- package/presets/mavis/svelte/agents/task-router.md +178 -0
- package/presets/mavis/svelte/agents/tech-writer.md +57 -0
- package/presets/mavis/svelte/agents/unit-test-generator.md +31 -0
- package/presets/mavis/svelte/agents/unit-test-healer.md +32 -0
- package/presets/mavis/svelte/agents/unit-test-planner.md +54 -0
- package/presets/mavis/svelte/ai-local/conventions.md +21 -0
- package/presets/mavis/svelte/commands/README.md +49 -0
- package/presets/mavis/svelte/commands/spec-start.md +24 -0
- package/presets/mavis/svelte/commands/task-continue.md +50 -0
- package/presets/mavis/svelte/commands/task.md +49 -0
- package/presets/mavis/svelte/commands/technical-retro.md +80 -0
- package/presets/mavis/svelte/hooks/README.md +22 -0
- package/presets/mavis/svelte/hooks/chain-team-phases.sh +903 -0
- package/presets/mavis/svelte/mcp.json +19 -0
- package/presets/mavis/svelte/rules/README.md +16 -0
- package/presets/mavis/svelte/rules/agent-team-intake.md +11 -0
- package/presets/mavis/svelte/rules/agent-team-orchestrator.md +214 -0
- package/presets/mavis/svelte/rules/ai-local-overlay.md +37 -0
- package/presets/mavis/svelte/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/mavis/svelte/rules/api-services.md +39 -0
- package/presets/mavis/svelte/rules/architecture-boundaries-ui.md +9 -0
- package/presets/mavis/svelte/rules/architecture-boundaries.md +54 -0
- package/presets/mavis/svelte/rules/code-quality-and-refactoring.md +53 -0
- package/presets/mavis/svelte/rules/code-review-mr.md +53 -0
- package/presets/mavis/svelte/rules/css-property-order-stylelint.md +6 -0
- package/presets/mavis/svelte/rules/design-guidance.md +104 -0
- package/presets/mavis/svelte/rules/feature-delivery-workflow.md +103 -0
- package/presets/mavis/svelte/rules/http-client.md +10 -0
- package/presets/mavis/svelte/rules/layer-barrel-exports.md +67 -0
- package/presets/mavis/svelte/rules/mcp-usage.md +95 -0
- package/presets/mavis/svelte/rules/mockup-review.md +111 -0
- package/presets/mavis/svelte/rules/navigation-router-stack.md +34 -0
- package/presets/mavis/svelte/rules/navigation-router-ui.md +19 -0
- package/presets/mavis/svelte/rules/no-rest-props-spread.md +26 -0
- package/presets/mavis/svelte/rules/no-type-assertion-as-import-export.md +51 -0
- package/presets/mavis/svelte/rules/package-manager.md +13 -0
- package/presets/mavis/svelte/rules/playwright-agents.md +74 -0
- package/presets/mavis/svelte/rules/post-change-lint.md +37 -0
- package/presets/mavis/svelte/rules/preset-layering.md +27 -0
- package/presets/mavis/svelte/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/mavis/svelte/rules/preset-pr-checklist.md +36 -0
- package/presets/mavis/svelte/rules/preset-token-budget.md +39 -0
- package/presets/mavis/svelte/rules/preset-twin-sync.md +99 -0
- package/presets/mavis/svelte/rules/product-specs-authoring.md +118 -0
- package/presets/mavis/svelte/rules/product-specs.md +61 -0
- package/presets/mavis/svelte/rules/public-imports.md +32 -0
- package/presets/mavis/svelte/rules/reference-features.md +82 -0
- package/presets/mavis/svelte/rules/security-sveltekit.md +32 -0
- package/presets/mavis/svelte/rules/store-svelte.md +59 -0
- package/presets/mavis/svelte/rules/svelte-a11y-coding.md +21 -0
- package/presets/mavis/svelte/rules/svelte-app-core.md +40 -0
- package/presets/mavis/svelte/rules/svelte-script-conventions.md +27 -0
- package/presets/mavis/svelte/rules/svelte-sveltekit-anti-hallucination.md +63 -0
- package/presets/mavis/svelte/rules/svelte-ui.md +38 -0
- package/presets/mavis/svelte/rules/sveltekit-routing.md +33 -0
- package/presets/mavis/svelte/rules/technical-retro.md +11 -0
- package/presets/mavis/svelte/rules/tests-e2e-structure.md +88 -0
- package/presets/mavis/svelte/rules/tests-unit.md +83 -0
- package/presets/mavis/svelte/rules/types-jsdoc.md +36 -0
- package/presets/mavis/svelte/rules/ux-design.md +103 -0
- package/presets/mavis/svelte/skills/README.md +21 -0
- package/presets/mavis/svelte/skills/ci-investigation/SKILL.md +39 -0
- package/presets/mavis/svelte/skills/code-review/SKILL.md +39 -0
- package/presets/mavis/svelte/skills/debug-investigation/SKILL.md +56 -0
- package/presets/mavis/svelte/skills/feature-delivery/SKILL.md +41 -0
- package/presets/mavis/svelte/skills/mockup-review/SKILL.md +24 -0
- package/presets/mavis/svelte/skills/playwright-e2e/SKILL.md +32 -0
- package/presets/mavis/svelte/skills/spec-authoring/SKILL.md +21 -0
- package/presets/mavis/svelte/skills/spec-discovery/SKILL.md +53 -0
- package/presets/mavis/svelte/skills/svelte-performance/SKILL.md +47 -0
- package/presets/mavis/svelte/skills/technical-retro/SKILL.md +49 -0
- package/presets/mavis/svelte/skills/unit-testing/SKILL.md +27 -0
- package/presets/mavis/svelte/skills/ux-design/SKILL.md +31 -0
- package/presets/mavis/svelte/skills/write-adr/SKILL.md +36 -0
- package/presets/mavis/svelte/team/README.md +77 -0
- package/presets/mavis/svelte/team/fixtures/artifact-manifest.example.json +79 -0
- package/presets/mavis/svelte/team/fixtures/bugfix-standard.json +25 -0
- package/presets/mavis/svelte/team/fixtures/feature-full.json +62 -0
- package/presets/mavis/svelte/team/fixtures/feature-light.json +27 -0
- package/presets/mavis/svelte/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/mavis/svelte/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/mavis/svelte/team/fixtures/memlog.example.md +9 -0
- package/presets/mavis/svelte/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/mavis/svelte/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/mavis/svelte/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/mavis/svelte/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/mavis/svelte/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/mavis/svelte/team/fixtures/metrics.example.json +54 -0
- package/presets/mavis/svelte/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/mavis/svelte/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/mavis/svelte/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/mavis/svelte/team/tasks/.gitkeep +0 -0
- package/presets/opencode/README.md +8 -51
- package/presets/opencode/android-kotlin/MCP.md +35 -0
- package/presets/opencode/android-kotlin/OPENCODE.md +76 -0
- package/presets/opencode/android-kotlin/README.md +17 -0
- package/presets/opencode/android-kotlin/REPO_AGENTS.md +74 -0
- package/presets/opencode/android-kotlin/adapter-map.json +812 -0
- package/presets/opencode/android-kotlin/agents/README.md +60 -0
- package/presets/opencode/android-kotlin/agents/accessibility-reviewer.md +71 -0
- package/presets/opencode/android-kotlin/agents/api-contract-reviewer.md +75 -0
- package/presets/opencode/android-kotlin/agents/build-verifier.md +89 -0
- package/presets/opencode/android-kotlin/agents/ci-investigator.md +84 -0
- package/presets/opencode/android-kotlin/agents/code-reviewer.md +85 -0
- package/presets/opencode/android-kotlin/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/android-kotlin/agents/debugger.md +92 -0
- package/presets/opencode/android-kotlin/agents/feature-developer.md +110 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-generator.md +22 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-healer.md +22 -0
- package/presets/opencode/android-kotlin/agents/instrumentation-test-planner.md +26 -0
- package/presets/opencode/android-kotlin/agents/migration-specialist.md +85 -0
- package/presets/opencode/android-kotlin/agents/mockup-reviewer.md +65 -0
- package/presets/opencode/android-kotlin/agents/openspec-author.md +170 -0
- package/presets/opencode/android-kotlin/agents/performance-auditor.md +78 -0
- package/presets/opencode/android-kotlin/agents/qa-tester.md +69 -0
- package/presets/opencode/android-kotlin/agents/security-reviewer.md +70 -0
- package/presets/opencode/android-kotlin/agents/solution-architect.md +32 -0
- package/presets/opencode/android-kotlin/agents/task-analyst.md +104 -0
- package/presets/opencode/android-kotlin/agents/task-router.md +156 -0
- package/presets/opencode/android-kotlin/agents/tech-writer.md +76 -0
- package/presets/opencode/android-kotlin/agents/unit-test-generator.md +56 -0
- package/presets/opencode/android-kotlin/agents/unit-test-healer.md +55 -0
- package/presets/opencode/android-kotlin/agents/unit-test-planner.md +70 -0
- package/presets/opencode/android-kotlin/ai-local/conventions.md +17 -0
- package/presets/opencode/android-kotlin/commands/README.md +49 -0
- package/presets/opencode/android-kotlin/commands/spec-start.md +32 -0
- package/presets/opencode/android-kotlin/commands/task-continue.md +58 -0
- package/presets/opencode/android-kotlin/commands/task.md +57 -0
- package/presets/opencode/android-kotlin/commands/technical-retro.md +88 -0
- package/presets/opencode/android-kotlin/hooks/README.md +22 -0
- package/presets/opencode/android-kotlin/hooks/chain-team-phases.sh +901 -0
- package/presets/opencode/android-kotlin/opencode.json +17 -0
- package/presets/opencode/android-kotlin/rules/README.md +20 -0
- package/presets/opencode/android-kotlin/rules/agent-team-intake.md +11 -0
- package/presets/opencode/android-kotlin/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/android-kotlin/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/android-kotlin/rules/android-app-core.md +23 -0
- package/presets/opencode/android-kotlin/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/android-kotlin/rules/architecture-boundaries.md +23 -0
- package/presets/opencode/android-kotlin/rules/code-quality-and-refactoring.md +54 -0
- package/presets/opencode/android-kotlin/rules/code-review-mr.md +79 -0
- package/presets/opencode/android-kotlin/rules/compose-ui.md +25 -0
- package/presets/opencode/android-kotlin/rules/design-guidance.md +104 -0
- package/presets/opencode/android-kotlin/rules/di-dagger-feature-holders.md +26 -0
- package/presets/opencode/android-kotlin/rules/feature-delivery-workflow.md +39 -0
- package/presets/opencode/android-kotlin/rules/gradle-tooling.md +22 -0
- package/presets/opencode/android-kotlin/rules/kotlin-conventions.md +24 -0
- package/presets/opencode/android-kotlin/rules/mcp-usage.md +94 -0
- package/presets/opencode/android-kotlin/rules/mockup-review.md +111 -0
- package/presets/opencode/android-kotlin/rules/module-public-api.md +22 -0
- package/presets/opencode/android-kotlin/rules/navigation-feature-launcher.md +23 -0
- package/presets/opencode/android-kotlin/rules/networking-data.md +23 -0
- package/presets/opencode/android-kotlin/rules/persistence-data.md +22 -0
- package/presets/opencode/android-kotlin/rules/post-change-build.md +25 -0
- package/presets/opencode/android-kotlin/rules/preset-layering.md +27 -0
- package/presets/opencode/android-kotlin/rules/preset-no-cross-stack-leakage.md +94 -0
- package/presets/opencode/android-kotlin/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/android-kotlin/rules/preset-token-budget.md +39 -0
- package/presets/opencode/android-kotlin/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/android-kotlin/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/android-kotlin/rules/product-specs.md +61 -0
- package/presets/opencode/android-kotlin/rules/reference-features.md +22 -0
- package/presets/opencode/android-kotlin/rules/security-android.md +21 -0
- package/presets/opencode/android-kotlin/rules/state-and-viewmodels.md +21 -0
- package/presets/opencode/android-kotlin/rules/technical-retro.md +11 -0
- package/presets/opencode/android-kotlin/rules/tests-ui.md +22 -0
- package/presets/opencode/android-kotlin/rules/tests-unit.md +22 -0
- package/presets/opencode/android-kotlin/rules/ux-design.md +103 -0
- package/presets/opencode/android-kotlin/skills/README.md +18 -0
- package/presets/opencode/android-kotlin/skills/ci-investigation/SKILL.md +47 -0
- package/presets/opencode/android-kotlin/skills/code-review/SKILL.md +45 -0
- package/presets/opencode/android-kotlin/skills/debug-investigation/SKILL.md +70 -0
- package/presets/opencode/android-kotlin/skills/feature-delivery/SKILL.md +45 -0
- package/presets/opencode/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
- package/presets/opencode/android-kotlin/skills/mockup-review/SKILL.md +29 -0
- package/presets/opencode/android-kotlin/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/android-kotlin/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/android-kotlin/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/android-kotlin/skills/unit-testing/SKILL.md +32 -0
- package/presets/opencode/android-kotlin/skills/ux-design/SKILL.md +36 -0
- package/presets/opencode/android-kotlin/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/android-kotlin/team/README.md +77 -0
- package/presets/opencode/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/opencode/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
- package/presets/opencode/android-kotlin/team/fixtures/feature-full.json +98 -0
- package/presets/opencode/android-kotlin/team/fixtures/feature-light.json +38 -0
- package/presets/opencode/android-kotlin/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/opencode/android-kotlin/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/opencode/android-kotlin/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/android-kotlin/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/opencode/android-kotlin/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/opencode/android-kotlin/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/opencode/go/MCP.md +37 -0
- package/presets/opencode/go/OPENCODE.md +52 -0
- package/presets/opencode/go/README.md +17 -0
- package/presets/opencode/go/REPO_AGENTS.md +74 -0
- package/presets/opencode/go/adapter-map.json +755 -0
- package/presets/opencode/go/agents/README.md +49 -0
- package/presets/opencode/go/agents/api-contract-reviewer.md +29 -0
- package/presets/opencode/go/agents/build-verifier.md +66 -0
- package/presets/opencode/go/agents/ci-investigator.md +32 -0
- package/presets/opencode/go/agents/code-reviewer.md +60 -0
- package/presets/opencode/go/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/go/agents/debugger.md +50 -0
- package/presets/opencode/go/agents/feature-developer.md +98 -0
- package/presets/opencode/go/agents/integration-test-generator.md +24 -0
- package/presets/opencode/go/agents/integration-test-healer.md +24 -0
- package/presets/opencode/go/agents/integration-test-planner.md +28 -0
- package/presets/opencode/go/agents/migration-specialist.md +43 -0
- package/presets/opencode/go/agents/openspec-author.md +170 -0
- package/presets/opencode/go/agents/performance-auditor.md +34 -0
- package/presets/opencode/go/agents/qa-tester.md +30 -0
- package/presets/opencode/go/agents/security-reviewer.md +26 -0
- package/presets/opencode/go/agents/solution-architect.md +40 -0
- package/presets/opencode/go/agents/task-analyst.md +83 -0
- package/presets/opencode/go/agents/task-router.md +145 -0
- package/presets/opencode/go/agents/tech-writer.md +30 -0
- package/presets/opencode/go/agents/unit-test-generator.md +23 -0
- package/presets/opencode/go/agents/unit-test-healer.md +15 -0
- package/presets/opencode/go/agents/unit-test-planner.md +32 -0
- package/presets/opencode/go/ai-local/conventions.md +21 -0
- package/presets/opencode/go/commands/README.md +52 -0
- package/presets/opencode/go/commands/spec-start.md +32 -0
- package/presets/opencode/go/commands/task-continue.md +56 -0
- package/presets/opencode/go/commands/task.md +55 -0
- package/presets/opencode/go/commands/technical-retro.md +88 -0
- package/presets/opencode/go/hooks/README.md +22 -0
- package/presets/opencode/go/hooks/chain-team-phases.sh +874 -0
- package/presets/opencode/go/opencode.json +17 -0
- package/presets/opencode/go/rules/README.md +20 -0
- package/presets/opencode/go/rules/adapters-driven.md +25 -0
- package/presets/opencode/go/rules/adapters-driving.md +26 -0
- package/presets/opencode/go/rules/agent-team-intake.md +15 -0
- package/presets/opencode/go/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/go/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/go/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/go/rules/api-grpc.md +20 -0
- package/presets/opencode/go/rules/api-http.md +25 -0
- package/presets/opencode/go/rules/application-usecases.md +26 -0
- package/presets/opencode/go/rules/architecture-boundaries.md +31 -0
- package/presets/opencode/go/rules/code-quality-and-refactoring.md +55 -0
- package/presets/opencode/go/rules/code-review-mr.md +47 -0
- package/presets/opencode/go/rules/composition-root.md +26 -0
- package/presets/opencode/go/rules/design-guidance.md +104 -0
- package/presets/opencode/go/rules/domain-layer.md +25 -0
- package/presets/opencode/go/rules/feature-delivery-workflow.md +49 -0
- package/presets/opencode/go/rules/go-app-core.md +27 -0
- package/presets/opencode/go/rules/go-conventions.md +45 -0
- package/presets/opencode/go/rules/go-tooling.md +28 -0
- package/presets/opencode/go/rules/mcp-usage.md +93 -0
- package/presets/opencode/go/rules/messaging-adapters.md +15 -0
- package/presets/opencode/go/rules/module-public-api.md +16 -0
- package/presets/opencode/go/rules/persistence-adapters.md +24 -0
- package/presets/opencode/go/rules/ports-interfaces.md +26 -0
- package/presets/opencode/go/rules/post-change-test.md +22 -0
- package/presets/opencode/go/rules/preset-layering.md +27 -0
- package/presets/opencode/go/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/go/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/go/rules/preset-token-budget.md +39 -0
- package/presets/opencode/go/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/go/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/go/rules/product-specs.md +62 -0
- package/presets/opencode/go/rules/reference-features.md +45 -0
- package/presets/opencode/go/rules/security-go.md +26 -0
- package/presets/opencode/go/rules/technical-retro.md +11 -0
- package/presets/opencode/go/rules/tests-e2e.md +13 -0
- package/presets/opencode/go/rules/tests-integration.md +22 -0
- package/presets/opencode/go/rules/tests-unit.md +18 -0
- package/presets/opencode/go/skills/README.md +5 -0
- package/presets/opencode/go/skills/ci-investigation/SKILL.md +18 -0
- package/presets/opencode/go/skills/code-review/SKILL.md +32 -0
- package/presets/opencode/go/skills/debug-investigation/SKILL.md +51 -0
- package/presets/opencode/go/skills/feature-delivery/SKILL.md +37 -0
- package/presets/opencode/go/skills/integration-testing/SKILL.md +15 -0
- package/presets/opencode/go/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/go/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/go/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/go/skills/unit-testing/SKILL.md +14 -0
- package/presets/opencode/go/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/go/team/README.md +77 -0
- package/presets/opencode/go/team/fixtures/bugfix-standard.json +37 -0
- package/presets/opencode/go/team/fixtures/feature-full.json +61 -0
- package/presets/opencode/go/team/fixtures/feature-light.json +17 -0
- package/presets/opencode/go/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/ios-swift/MCP.md +35 -0
- package/presets/opencode/ios-swift/OPENCODE.md +76 -0
- package/presets/opencode/ios-swift/README.md +17 -0
- package/presets/opencode/ios-swift/REPO_AGENTS.md +72 -0
- package/presets/opencode/ios-swift/adapter-map.json +805 -0
- package/presets/opencode/ios-swift/agents/README.md +78 -0
- package/presets/opencode/ios-swift/agents/accessibility-reviewer.md +69 -0
- package/presets/opencode/ios-swift/agents/api-contract-reviewer.md +68 -0
- package/presets/opencode/ios-swift/agents/build-verifier.md +107 -0
- package/presets/opencode/ios-swift/agents/ci-investigator.md +78 -0
- package/presets/opencode/ios-swift/agents/code-reviewer.md +85 -0
- package/presets/opencode/ios-swift/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/ios-swift/agents/debugger.md +86 -0
- package/presets/opencode/ios-swift/agents/feature-developer.md +110 -0
- package/presets/opencode/ios-swift/agents/migration-specialist.md +79 -0
- package/presets/opencode/ios-swift/agents/mockup-reviewer.md +65 -0
- package/presets/opencode/ios-swift/agents/openspec-author.md +170 -0
- package/presets/opencode/ios-swift/agents/performance-auditor.md +78 -0
- package/presets/opencode/ios-swift/agents/qa-tester.md +63 -0
- package/presets/opencode/ios-swift/agents/security-reviewer.md +65 -0
- package/presets/opencode/ios-swift/agents/solution-architect.md +32 -0
- package/presets/opencode/ios-swift/agents/task-analyst.md +104 -0
- package/presets/opencode/ios-swift/agents/task-router.md +156 -0
- package/presets/opencode/ios-swift/agents/tech-writer.md +60 -0
- package/presets/opencode/ios-swift/agents/unit-test-generator.md +50 -0
- package/presets/opencode/ios-swift/agents/unit-test-healer.md +49 -0
- package/presets/opencode/ios-swift/agents/unit-test-planner.md +64 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-generator.md +38 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-healer.md +38 -0
- package/presets/opencode/ios-swift/agents/xcuitest-test-planner.md +60 -0
- package/presets/opencode/ios-swift/ai-local/conventions.md +21 -0
- package/presets/opencode/ios-swift/commands/README.md +49 -0
- package/presets/opencode/ios-swift/commands/spec-start.md +32 -0
- package/presets/opencode/ios-swift/commands/task-continue.md +58 -0
- package/presets/opencode/ios-swift/commands/task.md +57 -0
- package/presets/opencode/ios-swift/commands/technical-retro.md +88 -0
- package/presets/opencode/ios-swift/hooks/README.md +22 -0
- package/presets/opencode/ios-swift/hooks/chain-team-phases.sh +901 -0
- package/presets/opencode/ios-swift/opencode.json +17 -0
- package/presets/opencode/ios-swift/rules/README.md +20 -0
- package/presets/opencode/ios-swift/rules/agent-team-intake.md +11 -0
- package/presets/opencode/ios-swift/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/ios-swift/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/ios-swift/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/ios-swift/rules/architecture-boundaries.md +29 -0
- package/presets/opencode/ios-swift/rules/code-quality-and-refactoring.md +54 -0
- package/presets/opencode/ios-swift/rules/code-review-mr.md +79 -0
- package/presets/opencode/ios-swift/rules/design-guidance.md +104 -0
- package/presets/opencode/ios-swift/rules/feature-delivery-workflow.md +115 -0
- package/presets/opencode/ios-swift/rules/ios-app-core.md +16 -0
- package/presets/opencode/ios-swift/rules/mcp-usage.md +94 -0
- package/presets/opencode/ios-swift/rules/mockup-review.md +111 -0
- package/presets/opencode/ios-swift/rules/module-public-api.md +17 -0
- package/presets/opencode/ios-swift/rules/navigation-coordinators.md +18 -0
- package/presets/opencode/ios-swift/rules/networking-services.md +43 -0
- package/presets/opencode/ios-swift/rules/persistence-data.md +20 -0
- package/presets/opencode/ios-swift/rules/post-change-build.md +27 -0
- package/presets/opencode/ios-swift/rules/preset-layering.md +27 -0
- package/presets/opencode/ios-swift/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/ios-swift/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/ios-swift/rules/preset-token-budget.md +39 -0
- package/presets/opencode/ios-swift/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/ios-swift/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/ios-swift/rules/product-specs.md +61 -0
- package/presets/opencode/ios-swift/rules/reference-features.md +94 -0
- package/presets/opencode/ios-swift/rules/security-ios.md +24 -0
- package/presets/opencode/ios-swift/rules/state-and-viewmodels.md +37 -0
- package/presets/opencode/ios-swift/rules/swift-conventions.md +55 -0
- package/presets/opencode/ios-swift/rules/swiftui-ui.md +70 -0
- package/presets/opencode/ios-swift/rules/technical-retro.md +11 -0
- package/presets/opencode/ios-swift/rules/tests-ui.md +37 -0
- package/presets/opencode/ios-swift/rules/tests-unit.md +35 -0
- package/presets/opencode/ios-swift/rules/ux-design.md +103 -0
- package/presets/opencode/ios-swift/rules/xcode-tooling.md +15 -0
- package/presets/opencode/ios-swift/skills/README.md +18 -0
- package/presets/opencode/ios-swift/skills/ci-investigation/SKILL.md +47 -0
- package/presets/opencode/ios-swift/skills/code-review/SKILL.md +45 -0
- package/presets/opencode/ios-swift/skills/debug-investigation/SKILL.md +70 -0
- package/presets/opencode/ios-swift/skills/feature-delivery/SKILL.md +45 -0
- package/presets/opencode/ios-swift/skills/mockup-review/SKILL.md +29 -0
- package/presets/opencode/ios-swift/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/ios-swift/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/ios-swift/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/ios-swift/skills/unit-testing/SKILL.md +32 -0
- package/presets/opencode/ios-swift/skills/ux-design/SKILL.md +36 -0
- package/presets/opencode/ios-swift/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
- package/presets/opencode/ios-swift/team/README.md +77 -0
- package/presets/opencode/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/opencode/ios-swift/team/fixtures/bugfix-standard.json +33 -0
- package/presets/opencode/ios-swift/team/fixtures/feature-full.json +61 -0
- package/presets/opencode/ios-swift/team/fixtures/feature-light.json +17 -0
- package/presets/opencode/ios-swift/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/opencode/ios-swift/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/opencode/ios-swift/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/ios-swift/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/opencode/ios-swift/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/opencode/ios-swift/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/opencode/java/MCP.md +34 -0
- package/presets/opencode/java/OPENCODE.md +53 -0
- package/presets/opencode/java/README.md +17 -0
- package/presets/opencode/java/REPO_AGENTS.md +72 -0
- package/presets/opencode/java/adapter-map.json +755 -0
- package/presets/opencode/java/agents/README.md +49 -0
- package/presets/opencode/java/agents/api-contract-reviewer.md +29 -0
- package/presets/opencode/java/agents/build-verifier.md +76 -0
- package/presets/opencode/java/agents/ci-investigator.md +32 -0
- package/presets/opencode/java/agents/code-reviewer.md +60 -0
- package/presets/opencode/java/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/java/agents/debugger.md +50 -0
- package/presets/opencode/java/agents/feature-developer.md +98 -0
- package/presets/opencode/java/agents/integration-test-generator.md +24 -0
- package/presets/opencode/java/agents/integration-test-healer.md +24 -0
- package/presets/opencode/java/agents/integration-test-planner.md +28 -0
- package/presets/opencode/java/agents/migration-specialist.md +43 -0
- package/presets/opencode/java/agents/openspec-author.md +170 -0
- package/presets/opencode/java/agents/performance-auditor.md +34 -0
- package/presets/opencode/java/agents/qa-tester.md +30 -0
- package/presets/opencode/java/agents/security-reviewer.md +26 -0
- package/presets/opencode/java/agents/solution-architect.md +40 -0
- package/presets/opencode/java/agents/task-analyst.md +83 -0
- package/presets/opencode/java/agents/task-router.md +145 -0
- package/presets/opencode/java/agents/tech-writer.md +30 -0
- package/presets/opencode/java/agents/unit-test-generator.md +23 -0
- package/presets/opencode/java/agents/unit-test-healer.md +15 -0
- package/presets/opencode/java/agents/unit-test-planner.md +32 -0
- package/presets/opencode/java/ai-local/conventions.md +21 -0
- package/presets/opencode/java/commands/README.md +52 -0
- package/presets/opencode/java/commands/spec-start.md +32 -0
- package/presets/opencode/java/commands/task-continue.md +56 -0
- package/presets/opencode/java/commands/task.md +55 -0
- package/presets/opencode/java/commands/technical-retro.md +88 -0
- package/presets/opencode/java/hooks/README.md +22 -0
- package/presets/opencode/java/hooks/chain-team-phases.sh +874 -0
- package/presets/opencode/java/opencode.json +13 -0
- package/presets/opencode/java/rules/README.md +20 -0
- package/presets/opencode/java/rules/adapters-driven.md +30 -0
- package/presets/opencode/java/rules/adapters-driving.md +30 -0
- package/presets/opencode/java/rules/agent-team-intake.md +15 -0
- package/presets/opencode/java/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/java/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/java/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/java/rules/api-grpc.md +22 -0
- package/presets/opencode/java/rules/api-http.md +28 -0
- package/presets/opencode/java/rules/application-usecases.md +26 -0
- package/presets/opencode/java/rules/architecture-boundaries.md +31 -0
- package/presets/opencode/java/rules/code-quality-and-refactoring.md +55 -0
- package/presets/opencode/java/rules/code-review-mr.md +49 -0
- package/presets/opencode/java/rules/composition-root.md +25 -0
- package/presets/opencode/java/rules/design-guidance.md +105 -0
- package/presets/opencode/java/rules/domain-layer.md +32 -0
- package/presets/opencode/java/rules/feature-delivery-workflow.md +49 -0
- package/presets/opencode/java/rules/java-app-core.md +28 -0
- package/presets/opencode/java/rules/java-conventions.md +47 -0
- package/presets/opencode/java/rules/java-tooling.md +24 -0
- package/presets/opencode/java/rules/mcp-usage.md +92 -0
- package/presets/opencode/java/rules/messaging-adapters.md +23 -0
- package/presets/opencode/java/rules/module-public-api.md +23 -0
- package/presets/opencode/java/rules/persistence-adapters.md +25 -0
- package/presets/opencode/java/rules/ports-interfaces.md +27 -0
- package/presets/opencode/java/rules/post-change-test.md +20 -0
- package/presets/opencode/java/rules/preset-layering.md +27 -0
- package/presets/opencode/java/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/java/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/java/rules/preset-token-budget.md +39 -0
- package/presets/opencode/java/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/java/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/java/rules/product-specs.md +62 -0
- package/presets/opencode/java/rules/reference-features.md +45 -0
- package/presets/opencode/java/rules/security-java.md +21 -0
- package/presets/opencode/java/rules/technical-retro.md +11 -0
- package/presets/opencode/java/rules/tests-e2e.md +15 -0
- package/presets/opencode/java/rules/tests-integration.md +19 -0
- package/presets/opencode/java/rules/tests-unit.md +26 -0
- package/presets/opencode/java/skills/README.md +5 -0
- package/presets/opencode/java/skills/ci-investigation/SKILL.md +18 -0
- package/presets/opencode/java/skills/code-review/SKILL.md +32 -0
- package/presets/opencode/java/skills/debug-investigation/SKILL.md +51 -0
- package/presets/opencode/java/skills/feature-delivery/SKILL.md +37 -0
- package/presets/opencode/java/skills/integration-testing/SKILL.md +15 -0
- package/presets/opencode/java/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/java/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/java/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/java/skills/unit-testing/SKILL.md +14 -0
- package/presets/opencode/java/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/java/team/README.md +77 -0
- package/presets/opencode/java/team/fixtures/bugfix-standard.json +37 -0
- package/presets/opencode/java/team/fixtures/feature-full.json +61 -0
- package/presets/opencode/java/team/fixtures/feature-light.json +17 -0
- package/presets/opencode/java/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/mcp-ts/MCP.md +56 -0
- package/presets/opencode/mcp-ts/OPENCODE.md +51 -0
- package/presets/opencode/mcp-ts/README.md +17 -0
- package/presets/opencode/mcp-ts/REPO_AGENTS.md +75 -0
- package/presets/opencode/mcp-ts/adapter-map.json +520 -0
- package/presets/opencode/mcp-ts/agents/README.md +45 -0
- package/presets/opencode/mcp-ts/agents/build-verifier.md +70 -0
- package/presets/opencode/mcp-ts/agents/feature-developer.md +97 -0
- package/presets/opencode/mcp-ts/agents/security-reviewer.md +27 -0
- package/presets/opencode/mcp-ts/agents/solution-architect.md +34 -0
- package/presets/opencode/mcp-ts/agents/task-analyst.md +86 -0
- package/presets/opencode/mcp-ts/agents/task-router.md +141 -0
- package/presets/opencode/mcp-ts/ai-local/conventions.md +14 -0
- package/presets/opencode/mcp-ts/commands/README.md +9 -0
- package/presets/opencode/mcp-ts/commands/spec-start.md +32 -0
- package/presets/opencode/mcp-ts/commands/task-continue.md +56 -0
- package/presets/opencode/mcp-ts/commands/task.md +55 -0
- package/presets/opencode/mcp-ts/commands/technical-retro.md +88 -0
- package/presets/opencode/mcp-ts/hooks/README.md +22 -0
- package/presets/opencode/mcp-ts/hooks/chain-team-phases.sh +819 -0
- package/presets/opencode/mcp-ts/opencode.json +13 -0
- package/presets/opencode/mcp-ts/rules/README.md +20 -0
- package/presets/opencode/mcp-ts/rules/agent-team-intake.md +16 -0
- package/presets/opencode/mcp-ts/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/mcp-ts/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/mcp-ts/rules/anti-sycophancy-discipline.md +27 -0
- package/presets/opencode/mcp-ts/rules/code-quality-and-refactoring.md +55 -0
- package/presets/opencode/mcp-ts/rules/code-review-mr.md +46 -0
- package/presets/opencode/mcp-ts/rules/design-guidance.md +104 -0
- package/presets/opencode/mcp-ts/rules/feature-delivery-workflow.md +49 -0
- package/presets/opencode/mcp-ts/rules/mcp-auth-secrets.md +35 -0
- package/presets/opencode/mcp-ts/rules/mcp-contract-testing.md +32 -0
- package/presets/opencode/mcp-ts/rules/mcp-server-boundaries.md +24 -0
- package/presets/opencode/mcp-ts/rules/mcp-tool-design.md +29 -0
- package/presets/opencode/mcp-ts/rules/mcp-transport-packaging.md +34 -0
- package/presets/opencode/mcp-ts/rules/mcp-ts-app-core.md +23 -0
- package/presets/opencode/mcp-ts/rules/mcp-ts-conventions.md +22 -0
- package/presets/opencode/mcp-ts/rules/mcp-ts-tooling.md +21 -0
- package/presets/opencode/mcp-ts/rules/mcp-usage.md +93 -0
- package/presets/opencode/mcp-ts/rules/post-change-test.md +21 -0
- package/presets/opencode/mcp-ts/rules/preset-layering.md +27 -0
- package/presets/opencode/mcp-ts/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/mcp-ts/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/mcp-ts/rules/preset-token-budget.md +39 -0
- package/presets/opencode/mcp-ts/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/mcp-ts/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/mcp-ts/rules/product-specs.md +62 -0
- package/presets/opencode/mcp-ts/rules/reference-features.md +45 -0
- package/presets/opencode/mcp-ts/rules/security-mcp.md +43 -0
- package/presets/opencode/mcp-ts/rules/technical-retro.md +11 -0
- package/presets/opencode/mcp-ts/rules/tests-unit.md +23 -0
- package/presets/opencode/mcp-ts/skills/README.md +14 -0
- package/presets/opencode/mcp-ts/skills/code-review/SKILL.md +17 -0
- package/presets/opencode/mcp-ts/skills/debug-investigation/SKILL.md +46 -0
- package/presets/opencode/mcp-ts/skills/feature-delivery/SKILL.md +36 -0
- package/presets/opencode/mcp-ts/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/mcp-ts/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/mcp-ts/skills/unit-testing/SKILL.md +16 -0
- package/presets/opencode/mcp-ts/team/README.md +77 -0
- package/presets/opencode/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
- package/presets/opencode/mcp-ts/team/fixtures/feature-full.json +36 -0
- package/presets/opencode/mcp-ts/team/fixtures/feature-light.json +34 -0
- package/presets/opencode/mcp-ts/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/next/OPENCODE.md +2 -2
- package/presets/opencode/next/README.md +4 -3
- package/presets/opencode/next/REPO_AGENTS.md +4 -4
- package/presets/opencode/next/adapter-map.json +26 -26
- package/presets/opencode/next/agents/README.md +9 -119
- package/presets/opencode/next/agents/accessibility-reviewer.md +6 -6
- package/presets/opencode/next/agents/api-contract-reviewer.md +5 -5
- package/presets/opencode/next/agents/build-verifier.md +8 -8
- package/presets/opencode/next/agents/ci-investigator.md +3 -3
- package/presets/opencode/next/agents/code-reviewer.md +7 -7
- package/presets/opencode/next/agents/codebase-analyzer.md +2 -2
- package/presets/opencode/next/agents/debugger.md +4 -4
- package/presets/opencode/next/agents/feature-developer.md +3 -3
- package/presets/opencode/next/agents/migration-specialist.md +5 -5
- package/presets/opencode/next/agents/mockup-reviewer.md +6 -6
- package/presets/opencode/next/agents/openspec-author.md +8 -7
- package/presets/opencode/next/agents/performance-auditor.md +5 -5
- package/presets/opencode/next/agents/playwright-test-generator.md +1 -1
- package/presets/opencode/next/agents/playwright-test-planner.md +2 -2
- package/presets/opencode/next/agents/qa-tester.md +3 -3
- package/presets/opencode/next/agents/security-reviewer.md +6 -6
- package/presets/opencode/next/agents/solution-architect.md +6 -6
- package/presets/opencode/next/agents/task-analyst.md +8 -8
- package/presets/opencode/next/agents/task-router.md +6 -6
- package/presets/opencode/next/agents/tech-writer.md +6 -5
- package/presets/opencode/next/agents/unit-test-generator.md +3 -3
- package/presets/opencode/next/agents/unit-test-healer.md +2 -2
- package/presets/opencode/next/agents/unit-test-planner.md +5 -5
- package/presets/opencode/next/ai-local/conventions.md +21 -0
- package/presets/opencode/next/commands/README.md +2 -2
- package/presets/opencode/next/commands/spec-start.md +3 -3
- package/presets/opencode/next/commands/task-continue.md +3 -3
- package/presets/opencode/next/commands/task.md +2 -2
- package/presets/opencode/next/commands/technical-retro.md +5 -5
- package/presets/opencode/next/hooks/README.md +1 -1
- package/presets/opencode/next/hooks/chain-team-phases.sh +70 -12
- package/presets/opencode/next/rules/agent-team-orchestrator.md +3 -3
- package/presets/opencode/next/rules/ai-local-overlay.md +2 -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 +3 -3
- package/presets/opencode/next/rules/preset-token-budget.md +10 -10
- package/presets/opencode/next/rules/preset-twin-sync.md +26 -8
- 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 +37 -1
- 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/README.md +1 -1
- package/presets/opencode/next/skills/ci-investigation/SKILL.md +1 -1
- package/presets/opencode/next/skills/code-review/SKILL.md +3 -3
- package/presets/opencode/next/skills/debug-investigation/SKILL.md +2 -2
- package/presets/opencode/next/skills/feature-delivery/SKILL.md +1 -1
- package/presets/opencode/next/skills/mockup-review/SKILL.md +2 -2
- 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 +3 -3
- package/presets/opencode/next/skills/technical-retro/SKILL.md +3 -3
- package/presets/opencode/next/skills/unit-testing/SKILL.md +2 -2
- package/presets/opencode/next/skills/ux-design/SKILL.md +2 -2
- package/presets/opencode/next/skills/write-adr/SKILL.md +3 -3
- package/presets/opencode/next/team/README.md +35 -106
- package/presets/opencode/nuxt/MCP.md +36 -0
- package/presets/opencode/nuxt/OPENCODE.md +65 -0
- package/presets/opencode/nuxt/README.md +17 -0
- package/presets/opencode/nuxt/REPO_AGENTS.md +75 -0
- package/presets/opencode/nuxt/adapter-map.json +959 -0
- package/presets/opencode/nuxt/agents/README.md +99 -0
- package/presets/opencode/nuxt/agents/accessibility-reviewer.md +73 -0
- package/presets/opencode/nuxt/agents/api-contract-reviewer.md +69 -0
- package/presets/opencode/nuxt/agents/build-verifier.md +112 -0
- package/presets/opencode/nuxt/agents/ci-investigator.md +71 -0
- package/presets/opencode/nuxt/agents/code-reviewer.md +74 -0
- package/presets/opencode/nuxt/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/nuxt/agents/debugger.md +88 -0
- package/presets/opencode/nuxt/agents/feature-developer.md +109 -0
- package/presets/opencode/nuxt/agents/migration-specialist.md +79 -0
- package/presets/opencode/nuxt/agents/mockup-reviewer.md +65 -0
- package/presets/opencode/nuxt/agents/openspec-author.md +170 -0
- package/presets/opencode/nuxt/agents/performance-auditor.md +80 -0
- package/presets/opencode/nuxt/agents/playwright-test-generator.md +36 -0
- package/presets/opencode/nuxt/agents/playwright-test-healer.md +36 -0
- package/presets/opencode/nuxt/agents/playwright-test-planner.md +33 -0
- package/presets/opencode/nuxt/agents/qa-tester.md +60 -0
- package/presets/opencode/nuxt/agents/security-reviewer.md +66 -0
- package/presets/opencode/nuxt/agents/solution-architect.md +80 -0
- package/presets/opencode/nuxt/agents/task-analyst.md +178 -0
- package/presets/opencode/nuxt/agents/task-router.md +190 -0
- package/presets/opencode/nuxt/agents/tech-writer.md +70 -0
- package/presets/opencode/nuxt/agents/unit-test-generator.md +39 -0
- package/presets/opencode/nuxt/agents/unit-test-healer.md +40 -0
- package/presets/opencode/nuxt/agents/unit-test-planner.md +66 -0
- package/presets/opencode/nuxt/ai-local/conventions.md +21 -0
- package/presets/opencode/nuxt/commands/README.md +49 -0
- package/presets/opencode/nuxt/commands/spec-start.md +32 -0
- package/presets/opencode/nuxt/commands/task-continue.md +58 -0
- package/presets/opencode/nuxt/commands/task.md +57 -0
- package/presets/opencode/nuxt/commands/technical-retro.md +88 -0
- package/presets/opencode/nuxt/hooks/README.md +22 -0
- package/presets/opencode/nuxt/hooks/chain-team-phases.sh +903 -0
- package/presets/opencode/nuxt/opencode.json +33 -0
- package/presets/opencode/nuxt/rules/README.md +20 -0
- package/presets/opencode/nuxt/rules/agent-team-intake.md +11 -0
- package/presets/opencode/nuxt/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/nuxt/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/nuxt/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/nuxt/rules/api-services.md +72 -0
- package/presets/opencode/nuxt/rules/architecture-boundaries-ui.md +9 -0
- package/presets/opencode/nuxt/rules/architecture-boundaries.md +90 -0
- package/presets/opencode/nuxt/rules/code-quality-and-refactoring.md +53 -0
- package/presets/opencode/nuxt/rules/code-review-mr.md +53 -0
- package/presets/opencode/nuxt/rules/css-property-order-stylelint.md +6 -0
- package/presets/opencode/nuxt/rules/design-guidance.md +104 -0
- package/presets/opencode/nuxt/rules/feature-delivery-workflow.md +131 -0
- package/presets/opencode/nuxt/rules/http-client.md +9 -0
- package/presets/opencode/nuxt/rules/layer-barrel-exports.md +67 -0
- package/presets/opencode/nuxt/rules/mcp-usage.md +95 -0
- package/presets/opencode/nuxt/rules/mockup-review.md +111 -0
- package/presets/opencode/nuxt/rules/navigation-router-stack.md +55 -0
- package/presets/opencode/nuxt/rules/navigation-router-ui.md +10 -0
- package/presets/opencode/nuxt/rules/no-type-assertion-as-import-export.md +51 -0
- package/presets/opencode/nuxt/rules/no-v-bind-spread.md +7 -0
- package/presets/opencode/nuxt/rules/nuxt-app-core.md +40 -0
- package/presets/opencode/nuxt/rules/nuxt-pages-routing.md +31 -0
- package/presets/opencode/nuxt/rules/package-manager.md +13 -0
- package/presets/opencode/nuxt/rules/playwright-agents.md +74 -0
- package/presets/opencode/nuxt/rules/post-change-lint.md +37 -0
- package/presets/opencode/nuxt/rules/preset-layering.md +27 -0
- package/presets/opencode/nuxt/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/nuxt/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/nuxt/rules/preset-token-budget.md +39 -0
- package/presets/opencode/nuxt/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/nuxt/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/nuxt/rules/product-specs.md +61 -0
- package/presets/opencode/nuxt/rules/public-imports.md +50 -0
- package/presets/opencode/nuxt/rules/reference-features.md +81 -0
- package/presets/opencode/nuxt/rules/script-setup-conventions.md +7 -0
- package/presets/opencode/nuxt/rules/security-nuxt.md +28 -0
- package/presets/opencode/nuxt/rules/store-pinia.md +61 -0
- package/presets/opencode/nuxt/rules/technical-retro.md +11 -0
- package/presets/opencode/nuxt/rules/tests-e2e-structure.md +88 -0
- package/presets/opencode/nuxt/rules/tests-unit.md +83 -0
- package/presets/opencode/nuxt/rules/types-jsdoc.md +36 -0
- package/presets/opencode/nuxt/rules/ux-design.md +103 -0
- package/presets/opencode/nuxt/rules/vue-a11y-coding.md +9 -0
- package/presets/opencode/nuxt/rules/vue-nuxt-anti-hallucination.md +62 -0
- package/presets/opencode/nuxt/rules/vue-ui.md +34 -0
- package/presets/opencode/nuxt/skills/README.md +21 -0
- package/presets/opencode/nuxt/skills/ci-investigation/SKILL.md +44 -0
- package/presets/opencode/nuxt/skills/code-review/SKILL.md +44 -0
- package/presets/opencode/nuxt/skills/debug-investigation/SKILL.md +61 -0
- package/presets/opencode/nuxt/skills/feature-delivery/SKILL.md +46 -0
- package/presets/opencode/nuxt/skills/mockup-review/SKILL.md +29 -0
- package/presets/opencode/nuxt/skills/playwright-e2e/SKILL.md +37 -0
- package/presets/opencode/nuxt/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/nuxt/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/nuxt/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/nuxt/skills/unit-testing/SKILL.md +32 -0
- package/presets/opencode/nuxt/skills/ux-design/SKILL.md +36 -0
- package/presets/opencode/nuxt/skills/vue-performance/SKILL.md +53 -0
- package/presets/opencode/nuxt/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/nuxt/team/README.md +77 -0
- package/presets/opencode/nuxt/team/fixtures/artifact-manifest.example.json +79 -0
- package/presets/opencode/nuxt/team/fixtures/bugfix-standard.json +25 -0
- package/presets/opencode/nuxt/team/fixtures/feature-full.json +62 -0
- package/presets/opencode/nuxt/team/fixtures/feature-light.json +27 -0
- package/presets/opencode/nuxt/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/opencode/nuxt/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/opencode/nuxt/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/nuxt/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/opencode/nuxt/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/opencode/nuxt/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/opencode/nuxt/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/opencode/nuxt/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/opencode/nuxt/team/fixtures/metrics.example.json +54 -0
- package/presets/opencode/nuxt/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/opencode/nuxt/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/opencode/nuxt/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/opencode/nuxt/team/tasks/.gitkeep +0 -0
- package/presets/opencode/php-hexagonal/MCP.md +34 -0
- package/presets/opencode/php-hexagonal/OPENCODE.md +53 -0
- package/presets/opencode/php-hexagonal/README.md +17 -0
- package/presets/opencode/php-hexagonal/REPO_AGENTS.md +73 -0
- package/presets/opencode/php-hexagonal/adapter-map.json +755 -0
- package/presets/opencode/php-hexagonal/agents/README.md +49 -0
- package/presets/opencode/php-hexagonal/agents/api-contract-reviewer.md +29 -0
- package/presets/opencode/php-hexagonal/agents/build-verifier.md +76 -0
- package/presets/opencode/php-hexagonal/agents/ci-investigator.md +32 -0
- package/presets/opencode/php-hexagonal/agents/code-reviewer.md +60 -0
- package/presets/opencode/php-hexagonal/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/php-hexagonal/agents/debugger.md +50 -0
- package/presets/opencode/php-hexagonal/agents/feature-developer.md +98 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-generator.md +24 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-healer.md +24 -0
- package/presets/opencode/php-hexagonal/agents/integration-test-planner.md +28 -0
- package/presets/opencode/php-hexagonal/agents/migration-specialist.md +43 -0
- package/presets/opencode/php-hexagonal/agents/openspec-author.md +170 -0
- package/presets/opencode/php-hexagonal/agents/performance-auditor.md +34 -0
- package/presets/opencode/php-hexagonal/agents/qa-tester.md +30 -0
- package/presets/opencode/php-hexagonal/agents/security-reviewer.md +26 -0
- package/presets/opencode/php-hexagonal/agents/solution-architect.md +40 -0
- package/presets/opencode/php-hexagonal/agents/task-analyst.md +83 -0
- package/presets/opencode/php-hexagonal/agents/task-router.md +145 -0
- package/presets/opencode/php-hexagonal/agents/tech-writer.md +30 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-generator.md +23 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-healer.md +15 -0
- package/presets/opencode/php-hexagonal/agents/unit-test-planner.md +32 -0
- package/presets/opencode/php-hexagonal/ai-local/conventions.md +21 -0
- package/presets/opencode/php-hexagonal/commands/README.md +52 -0
- package/presets/opencode/php-hexagonal/commands/spec-start.md +32 -0
- package/presets/opencode/php-hexagonal/commands/task-continue.md +56 -0
- package/presets/opencode/php-hexagonal/commands/task.md +55 -0
- package/presets/opencode/php-hexagonal/commands/technical-retro.md +88 -0
- package/presets/opencode/php-hexagonal/hooks/README.md +22 -0
- package/presets/opencode/php-hexagonal/hooks/chain-team-phases.sh +875 -0
- package/presets/opencode/php-hexagonal/opencode.json +13 -0
- package/presets/opencode/php-hexagonal/rules/README.md +20 -0
- package/presets/opencode/php-hexagonal/rules/adapters-driven.md +30 -0
- package/presets/opencode/php-hexagonal/rules/adapters-driving.md +30 -0
- package/presets/opencode/php-hexagonal/rules/agent-team-intake.md +15 -0
- package/presets/opencode/php-hexagonal/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/php-hexagonal/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/php-hexagonal/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/php-hexagonal/rules/api-grpc.md +22 -0
- package/presets/opencode/php-hexagonal/rules/api-http.md +28 -0
- package/presets/opencode/php-hexagonal/rules/application-usecases.md +25 -0
- package/presets/opencode/php-hexagonal/rules/architecture-boundaries.md +31 -0
- package/presets/opencode/php-hexagonal/rules/code-quality-and-refactoring.md +55 -0
- package/presets/opencode/php-hexagonal/rules/code-review-mr.md +49 -0
- package/presets/opencode/php-hexagonal/rules/composition-root.md +27 -0
- package/presets/opencode/php-hexagonal/rules/design-guidance.md +105 -0
- package/presets/opencode/php-hexagonal/rules/domain-layer.md +31 -0
- package/presets/opencode/php-hexagonal/rules/feature-delivery-workflow.md +49 -0
- package/presets/opencode/php-hexagonal/rules/mcp-usage.md +92 -0
- package/presets/opencode/php-hexagonal/rules/messaging-adapters.md +29 -0
- package/presets/opencode/php-hexagonal/rules/module-public-api.md +24 -0
- package/presets/opencode/php-hexagonal/rules/persistence-adapters.md +25 -0
- package/presets/opencode/php-hexagonal/rules/php-app-core.md +32 -0
- package/presets/opencode/php-hexagonal/rules/php-conventions.md +46 -0
- package/presets/opencode/php-hexagonal/rules/php-tooling.md +26 -0
- package/presets/opencode/php-hexagonal/rules/ports-interfaces.md +27 -0
- package/presets/opencode/php-hexagonal/rules/post-change-test.md +20 -0
- package/presets/opencode/php-hexagonal/rules/preset-layering.md +27 -0
- package/presets/opencode/php-hexagonal/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/php-hexagonal/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/php-hexagonal/rules/preset-token-budget.md +39 -0
- package/presets/opencode/php-hexagonal/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/php-hexagonal/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/php-hexagonal/rules/product-specs.md +62 -0
- package/presets/opencode/php-hexagonal/rules/reference-features.md +45 -0
- package/presets/opencode/php-hexagonal/rules/security-php.md +21 -0
- package/presets/opencode/php-hexagonal/rules/technical-retro.md +11 -0
- package/presets/opencode/php-hexagonal/rules/tests-e2e.md +26 -0
- package/presets/opencode/php-hexagonal/rules/tests-integration.md +23 -0
- package/presets/opencode/php-hexagonal/rules/tests-unit.md +25 -0
- package/presets/opencode/php-hexagonal/skills/README.md +5 -0
- package/presets/opencode/php-hexagonal/skills/ci-investigation/SKILL.md +18 -0
- package/presets/opencode/php-hexagonal/skills/code-review/SKILL.md +32 -0
- package/presets/opencode/php-hexagonal/skills/debug-investigation/SKILL.md +51 -0
- package/presets/opencode/php-hexagonal/skills/feature-delivery/SKILL.md +37 -0
- package/presets/opencode/php-hexagonal/skills/integration-testing/SKILL.md +15 -0
- package/presets/opencode/php-hexagonal/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/php-hexagonal/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/php-hexagonal/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/php-hexagonal/skills/unit-testing/SKILL.md +14 -0
- package/presets/opencode/php-hexagonal/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/php-hexagonal/team/README.md +77 -0
- package/presets/opencode/php-hexagonal/team/fixtures/bugfix-standard.json +37 -0
- package/presets/opencode/php-hexagonal/team/fixtures/feature-full.json +61 -0
- package/presets/opencode/php-hexagonal/team/fixtures/feature-light.json +17 -0
- package/presets/opencode/php-hexagonal/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/php-laravel/MCP.md +26 -0
- package/presets/opencode/php-laravel/OPENCODE.md +53 -0
- package/presets/opencode/php-laravel/README.md +17 -0
- package/presets/opencode/php-laravel/REPO_AGENTS.md +74 -0
- package/presets/opencode/php-laravel/adapter-map.json +755 -0
- package/presets/opencode/php-laravel/agents/README.md +49 -0
- package/presets/opencode/php-laravel/agents/api-contract-reviewer.md +29 -0
- package/presets/opencode/php-laravel/agents/build-verifier.md +76 -0
- package/presets/opencode/php-laravel/agents/ci-investigator.md +32 -0
- package/presets/opencode/php-laravel/agents/code-reviewer.md +60 -0
- package/presets/opencode/php-laravel/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/php-laravel/agents/debugger.md +50 -0
- package/presets/opencode/php-laravel/agents/feature-developer.md +98 -0
- package/presets/opencode/php-laravel/agents/integration-test-generator.md +24 -0
- package/presets/opencode/php-laravel/agents/integration-test-healer.md +24 -0
- package/presets/opencode/php-laravel/agents/integration-test-planner.md +28 -0
- package/presets/opencode/php-laravel/agents/migration-specialist.md +43 -0
- package/presets/opencode/php-laravel/agents/openspec-author.md +170 -0
- package/presets/opencode/php-laravel/agents/performance-auditor.md +34 -0
- package/presets/opencode/php-laravel/agents/qa-tester.md +36 -0
- package/presets/opencode/php-laravel/agents/security-reviewer.md +38 -0
- package/presets/opencode/php-laravel/agents/solution-architect.md +41 -0
- package/presets/opencode/php-laravel/agents/task-analyst.md +83 -0
- package/presets/opencode/php-laravel/agents/task-router.md +161 -0
- package/presets/opencode/php-laravel/agents/tech-writer.md +30 -0
- package/presets/opencode/php-laravel/agents/unit-test-generator.md +23 -0
- package/presets/opencode/php-laravel/agents/unit-test-healer.md +15 -0
- package/presets/opencode/php-laravel/agents/unit-test-planner.md +32 -0
- package/presets/opencode/php-laravel/ai-local/conventions.md +21 -0
- package/presets/opencode/php-laravel/commands/README.md +52 -0
- package/presets/opencode/php-laravel/commands/spec-start.md +32 -0
- package/presets/opencode/php-laravel/commands/task-continue.md +56 -0
- package/presets/opencode/php-laravel/commands/task.md +55 -0
- package/presets/opencode/php-laravel/commands/technical-retro.md +88 -0
- package/presets/opencode/php-laravel/hooks/README.md +22 -0
- package/presets/opencode/php-laravel/hooks/chain-team-phases.sh +875 -0
- package/presets/opencode/php-laravel/opencode.json +13 -0
- package/presets/opencode/php-laravel/rules/README.md +20 -0
- package/presets/opencode/php-laravel/rules/actions-services.md +25 -0
- package/presets/opencode/php-laravel/rules/agent-team-intake.md +15 -0
- package/presets/opencode/php-laravel/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/php-laravel/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/php-laravel/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/php-laravel/rules/architecture-boundaries.md +32 -0
- package/presets/opencode/php-laravel/rules/code-quality-and-refactoring.md +55 -0
- package/presets/opencode/php-laravel/rules/code-review-mr.md +50 -0
- package/presets/opencode/php-laravel/rules/design-guidance.md +105 -0
- package/presets/opencode/php-laravel/rules/domain-layer.md +19 -0
- package/presets/opencode/php-laravel/rules/eloquent-persistence.md +24 -0
- package/presets/opencode/php-laravel/rules/events-listeners.md +24 -0
- package/presets/opencode/php-laravel/rules/feature-delivery-workflow.md +49 -0
- package/presets/opencode/php-laravel/rules/form-requests.md +24 -0
- package/presets/opencode/php-laravel/rules/http-layer.md +25 -0
- package/presets/opencode/php-laravel/rules/jobs-queues.md +36 -0
- package/presets/opencode/php-laravel/rules/laravel-app-core.md +30 -0
- package/presets/opencode/php-laravel/rules/laravel-conventions.md +34 -0
- package/presets/opencode/php-laravel/rules/mcp-usage.md +92 -0
- package/presets/opencode/php-laravel/rules/module-public-api.md +23 -0
- package/presets/opencode/php-laravel/rules/php-tooling.md +26 -0
- package/presets/opencode/php-laravel/rules/policies-authorization.md +24 -0
- package/presets/opencode/php-laravel/rules/post-change-test.md +20 -0
- package/presets/opencode/php-laravel/rules/preset-layering.md +27 -0
- package/presets/opencode/php-laravel/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/php-laravel/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/php-laravel/rules/preset-token-budget.md +39 -0
- package/presets/opencode/php-laravel/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/php-laravel/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/php-laravel/rules/product-specs.md +62 -0
- package/presets/opencode/php-laravel/rules/reference-features.md +45 -0
- package/presets/opencode/php-laravel/rules/routes-api.md +24 -0
- package/presets/opencode/php-laravel/rules/security-php.md +47 -0
- package/presets/opencode/php-laravel/rules/service-providers.md +23 -0
- package/presets/opencode/php-laravel/rules/technical-retro.md +11 -0
- package/presets/opencode/php-laravel/rules/tests-e2e.md +26 -0
- package/presets/opencode/php-laravel/rules/tests-integration.md +23 -0
- package/presets/opencode/php-laravel/rules/tests-unit.md +24 -0
- package/presets/opencode/php-laravel/skills/README.md +5 -0
- package/presets/opencode/php-laravel/skills/ci-investigation/SKILL.md +18 -0
- package/presets/opencode/php-laravel/skills/code-review/SKILL.md +32 -0
- package/presets/opencode/php-laravel/skills/debug-investigation/SKILL.md +51 -0
- package/presets/opencode/php-laravel/skills/feature-delivery/SKILL.md +37 -0
- package/presets/opencode/php-laravel/skills/integration-testing/SKILL.md +15 -0
- package/presets/opencode/php-laravel/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/php-laravel/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/php-laravel/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/php-laravel/skills/unit-testing/SKILL.md +14 -0
- package/presets/opencode/php-laravel/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/php-laravel/team/README.md +77 -0
- package/presets/opencode/php-laravel/team/fixtures/bugfix-standard.json +12 -0
- package/presets/opencode/php-laravel/team/fixtures/feature-full.json +44 -0
- package/presets/opencode/php-laravel/team/fixtures/feature-light.json +8 -0
- package/presets/opencode/php-laravel/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/platform-contract.json +13 -6
- package/presets/opencode/svelte/MCP.md +36 -0
- package/presets/opencode/svelte/OPENCODE.md +65 -0
- package/presets/opencode/svelte/README.md +17 -0
- package/presets/opencode/svelte/REPO_AGENTS.md +75 -0
- package/presets/opencode/svelte/adapter-map.json +959 -0
- package/presets/opencode/svelte/agents/README.md +99 -0
- package/presets/opencode/svelte/agents/accessibility-reviewer.md +73 -0
- package/presets/opencode/svelte/agents/api-contract-reviewer.md +69 -0
- package/presets/opencode/svelte/agents/build-verifier.md +112 -0
- package/presets/opencode/svelte/agents/ci-investigator.md +71 -0
- package/presets/opencode/svelte/agents/code-reviewer.md +74 -0
- package/presets/opencode/svelte/agents/codebase-analyzer.md +33 -0
- package/presets/opencode/svelte/agents/debugger.md +88 -0
- package/presets/opencode/svelte/agents/feature-developer.md +109 -0
- package/presets/opencode/svelte/agents/migration-specialist.md +79 -0
- package/presets/opencode/svelte/agents/mockup-reviewer.md +65 -0
- package/presets/opencode/svelte/agents/openspec-author.md +170 -0
- package/presets/opencode/svelte/agents/performance-auditor.md +80 -0
- package/presets/opencode/svelte/agents/playwright-test-generator.md +36 -0
- package/presets/opencode/svelte/agents/playwright-test-healer.md +36 -0
- package/presets/opencode/svelte/agents/playwright-test-planner.md +33 -0
- package/presets/opencode/svelte/agents/qa-tester.md +60 -0
- package/presets/opencode/svelte/agents/security-reviewer.md +66 -0
- package/presets/opencode/svelte/agents/solution-architect.md +80 -0
- package/presets/opencode/svelte/agents/task-analyst.md +178 -0
- package/presets/opencode/svelte/agents/task-router.md +190 -0
- package/presets/opencode/svelte/agents/tech-writer.md +70 -0
- package/presets/opencode/svelte/agents/unit-test-generator.md +39 -0
- package/presets/opencode/svelte/agents/unit-test-healer.md +40 -0
- package/presets/opencode/svelte/agents/unit-test-planner.md +66 -0
- package/presets/opencode/svelte/ai-local/conventions.md +21 -0
- package/presets/opencode/svelte/commands/README.md +49 -0
- package/presets/opencode/svelte/commands/spec-start.md +32 -0
- package/presets/opencode/svelte/commands/task-continue.md +58 -0
- package/presets/opencode/svelte/commands/task.md +57 -0
- package/presets/opencode/svelte/commands/technical-retro.md +88 -0
- package/presets/opencode/svelte/hooks/README.md +22 -0
- package/presets/opencode/svelte/hooks/chain-team-phases.sh +903 -0
- package/presets/opencode/svelte/opencode.json +33 -0
- package/presets/opencode/svelte/rules/README.md +20 -0
- package/presets/opencode/svelte/rules/agent-team-intake.md +11 -0
- package/presets/opencode/svelte/rules/agent-team-orchestrator.md +214 -0
- package/presets/opencode/svelte/rules/ai-local-overlay.md +37 -0
- package/presets/opencode/svelte/rules/anti-sycophancy-discipline.md +23 -0
- package/presets/opencode/svelte/rules/api-services.md +39 -0
- package/presets/opencode/svelte/rules/architecture-boundaries-ui.md +9 -0
- package/presets/opencode/svelte/rules/architecture-boundaries.md +54 -0
- package/presets/opencode/svelte/rules/code-quality-and-refactoring.md +53 -0
- package/presets/opencode/svelte/rules/code-review-mr.md +53 -0
- package/presets/opencode/svelte/rules/css-property-order-stylelint.md +6 -0
- package/presets/opencode/svelte/rules/design-guidance.md +104 -0
- package/presets/opencode/svelte/rules/feature-delivery-workflow.md +103 -0
- package/presets/opencode/svelte/rules/http-client.md +10 -0
- package/presets/opencode/svelte/rules/layer-barrel-exports.md +67 -0
- package/presets/opencode/svelte/rules/mcp-usage.md +95 -0
- package/presets/opencode/svelte/rules/mockup-review.md +111 -0
- package/presets/opencode/svelte/rules/navigation-router-stack.md +34 -0
- package/presets/opencode/svelte/rules/navigation-router-ui.md +19 -0
- package/presets/opencode/svelte/rules/no-rest-props-spread.md +26 -0
- package/presets/opencode/svelte/rules/no-type-assertion-as-import-export.md +51 -0
- package/presets/opencode/svelte/rules/package-manager.md +13 -0
- package/presets/opencode/svelte/rules/playwright-agents.md +74 -0
- package/presets/opencode/svelte/rules/post-change-lint.md +37 -0
- package/presets/opencode/svelte/rules/preset-layering.md +27 -0
- package/presets/opencode/svelte/rules/preset-no-cross-stack-leakage.md +90 -0
- package/presets/opencode/svelte/rules/preset-pr-checklist.md +36 -0
- package/presets/opencode/svelte/rules/preset-token-budget.md +39 -0
- package/presets/opencode/svelte/rules/preset-twin-sync.md +99 -0
- package/presets/opencode/svelte/rules/product-specs-authoring.md +118 -0
- package/presets/opencode/svelte/rules/product-specs.md +61 -0
- package/presets/opencode/svelte/rules/public-imports.md +32 -0
- package/presets/opencode/svelte/rules/reference-features.md +82 -0
- package/presets/opencode/svelte/rules/security-sveltekit.md +32 -0
- package/presets/opencode/svelte/rules/store-svelte.md +59 -0
- package/presets/opencode/svelte/rules/svelte-a11y-coding.md +21 -0
- package/presets/opencode/svelte/rules/svelte-app-core.md +40 -0
- package/presets/opencode/svelte/rules/svelte-script-conventions.md +27 -0
- package/presets/opencode/svelte/rules/svelte-sveltekit-anti-hallucination.md +63 -0
- package/presets/opencode/svelte/rules/svelte-ui.md +38 -0
- package/presets/opencode/svelte/rules/sveltekit-routing.md +33 -0
- package/presets/opencode/svelte/rules/technical-retro.md +11 -0
- package/presets/opencode/svelte/rules/tests-e2e-structure.md +88 -0
- package/presets/opencode/svelte/rules/tests-unit.md +83 -0
- package/presets/opencode/svelte/rules/types-jsdoc.md +36 -0
- package/presets/opencode/svelte/rules/ux-design.md +103 -0
- package/presets/opencode/svelte/skills/README.md +21 -0
- package/presets/opencode/svelte/skills/ci-investigation/SKILL.md +44 -0
- package/presets/opencode/svelte/skills/code-review/SKILL.md +44 -0
- package/presets/opencode/svelte/skills/debug-investigation/SKILL.md +61 -0
- package/presets/opencode/svelte/skills/feature-delivery/SKILL.md +46 -0
- package/presets/opencode/svelte/skills/mockup-review/SKILL.md +29 -0
- package/presets/opencode/svelte/skills/playwright-e2e/SKILL.md +37 -0
- package/presets/opencode/svelte/skills/spec-authoring/SKILL.md +26 -0
- package/presets/opencode/svelte/skills/spec-discovery/SKILL.md +58 -0
- package/presets/opencode/svelte/skills/svelte-performance/SKILL.md +52 -0
- package/presets/opencode/svelte/skills/technical-retro/SKILL.md +54 -0
- package/presets/opencode/svelte/skills/unit-testing/SKILL.md +32 -0
- package/presets/opencode/svelte/skills/ux-design/SKILL.md +36 -0
- package/presets/opencode/svelte/skills/write-adr/SKILL.md +41 -0
- package/presets/opencode/svelte/team/README.md +77 -0
- package/presets/opencode/svelte/team/fixtures/artifact-manifest.example.json +79 -0
- package/presets/opencode/svelte/team/fixtures/bugfix-standard.json +25 -0
- package/presets/opencode/svelte/team/fixtures/feature-full.json +62 -0
- package/presets/opencode/svelte/team/fixtures/feature-light.json +27 -0
- package/presets/opencode/svelte/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/opencode/svelte/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/opencode/svelte/team/fixtures/memlog.example.md +9 -0
- package/presets/opencode/svelte/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
- package/presets/opencode/svelte/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
- package/presets/opencode/svelte/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
- package/presets/opencode/svelte/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
- package/presets/opencode/svelte/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
- package/presets/opencode/svelte/team/fixtures/metrics.example.json +54 -0
- package/presets/opencode/svelte/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/opencode/svelte/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/opencode/svelte/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/opencode/svelte/team/tasks/.gitkeep +0 -0
- package/scripts/aggregate-agent-task-metrics.mjs +4 -4
- package/scripts/capture-cli-golden.mjs +8 -5
- package/scripts/check-chain-hook-coverage.sh +15 -2
- package/scripts/check-frontmatter.mjs +83 -0
- package/scripts/check-generated-drift.mjs +106 -0
- package/scripts/check-local-overlay.sh +72 -0
- package/scripts/check-mavis-adapter-map.mjs +19 -7
- package/scripts/check-mavis-platform-contract.mjs +0 -1
- package/scripts/check-mavis-token-budget.mjs +1 -1
- package/scripts/check-opencode-adapter-map.mjs +19 -7
- package/scripts/check-opencode-platform-contract.mjs +0 -1
- package/scripts/check-opencode-token-budget.mjs +1 -1
- package/scripts/check-preset-leakage.sh +31 -0
- package/scripts/check-preset-structure.sh +27 -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 +20 -9
- package/scripts/fixtures/cli-golden/claude/next.json +79 -73
- package/scripts/fixtures/cli-golden/cursor/next.json +75 -75
- package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +107 -0
- package/scripts/fixtures/cli-golden/mavis/go.json +100 -0
- package/scripts/fixtures/cli-golden/mavis/ios-swift.json +106 -0
- package/scripts/fixtures/cli-golden/mavis/java.json +100 -0
- package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +71 -0
- package/scripts/fixtures/cli-golden/mavis/next.json +81 -81
- package/scripts/fixtures/cli-golden/mavis/nuxt.json +125 -0
- package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +100 -0
- package/scripts/fixtures/cli-golden/mavis/php-laravel.json +100 -0
- package/scripts/fixtures/cli-golden/mavis/svelte.json +125 -0
- package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +107 -0
- package/scripts/fixtures/cli-golden/opencode/go.json +100 -0
- package/scripts/fixtures/cli-golden/opencode/ios-swift.json +106 -0
- package/scripts/fixtures/cli-golden/opencode/java.json +100 -0
- package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +71 -0
- package/scripts/fixtures/cli-golden/opencode/next.json +88 -88
- package/scripts/fixtures/cli-golden/opencode/nuxt.json +125 -0
- package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +100 -0
- package/scripts/fixtures/cli-golden/opencode/php-laravel.json +100 -0
- package/scripts/fixtures/cli-golden/opencode/svelte.json +125 -0
- package/scripts/fixtures/mavis-platform-contract/invalid-minimax-destination.json +1 -1
- package/scripts/fixtures/mavis-platform-contract/invalid-missing-capability.json +1 -1
- package/scripts/fixtures/mavis-platform-contract/invalid-released-unknown-stack.json +1 -1
- package/scripts/fixtures/mavis-platform-contract/invalid-unknown-native-path.json +1 -1
- package/scripts/fixtures/mavis-platform-contract/invalid-version-pin.json +1 -1
- package/scripts/fixtures/mavis-platform-contract/valid.json +1 -5
- package/scripts/fixtures/opencode-platform-contract/invalid-home-destination.json +2 -2
- package/scripts/fixtures/opencode-platform-contract/invalid-missing-capability.json +2 -2
- package/scripts/fixtures/opencode-platform-contract/invalid-released-unknown-stack.json +2 -2
- package/scripts/fixtures/opencode-platform-contract/invalid-unknown-native-path.json +2 -2
- package/scripts/fixtures/opencode-platform-contract/invalid-version-pin.json +2 -2
- package/scripts/fixtures/opencode-platform-contract/valid.json +1 -5
- package/scripts/generate-mavis.mjs +14 -0
- package/scripts/generate-opencode.mjs +14 -0
- package/scripts/lib/generate-adapter-common.mjs +404 -0
- package/scripts/lib/generate-mavis-adapter.mjs +499 -0
- package/scripts/lib/generate-opencode-adapter.mjs +592 -0
- package/scripts/lib/stack-platform-profiles.mjs +148 -0
- package/scripts/sync-dogfood-cursor.sh +6 -26
- package/scripts/sync-dogfood-mavis.sh +10 -31
- package/scripts/sync-dogfood-opencode.sh +6 -24
- package/scripts/test-agent-task-metrics-hooks.mjs +65 -9
- package/scripts/test-chain-team-phases-coverage.mjs +182 -7
- package/scripts/test-cli-init-clean.mjs +398 -38
- package/scripts/test-mavis-context-budget.mjs +6 -11
- package/scripts/test-mavis-orchestration.mjs +2 -2
- package/scripts/test-opencode-context-budget.mjs +6 -10
- package/presets/claude/nuxt/team/conventions.md +0 -21
- package/presets/claude/php-hexagonal/team/conventions.md +0 -21
- package/presets/claude/php-laravel/team/conventions.md +0 -21
- package/presets/claude/svelte/team/conventions.md +0 -21
- package/presets/cursor/go/team/conventions.md +0 -21
- package/presets/cursor/ios-swift/team/conventions.md +0 -21
- package/presets/cursor/java/team/conventions.md +0 -21
- package/presets/cursor/next/team/conventions.md +0 -21
- package/presets/cursor/nuxt/team/conventions.md +0 -21
- package/presets/cursor/php-hexagonal/team/conventions.md +0 -21
- package/presets/cursor/php-laravel/team/conventions.md +0 -21
- package/presets/cursor/svelte/team/conventions.md +0 -21
- package/presets/mavis/next/team/conventions.md +0 -21
- package/presets/opencode/next/team/conventions.md +0 -21
- package/scripts/generate-mavis-next.mjs +0 -607
- package/scripts/generate-opencode-next.mjs +0 -730
package/bin/cli.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @bonesofspring/ai-rules CLI
|
|
4
4
|
*/
|
|
5
|
+
const crypto = require('crypto');
|
|
5
6
|
const fs = require('fs');
|
|
6
7
|
const path = require('path');
|
|
7
8
|
const { cmdInitMavis, cmdCleanMavis } = require('./mavis-install');
|
|
8
9
|
const { cmdInitOpencode, cmdCleanOpencode } = require('./opencode-install');
|
|
10
|
+
const { seedAiLocalTeam } = require('./lib/seed-ai-local-team');
|
|
11
|
+
const { assertSafeDest, resolveManagedPath } = require('./lib/safe-path');
|
|
9
12
|
|
|
10
13
|
/** Single path segment: letters, digits, dot, underscore, hyphen; no separators or "..". */
|
|
11
14
|
const PRESET_NAME_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
|
|
@@ -20,7 +23,7 @@ const PRESETS = {
|
|
|
20
23
|
rulesDir: '.cursor/rules',
|
|
21
24
|
commandsDir: '.cursor/commands',
|
|
22
25
|
relBase: ['presets', 'cursor'],
|
|
23
|
-
optionalCursorDirs: ['agents', 'hooks', 'skills'
|
|
26
|
+
optionalCursorDirs: ['agents', 'hooks', 'skills'],
|
|
24
27
|
hooksJsonSrc: 'hooks.json',
|
|
25
28
|
/** Project MCP → `.cursor/mcp.json` */
|
|
26
29
|
mcpJsonSrc: 'mcp.json',
|
|
@@ -33,7 +36,7 @@ const PRESETS = {
|
|
|
33
36
|
rulesDir: '.claude/rules',
|
|
34
37
|
commandsDir: '.claude/commands',
|
|
35
38
|
relBase: ['presets', 'claude'],
|
|
36
|
-
optionalClaudeDirs: ['skills', 'agents', 'hooks'
|
|
39
|
+
optionalClaudeDirs: ['skills', 'agents', 'hooks'],
|
|
37
40
|
claudeMdSrc: 'CLAUDE.md',
|
|
38
41
|
/** Project MCP lives at repo root (Claude Code project scope), not under `.claude/`. */
|
|
39
42
|
mcpJsonSrc: 'mcp.json',
|
|
@@ -69,8 +72,16 @@ Notes:
|
|
|
69
72
|
(mcpServers is merged: extra local servers are kept; shipped keys update; nested env/headers
|
|
70
73
|
on shipped keys are preserved unless the preset defines them. Invalid / non-object JSON is
|
|
71
74
|
copied to a timestamped *.bak.* then replaced with the preset file. JSONC is not supported).
|
|
72
|
-
Cursor init copies rules, commands, agents, hooks, skills,
|
|
73
|
-
Claude init copies rules, commands, skills, agents, hooks,
|
|
75
|
+
Cursor init copies rules, commands, agents, hooks, skills, hooks.json, BUGBOT.md, AGENTS.md → .cursor/AGENTS.md, MCP.md, mcp.json → .cursor/mcp.json.
|
|
76
|
+
Claude init copies rules, commands, skills, agents, hooks, CLAUDE.md, MCP.md, and mcp.json → .mcp.json (project root).
|
|
77
|
+
All init targets seed .ai.local/team/ (shared pipeline artifacts; never overwritten task slugs; not removed by clean)
|
|
78
|
+
and .ai.local/conventions.md (living gotchas; seeded from the preset template only when absent, never overwritten).
|
|
79
|
+
Because .ai.local/team/ is shared, ANY init consolidates every legacy .cursor|.claude|.mavis|.opencode/team/ into it,
|
|
80
|
+
not just the tool being installed. Consolidation is non-destructive: every non-README.md entry is migrated and copied
|
|
81
|
+
to a timestamped .ai.local/.rollback/legacy-team-<stamp>/ backup before it is removed, colliding task slugs are kept
|
|
82
|
+
side by side as <slug>__from-<tool>/, and symlinked legacy team dirs are skipped with a warning rather than followed.
|
|
83
|
+
The .rollback/ directory carries its own .gitignore so backups cannot be committed by accident; delete it once the
|
|
84
|
+
migration looks right. Your root .gitignore is never modified.
|
|
74
85
|
Mavis init copies into .mavis/ (ai-rules-owned) plus REPO_AGENTS.md → <cwd>/AGENTS.md; MCP merges into .mavis/mcp.json only (never ~/.minimax/**).
|
|
75
86
|
OpenCode init copies into .opencode/ plus REPO_AGENTS.md → <cwd>/AGENTS.md; MCP merges into <cwd>/opencode.json (never ~/.config/opencode/**).
|
|
76
87
|
All init targets also copy REPO_AGENTS.md → <cwd>/AGENTS.md (repo-root cross-tool agents file; overwrite; all next platforms ship the same file).
|
|
@@ -102,8 +113,11 @@ Examples:
|
|
|
102
113
|
npx @bonesofspring/ai-rules init claude --preset php-hexagonal
|
|
103
114
|
npx @bonesofspring/ai-rules init claude --preset php-laravel
|
|
104
115
|
npx @bonesofspring/ai-rules init mavis --preset next
|
|
116
|
+
npx @bonesofspring/ai-rules init mavis --preset nuxt
|
|
105
117
|
npx @bonesofspring/ai-rules init opencode --preset next
|
|
118
|
+
npx @bonesofspring/ai-rules init opencode --preset go
|
|
106
119
|
npx @bonesofspring/ai-rules init multi --preset next
|
|
120
|
+
npx @bonesofspring/ai-rules init multi --preset svelte
|
|
107
121
|
npx @bonesofspring/ai-rules clean mavis
|
|
108
122
|
npx @bonesofspring/ai-rules clean opencode
|
|
109
123
|
npx @bonesofspring/ai-rules clean cursor
|
|
@@ -135,7 +149,7 @@ function parseArgs(argv) {
|
|
|
135
149
|
}
|
|
136
150
|
if (a === '--preset') {
|
|
137
151
|
const value = argv[i + 1];
|
|
138
|
-
if (value === undefined || value.startsWith('-')) {
|
|
152
|
+
if (value === undefined || value === '' || value.startsWith('-')) {
|
|
139
153
|
args.presetError =
|
|
140
154
|
'Missing value for --preset (use --preset <name> or --preset=<name>)';
|
|
141
155
|
continue;
|
|
@@ -157,6 +171,10 @@ function parseArgs(argv) {
|
|
|
157
171
|
args.help = true;
|
|
158
172
|
continue;
|
|
159
173
|
}
|
|
174
|
+
if (a.startsWith('-') && a !== '-') {
|
|
175
|
+
args.unknownOption = a;
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
160
178
|
args._.push(a);
|
|
161
179
|
}
|
|
162
180
|
return args;
|
|
@@ -190,6 +208,9 @@ function normalizeInitClean(parsed) {
|
|
|
190
208
|
}
|
|
191
209
|
}
|
|
192
210
|
|
|
211
|
+
if (command === 'init' && parsed.preset === undefined && positional[2] === '') {
|
|
212
|
+
parsed.presetError = 'Missing value for --preset (use --preset <name> or --preset=<name>)';
|
|
213
|
+
}
|
|
193
214
|
const preset = parsed.preset || presetFromPositional;
|
|
194
215
|
return { command, tool, preset };
|
|
195
216
|
}
|
|
@@ -228,6 +249,14 @@ function ownKeys(object) {
|
|
|
228
249
|
return Object.keys(object).filter((key) => Object.hasOwn(object, key));
|
|
229
250
|
}
|
|
230
251
|
|
|
252
|
+
/** Write via a temp file + rename so an interrupted write cannot corrupt the destination. */
|
|
253
|
+
function writeFileAtomic(destAbs, content) {
|
|
254
|
+
fs.mkdirSync(path.dirname(destAbs), { recursive: true });
|
|
255
|
+
const tmp = `${destAbs}.ai-rules-tmp`;
|
|
256
|
+
fs.writeFileSync(tmp, content);
|
|
257
|
+
fs.renameSync(tmp, destAbs);
|
|
258
|
+
}
|
|
259
|
+
|
|
231
260
|
function backupMcpFile(mcpDestAbs) {
|
|
232
261
|
const stamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
233
262
|
const bak = `${mcpDestAbs}.bak.${stamp}`;
|
|
@@ -237,7 +266,9 @@ function backupMcpFile(mcpDestAbs) {
|
|
|
237
266
|
|
|
238
267
|
function replaceMcpWithPreset(mcpFrom, mcpDestAbs, reason) {
|
|
239
268
|
const bak = backupMcpFile(mcpDestAbs);
|
|
240
|
-
|
|
269
|
+
const tmp = `${mcpDestAbs}.ai-rules-tmp`;
|
|
270
|
+
fs.copyFileSync(mcpFrom, tmp);
|
|
271
|
+
fs.renameSync(tmp, mcpDestAbs);
|
|
241
272
|
console.warn(`${reason}; backed up to ${bak} and replaced with the preset file.`);
|
|
242
273
|
}
|
|
243
274
|
|
|
@@ -315,8 +346,7 @@ function installMcpJson(mcpFrom, mcpDestAbs, destLabel) {
|
|
|
315
346
|
`Existing ${destLabel} mcpServers was not a JSON object; backed up to ${bak} and merging as empty extras.`,
|
|
316
347
|
);
|
|
317
348
|
}
|
|
318
|
-
|
|
319
|
-
fs.writeFileSync(mcpDestAbs, `${JSON.stringify(merged, null, 2)}\n`);
|
|
349
|
+
writeFileAtomic(mcpDestAbs, `${JSON.stringify(merged, null, 2)}\n`);
|
|
320
350
|
if (extrasKept.length > 0) {
|
|
321
351
|
console.log(
|
|
322
352
|
`Merged ${path.basename(mcpFrom)} → ${destLabel} (kept extra servers: ${extrasKept.join(', ')})`,
|
|
@@ -356,6 +386,7 @@ function seedDocsSpecsIfAbsent(packageRoot, cwd) {
|
|
|
356
386
|
console.log('Skipped docs/specs seed (directory already exists)');
|
|
357
387
|
return false;
|
|
358
388
|
}
|
|
389
|
+
assertSafeDest(cwd, destRoot, 'docs/specs');
|
|
359
390
|
const assetsRoot = path.join(
|
|
360
391
|
packageRoot,
|
|
361
392
|
'presets',
|
|
@@ -384,15 +415,90 @@ function getOptionalDirs(cfg) {
|
|
|
384
415
|
return cfg.optionalCursorDirs || cfg.optionalClaudeDirs || [];
|
|
385
416
|
}
|
|
386
417
|
|
|
387
|
-
function
|
|
388
|
-
|
|
389
|
-
|
|
418
|
+
function sha256File(filePath) {
|
|
419
|
+
return crypto.createHash('sha256').update(fs.readFileSync(filePath)).digest('hex');
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/** Relative (forward-slash) file paths under a directory, sorted. */
|
|
423
|
+
function walkFilesUnder(root) {
|
|
424
|
+
const out = [];
|
|
425
|
+
const visit = (dir) => {
|
|
426
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
427
|
+
const full = path.join(dir, entry.name);
|
|
428
|
+
if (entry.isDirectory()) {
|
|
429
|
+
visit(full);
|
|
430
|
+
} else if (entry.isFile()) {
|
|
431
|
+
out.push(path.relative(root, full).split(path.sep).join('/'));
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
if (fs.existsSync(root)) {
|
|
436
|
+
visit(root);
|
|
437
|
+
}
|
|
438
|
+
return out.sort();
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
function getPackageVersion(packageRoot) {
|
|
442
|
+
try {
|
|
443
|
+
return JSON.parse(fs.readFileSync(path.join(packageRoot, 'package.json'), 'utf8')).version;
|
|
444
|
+
} catch {
|
|
445
|
+
return '0.0.0';
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/** Remove empty directories bottom-up without ever traversing a symlink. */
|
|
450
|
+
function removeEmptyDirsSafe(dir) {
|
|
451
|
+
if (!dir || !fs.existsSync(dir)) {
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
let stat;
|
|
455
|
+
try {
|
|
456
|
+
stat = fs.lstatSync(dir);
|
|
457
|
+
} catch {
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
if (stat.isSymbolicLink() || !stat.isDirectory()) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
for (const name of fs.readdirSync(dir)) {
|
|
464
|
+
removeEmptyDirsSafe(path.join(dir, name));
|
|
465
|
+
}
|
|
466
|
+
if (fs.readdirSync(dir).length === 0) {
|
|
467
|
+
fs.rmdirSync(dir);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/** Remove only the preset-shipped keys from an MCP config, keeping consumer extras. */
|
|
472
|
+
function stripShippedMcpKeys(mcpAbs, shippedIds, rootKey) {
|
|
473
|
+
if (!fs.existsSync(mcpAbs) || shippedIds.length === 0) {
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
let parsed;
|
|
477
|
+
try {
|
|
478
|
+
parsed = JSON.parse(fs.readFileSync(mcpAbs, 'utf8'));
|
|
479
|
+
} catch {
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
if (!isPlainObject(parsed) || !isPlainObject(parsed[rootKey])) {
|
|
483
|
+
return;
|
|
390
484
|
}
|
|
485
|
+
const next = { ...parsed[rootKey] };
|
|
486
|
+
for (const id of shippedIds) {
|
|
487
|
+
delete next[id];
|
|
488
|
+
}
|
|
489
|
+
writeFileAtomic(mcpAbs, `${JSON.stringify({ ...parsed, [rootKey]: next }, null, 2)}\n`);
|
|
391
490
|
}
|
|
392
491
|
|
|
393
|
-
function
|
|
394
|
-
|
|
395
|
-
|
|
492
|
+
function readInstallManifest(cwd, toolRoot) {
|
|
493
|
+
const manifestAbs = resolveManagedPath(cwd, `${toolRoot}/.ai-rules-install.json`);
|
|
494
|
+
if (!manifestAbs || !fs.existsSync(manifestAbs)) {
|
|
495
|
+
return null;
|
|
496
|
+
}
|
|
497
|
+
try {
|
|
498
|
+
const parsed = JSON.parse(fs.readFileSync(manifestAbs, 'utf8'));
|
|
499
|
+
return isPlainObject(parsed) && isPlainObject(parsed.managedFiles) ? parsed : null;
|
|
500
|
+
} catch {
|
|
501
|
+
return null;
|
|
396
502
|
}
|
|
397
503
|
}
|
|
398
504
|
|
|
@@ -568,6 +674,7 @@ function cmdInit(tool, preset, cwdOption) {
|
|
|
568
674
|
helpers: {
|
|
569
675
|
resolveTargetCwd,
|
|
570
676
|
seedDocsSpecsIfAbsent,
|
|
677
|
+
seedAiLocalTeam,
|
|
571
678
|
installMcpJson,
|
|
572
679
|
getPackageRoot,
|
|
573
680
|
},
|
|
@@ -581,6 +688,7 @@ function cmdInit(tool, preset, cwdOption) {
|
|
|
581
688
|
helpers: {
|
|
582
689
|
resolveTargetCwd,
|
|
583
690
|
seedDocsSpecsIfAbsent,
|
|
691
|
+
seedAiLocalTeam,
|
|
584
692
|
getPackageRoot,
|
|
585
693
|
},
|
|
586
694
|
});
|
|
@@ -601,19 +709,27 @@ function cmdInit(tool, preset, cwdOption) {
|
|
|
601
709
|
const toolRoot = tool === 'cursor' ? '.cursor' : '.claude';
|
|
602
710
|
const toolRootAbs = path.join(cwd, toolRoot);
|
|
603
711
|
|
|
712
|
+
// Capture existence BEFORE mkdir: rollback must only remove the tool root when
|
|
713
|
+
// this run created it, never a pre-existing consumer directory.
|
|
714
|
+
const toolRootExisted = fs.existsSync(toolRootAbs);
|
|
715
|
+
try {
|
|
716
|
+
assertSafeDest(cwd, toolRootAbs, toolRoot);
|
|
717
|
+
} catch (err) {
|
|
718
|
+
console.error(`init failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
719
|
+
process.exit(1);
|
|
720
|
+
}
|
|
604
721
|
fs.mkdirSync(toolRootAbs, { recursive: true });
|
|
605
722
|
|
|
606
723
|
let copiedSteps = 0;
|
|
607
|
-
// Track
|
|
608
|
-
//
|
|
609
|
-
|
|
724
|
+
// Track paths that did not exist before this run so we can roll them back on
|
|
725
|
+
// partial failure. Directories are tracked before the copy so a mid-copy failure
|
|
726
|
+
// still removes the (newly created) directory and its partial contents.
|
|
610
727
|
const createdPaths = new Set();
|
|
611
728
|
const docsSpecsDir = path.join(cwd, 'docs', 'specs');
|
|
612
729
|
const docsSpecsExisted = fs.existsSync(docsSpecsDir);
|
|
613
730
|
|
|
614
731
|
const trackDir = (dir) => {
|
|
615
|
-
if (!fs.existsSync(dir))
|
|
616
|
-
createdPaths.add(dir);
|
|
732
|
+
if (!fs.existsSync(dir)) createdPaths.add(dir);
|
|
617
733
|
};
|
|
618
734
|
|
|
619
735
|
try {
|
|
@@ -711,6 +827,94 @@ function cmdInit(tool, preset, cwdOption) {
|
|
|
711
827
|
}
|
|
712
828
|
copiedSteps++;
|
|
713
829
|
}
|
|
830
|
+
|
|
831
|
+
const teamSrc = path.join(base, 'team');
|
|
832
|
+
const teamDest = path.join(cwd, '.ai.local', 'team');
|
|
833
|
+
const teamExisted = fs.existsSync(teamDest);
|
|
834
|
+
const teamResult = seedAiLocalTeam({ cwd, presetTeamSrc: teamSrc });
|
|
835
|
+
if (teamResult.created && !teamExisted) {
|
|
836
|
+
createdPaths.add(teamDest);
|
|
837
|
+
}
|
|
838
|
+
if (teamResult.created || teamResult.migrated || teamResult.refreshed) {
|
|
839
|
+
copiedSteps++;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
// Write the ownership manifest so `clean` only ever deletes files this tool
|
|
843
|
+
// installed and left unchanged. Without it, clean is fail-safe (no deletions).
|
|
844
|
+
const prior = readInstallManifest(cwd, toolRoot);
|
|
845
|
+
const manifestRel = `${toolRoot}/.ai-rules-install.json`;
|
|
846
|
+
const manifestAbs = path.join(cwd, manifestRel);
|
|
847
|
+
const managedFiles = {};
|
|
848
|
+
for (const rel of walkFilesUnder(toolRootAbs)) {
|
|
849
|
+
const relFromCwd = `${toolRoot}/${rel}`;
|
|
850
|
+
if (relFromCwd === manifestRel) {
|
|
851
|
+
continue;
|
|
852
|
+
}
|
|
853
|
+
managedFiles[relFromCwd] = sha256File(path.join(toolRootAbs, rel));
|
|
854
|
+
}
|
|
855
|
+
if (cfg.mcpJsonDest) {
|
|
856
|
+
const mcpAbs = path.join(cwd, cfg.mcpJsonDest);
|
|
857
|
+
if (fs.existsSync(mcpAbs)) {
|
|
858
|
+
managedFiles[cfg.mcpJsonDest] = sha256File(mcpAbs);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
for (const destRel of Object.values(cfg.repoRootFiles || {})) {
|
|
862
|
+
const abs = path.join(cwd, destRel);
|
|
863
|
+
if (fs.existsSync(abs)) {
|
|
864
|
+
managedFiles[destRel] = sha256File(abs);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
// Prune files owned by a previous install that the preset no longer ships.
|
|
869
|
+
// Only unchanged, tool-root files are removed; shared AGENTS.md is left alone.
|
|
870
|
+
if (prior) {
|
|
871
|
+
for (const [rel, priorHash] of Object.entries(prior.managedFiles)) {
|
|
872
|
+
if (rel in managedFiles || !rel.startsWith(`${toolRoot}/`)) {
|
|
873
|
+
continue;
|
|
874
|
+
}
|
|
875
|
+
const abs = resolveManagedPath(cwd, rel);
|
|
876
|
+
if (!abs || !fs.existsSync(abs) || !fs.lstatSync(abs).isFile()) {
|
|
877
|
+
continue;
|
|
878
|
+
}
|
|
879
|
+
if (sha256File(abs) === priorHash) {
|
|
880
|
+
fs.unlinkSync(abs);
|
|
881
|
+
console.log(`Pruned stale managed file ${rel}`);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
let shippedMcpServerIds = [];
|
|
887
|
+
if (cfg.mcpJsonSrc) {
|
|
888
|
+
const mcpFrom = path.join(base, cfg.mcpJsonSrc);
|
|
889
|
+
if (fs.existsSync(mcpFrom)) {
|
|
890
|
+
try {
|
|
891
|
+
const parsed = JSON.parse(fs.readFileSync(mcpFrom, 'utf8'));
|
|
892
|
+
if (isPlainObject(parsed.mcpServers)) {
|
|
893
|
+
shippedMcpServerIds = ownKeys(parsed.mcpServers);
|
|
894
|
+
}
|
|
895
|
+
} catch {
|
|
896
|
+
shippedMcpServerIds = [];
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
const managedDirectories = [cfg.rulesDir, cfg.commandsDir];
|
|
901
|
+
for (const name of getOptionalDirs(cfg)) {
|
|
902
|
+
managedDirectories.push(`${toolRoot}/${name}`);
|
|
903
|
+
}
|
|
904
|
+
const manifest = {
|
|
905
|
+
schemaVersion: 1,
|
|
906
|
+
packageVersion: getPackageVersion(packageRoot),
|
|
907
|
+
platform: tool,
|
|
908
|
+
preset: presetName,
|
|
909
|
+
installedAt: new Date().toISOString(),
|
|
910
|
+
managedFiles,
|
|
911
|
+
managedDirectories,
|
|
912
|
+
shippedMcpServerIds,
|
|
913
|
+
};
|
|
914
|
+
if (!fs.existsSync(manifestAbs)) {
|
|
915
|
+
createdPaths.add(manifestAbs);
|
|
916
|
+
}
|
|
917
|
+
writeFileAtomic(manifestAbs, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
714
918
|
} catch (err) {
|
|
715
919
|
const msg = err instanceof Error ? err.message : String(err);
|
|
716
920
|
rollbackInit(createdPaths, toolRootExisted, toolRootAbs);
|
|
@@ -788,47 +992,82 @@ function cmdClean(tool, cwdOption) {
|
|
|
788
992
|
}
|
|
789
993
|
const cwd = resolveTargetCwd(cwdOption);
|
|
790
994
|
const toolRoot = tool === 'cursor' ? '.cursor' : '.claude';
|
|
791
|
-
const
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
const optionalDirs = getOptionalDirs(cfg);
|
|
797
|
-
for (const name of optionalDirs) {
|
|
798
|
-
removeDirIfExists(path.join(cwd, toolRoot, name));
|
|
799
|
-
removedParts.push(`${toolRoot}/${name}`);
|
|
995
|
+
const manifestRel = `${toolRoot}/.ai-rules-install.json`;
|
|
996
|
+
const manifestAbs = resolveManagedPath(cwd, manifestRel);
|
|
997
|
+
if (!manifestAbs || !fs.existsSync(manifestAbs)) {
|
|
998
|
+
console.error(`clean ${tool}: missing ${manifestRel}; nothing removed (fail-safe).`);
|
|
999
|
+
process.exit(1);
|
|
800
1000
|
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
1001
|
+
let manifest;
|
|
1002
|
+
try {
|
|
1003
|
+
manifest = JSON.parse(fs.readFileSync(manifestAbs, 'utf8'));
|
|
1004
|
+
} catch {
|
|
1005
|
+
console.error(`clean ${tool}: invalid ${manifestRel}; nothing removed (fail-safe).`);
|
|
1006
|
+
process.exit(1);
|
|
1007
|
+
}
|
|
1008
|
+
if (!isPlainObject(manifest) || manifest.platform !== tool || !isPlainObject(manifest.managedFiles)) {
|
|
1009
|
+
console.error(`clean ${tool}: install manifest is not a ${tool} ownership record; nothing removed.`);
|
|
1010
|
+
process.exit(1);
|
|
805
1011
|
}
|
|
806
1012
|
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
1013
|
+
const preserved = [];
|
|
1014
|
+
for (const [rel, installedHash] of Object.entries(manifest.managedFiles)) {
|
|
1015
|
+
if (rel === manifestRel) {
|
|
1016
|
+
continue;
|
|
1017
|
+
}
|
|
1018
|
+
// Never delete outside the target or through a symlink, even if the manifest says so.
|
|
1019
|
+
const abs = resolveManagedPath(cwd, rel);
|
|
1020
|
+
if (!abs) {
|
|
1021
|
+
console.warn(`Ignored unsafe manifest entry ${rel} (outside target or symlinked)`);
|
|
1022
|
+
continue;
|
|
1023
|
+
}
|
|
1024
|
+
if (!fs.existsSync(abs)) {
|
|
1025
|
+
continue;
|
|
1026
|
+
}
|
|
1027
|
+
if (!fs.lstatSync(abs).isFile()) {
|
|
1028
|
+
console.warn(`Ignored non-file manifest entry ${rel}`);
|
|
1029
|
+
continue;
|
|
1030
|
+
}
|
|
1031
|
+
if (rel === 'AGENTS.md' && otherToolInstallPresent(cwd, toolRoot)) {
|
|
1032
|
+
console.log('Kept shared AGENTS.md (another tool install is still present)');
|
|
1033
|
+
continue;
|
|
1034
|
+
}
|
|
1035
|
+
if (sha256File(abs) === installedHash) {
|
|
1036
|
+
fs.unlinkSync(abs);
|
|
1037
|
+
} else {
|
|
1038
|
+
preserved.push(rel);
|
|
1039
|
+
console.warn(`Preserved modified managed file ${rel}`);
|
|
1040
|
+
}
|
|
810
1041
|
}
|
|
811
1042
|
|
|
812
|
-
if (cfg.mcpJsonDest) {
|
|
813
|
-
|
|
814
|
-
|
|
1043
|
+
if (cfg.mcpJsonDest && preserved.includes(cfg.mcpJsonDest) && Array.isArray(manifest.shippedMcpServerIds)) {
|
|
1044
|
+
const mcpAbs = resolveManagedPath(cwd, cfg.mcpJsonDest);
|
|
1045
|
+
if (mcpAbs) {
|
|
1046
|
+
stripShippedMcpKeys(mcpAbs, manifest.shippedMcpServerIds, 'mcpServers');
|
|
1047
|
+
}
|
|
815
1048
|
}
|
|
816
1049
|
|
|
817
|
-
for (const
|
|
818
|
-
|
|
819
|
-
|
|
1050
|
+
for (const dirRel of [...(manifest.managedDirectories || [])].sort((a, b) => b.length - a.length)) {
|
|
1051
|
+
const dirAbs = resolveManagedPath(cwd, dirRel);
|
|
1052
|
+
if (dirAbs) {
|
|
1053
|
+
removeEmptyDirsSafe(dirAbs);
|
|
1054
|
+
}
|
|
820
1055
|
}
|
|
821
1056
|
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
1057
|
+
fs.unlinkSync(manifestAbs);
|
|
1058
|
+
const toolRootAbs = resolveManagedPath(cwd, toolRoot);
|
|
1059
|
+
if (toolRootAbs) {
|
|
1060
|
+
removeEmptyDirsSafe(toolRootAbs);
|
|
1061
|
+
if (fs.existsSync(toolRootAbs) && fs.readdirSync(toolRootAbs).length === 0) {
|
|
1062
|
+
fs.rmdirSync(toolRootAbs);
|
|
826
1063
|
}
|
|
827
|
-
removeFileIfExists(path.join(cwd, destRel));
|
|
828
|
-
removedParts.push(destRel);
|
|
829
1064
|
}
|
|
830
1065
|
|
|
831
|
-
console.log(
|
|
1066
|
+
console.log(
|
|
1067
|
+
preserved.length > 0
|
|
1068
|
+
? `clean ${tool}: removed unchanged managed files; preserved ${preserved.join(', ')}`
|
|
1069
|
+
: `clean ${tool}: removed unchanged managed files`,
|
|
1070
|
+
);
|
|
832
1071
|
}
|
|
833
1072
|
|
|
834
1073
|
function main() {
|
|
@@ -844,6 +1083,10 @@ function main() {
|
|
|
844
1083
|
process.exit(0);
|
|
845
1084
|
}
|
|
846
1085
|
|
|
1086
|
+
if (parsed.unknownOption) {
|
|
1087
|
+
console.error(`Unknown option: ${parsed.unknownOption}`);
|
|
1088
|
+
process.exit(1);
|
|
1089
|
+
}
|
|
847
1090
|
if (parsed.presetError) {
|
|
848
1091
|
console.error(parsed.presetError);
|
|
849
1092
|
process.exit(1);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path-safety helpers shared by the installers.
|
|
3
|
+
*
|
|
4
|
+
* Two threats are handled:
|
|
5
|
+
* 1. A destination path (from the CLI, the platform contract, or an install
|
|
6
|
+
* manifest) escaping the resolved `--cwd` via `..` or an absolute path.
|
|
7
|
+
* 2. A destination path traversing a symlinked component, which would make a
|
|
8
|
+
* write or `rmSync` operate outside the install scope.
|
|
9
|
+
*/
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
const path = require('path');
|
|
12
|
+
|
|
13
|
+
function lstatOrNull(target) {
|
|
14
|
+
try {
|
|
15
|
+
return fs.lstatSync(target);
|
|
16
|
+
} catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** True when `target` is itself a symlink (dangling links included). */
|
|
22
|
+
function isSymlink(target) {
|
|
23
|
+
const stat = lstatOrNull(target);
|
|
24
|
+
return Boolean(stat && stat.isSymbolicLink());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Resolve `target` under `cwd` and refuse it when it escapes or traverses an
|
|
29
|
+
* existing symlink. Missing components are allowed: the caller creates them.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} cwd Target project directory (already resolved).
|
|
32
|
+
* @param {string} target Absolute or relative destination path.
|
|
33
|
+
* @param {string} label Human-readable name used in error messages.
|
|
34
|
+
* @returns {string} The resolved absolute path.
|
|
35
|
+
*/
|
|
36
|
+
function assertSafeDest(cwd, target, label) {
|
|
37
|
+
const root = path.resolve(cwd);
|
|
38
|
+
const resolved = path.resolve(root, target);
|
|
39
|
+
const rel = path.relative(root, resolved);
|
|
40
|
+
if (rel === '') {
|
|
41
|
+
return resolved;
|
|
42
|
+
}
|
|
43
|
+
if (rel.startsWith('..') || path.isAbsolute(rel)) {
|
|
44
|
+
throw new Error(`${label} escapes the target directory: ${resolved}`);
|
|
45
|
+
}
|
|
46
|
+
let current = root;
|
|
47
|
+
for (const part of rel.split(path.sep)) {
|
|
48
|
+
current = path.join(current, part);
|
|
49
|
+
if (isSymlink(current)) {
|
|
50
|
+
throw new Error(`${label} is a symlink; refusing to write through it: ${current}`);
|
|
51
|
+
}
|
|
52
|
+
if (!fs.existsSync(current)) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return resolved;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** `mkdir -p` after {@link assertSafeDest}. */
|
|
60
|
+
function safeMkdir(cwd, dir, label) {
|
|
61
|
+
assertSafeDest(cwd, dir, label);
|
|
62
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
63
|
+
return dir;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Resolve a manifest entry (relative path) under `cwd`. Returns `null` when the
|
|
68
|
+
* entry is absolute, escapes `cwd`, is empty, or traverses a symlink.
|
|
69
|
+
*/
|
|
70
|
+
function resolveManagedPath(cwd, rel) {
|
|
71
|
+
if (typeof rel !== 'string' || rel === '' || path.isAbsolute(rel)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const root = path.resolve(cwd);
|
|
75
|
+
const resolved = path.resolve(root, rel);
|
|
76
|
+
const relative = path.relative(root, resolved);
|
|
77
|
+
if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative)) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
let current = root;
|
|
81
|
+
for (const part of relative.split(path.sep)) {
|
|
82
|
+
current = path.join(current, part);
|
|
83
|
+
if (isSymlink(current)) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
if (!fs.existsSync(current)) {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return resolved;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
module.exports = { assertSafeDest, safeMkdir, resolveManagedPath, isSymlink, lstatOrNull };
|