@bonesofspring/ai-rules 0.2.4 → 0.2.6
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 +22 -5
- package/README.md +13 -1
- package/bin/cli.js +2 -0
- package/package.json +8 -1
- package/presets/_shared/README.md +47 -0
- package/presets/_shared/core/agent-team/agent-team-intake.md +9 -0
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +142 -0
- package/presets/_shared/core/architecture/feature-delivery-workflow.md +46 -0
- package/presets/_shared/core/architecture/reference-features.template.md +31 -0
- package/presets/_shared/core/meta/preset-layering.md +25 -0
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +43 -0
- package/presets/_shared/core/meta/preset-pr-checklist.md +28 -0
- package/presets/_shared/core/meta/preset-token-budget.md +30 -0
- package/presets/_shared/core/meta/preset-twin-sync.md +31 -0
- package/presets/_shared/core/quality/code-quality-and-refactoring.md +58 -0
- package/presets/_shared/core/quality/design-guidance.md +97 -0
- package/presets/_shared/core/review/code-review-mr.md +29 -0
- package/presets/_shared/core/review/technical-retro.md +7 -0
- package/presets/claude/go/CLAUDE.md +10 -0
- package/presets/claude/go/MCP.md +16 -0
- package/presets/claude/go/README.md +34 -0
- package/presets/claude/go/agents/README.md +15 -0
- package/presets/claude/go/agents/api-contract-reviewer.md +23 -0
- package/presets/claude/go/agents/build-verifier.md +30 -0
- package/presets/claude/go/agents/ci-investigator.md +17 -0
- package/presets/claude/go/agents/code-reviewer.md +40 -0
- package/presets/claude/go/agents/debugger.md +25 -0
- package/presets/claude/go/agents/feature-developer.md +30 -0
- package/presets/claude/go/agents/integration-test-generator.md +22 -0
- package/presets/claude/go/agents/integration-test-healer.md +22 -0
- package/presets/claude/go/agents/integration-test-planner.md +22 -0
- package/presets/claude/go/agents/migration-specialist.md +31 -0
- package/presets/claude/go/agents/performance-auditor.md +22 -0
- package/presets/claude/go/agents/qa-tester.md +24 -0
- package/presets/claude/go/agents/security-reviewer.md +20 -0
- package/presets/claude/go/agents/solution-architect.md +28 -0
- package/presets/claude/go/agents/task-analyst.md +25 -0
- package/presets/claude/go/agents/task-router.md +69 -0
- package/presets/claude/go/agents/tech-writer.md +15 -0
- package/presets/claude/go/agents/unit-test-generator.md +21 -0
- package/presets/claude/go/agents/unit-test-healer.md +13 -0
- package/presets/claude/go/agents/unit-test-planner.md +26 -0
- package/presets/claude/go/commands/README.md +13 -0
- package/presets/claude/go/commands/feature-continue.md +51 -0
- package/presets/claude/go/commands/feature-start.md +30 -0
- package/presets/claude/go/commands/task-continue.md +49 -0
- package/presets/claude/go/commands/task.md +49 -0
- package/presets/claude/go/commands/technical-retro.md +58 -0
- package/presets/claude/go/hooks/README.md +10 -0
- package/presets/claude/go/hooks/chain-team-phases.sh +381 -0
- package/presets/claude/go/hooks/guard-shell-command.sh +79 -0
- package/presets/claude/go/mcp.json +12 -0
- package/presets/claude/go/rules/README.md +60 -0
- package/presets/claude/go/rules/api-and-data/README.md +14 -0
- package/presets/claude/go/rules/api-and-data/adapters-driven.md +34 -0
- package/presets/claude/go/rules/api-and-data/adapters-driving.md +35 -0
- package/presets/claude/go/rules/api-and-data/api-grpc.md +27 -0
- package/presets/claude/go/rules/api-and-data/api-http.md +26 -0
- package/presets/claude/go/rules/api-and-data/messaging-adapters.md +21 -0
- package/presets/claude/go/rules/api-and-data/persistence-adapters.md +28 -0
- package/presets/claude/go/rules/architecture/README.md +16 -0
- package/presets/claude/go/rules/architecture/application-usecases.md +29 -0
- package/presets/claude/go/rules/architecture/boundaries.md +29 -0
- package/presets/claude/go/rules/architecture/composition-root.md +28 -0
- package/presets/claude/go/rules/architecture/domain-layer.md +32 -0
- package/presets/claude/go/rules/architecture/feature-delivery.md +51 -0
- package/presets/claude/go/rules/architecture/module-public-api.md +23 -0
- package/presets/claude/go/rules/architecture/ports-interfaces.md +34 -0
- package/presets/claude/go/rules/architecture/reference-features.md +30 -0
- package/presets/claude/go/rules/stack/README.md +10 -0
- package/presets/claude/go/rules/stack/go-app-core.md +31 -0
- package/presets/claude/go/rules/stack/go-conventions.md +24 -0
- package/presets/claude/go/rules/testing/README.md +11 -0
- package/presets/claude/go/rules/testing/e2e.md +18 -0
- package/presets/claude/go/rules/testing/integration.md +23 -0
- package/presets/claude/go/rules/testing/unit.md +24 -0
- package/presets/claude/go/rules/tooling-and-review/README.md +21 -0
- package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +25 -0
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +161 -0
- package/presets/claude/go/rules/tooling-and-review/code-quality.md +72 -0
- package/presets/claude/go/rules/tooling-and-review/code-review.md +48 -0
- package/presets/claude/go/rules/tooling-and-review/design-guidance.md +110 -0
- package/presets/claude/go/rules/tooling-and-review/go-tooling.md +38 -0
- package/presets/claude/go/rules/tooling-and-review/post-change-test.md +32 -0
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +58 -0
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +42 -0
- package/presets/claude/go/rules/tooling-and-review/security-go.md +22 -0
- package/presets/claude/go/rules/tooling-and-review/technical-retro.md +19 -0
- package/presets/claude/go/rules/ui-and-accessibility/README.md +3 -0
- package/presets/claude/go/skills/README.md +5 -0
- package/presets/claude/go/skills/ci-investigation/SKILL.md +11 -0
- package/presets/claude/go/skills/code-review/SKILL.md +16 -0
- package/presets/claude/go/skills/debug-investigation/SKILL.md +15 -0
- package/presets/claude/go/skills/feature-delivery/SKILL.md +26 -0
- package/presets/claude/go/skills/integration-testing/SKILL.md +15 -0
- package/presets/claude/go/skills/technical-retro/SKILL.md +10 -0
- package/presets/claude/go/skills/unit-testing/SKILL.md +14 -0
- package/presets/claude/go/team/README.md +27 -0
- package/presets/claude/go/team/fixtures/bugfix-standard.json +37 -0
- package/presets/claude/go/team/fixtures/feature-full.json +43 -0
- package/presets/claude/go/team/fixtures/feature-light.json +17 -0
- package/presets/claude/ios-swift/README.md +7 -0
- package/presets/claude/ios-swift/agents/README.md +16 -2
- package/presets/claude/ios-swift/agents/build-verifier.md +17 -8
- package/presets/claude/ios-swift/agents/code-reviewer.md +4 -0
- package/presets/claude/ios-swift/agents/debugger.md +4 -0
- package/presets/claude/ios-swift/agents/feature-developer.md +4 -0
- package/presets/claude/ios-swift/agents/migration-specialist.md +5 -1
- package/presets/claude/ios-swift/agents/performance-auditor.md +5 -1
- package/presets/claude/ios-swift/agents/qa-tester.md +4 -0
- package/presets/claude/ios-swift/agents/security-reviewer.md +1 -1
- package/presets/claude/ios-swift/agents/solution-architect.md +5 -1
- package/presets/claude/ios-swift/agents/task-analyst.md +4 -0
- package/presets/claude/ios-swift/agents/task-router.md +9 -0
- package/presets/claude/ios-swift/agents/unit-test-generator.md +4 -0
- package/presets/claude/ios-swift/agents/unit-test-healer.md +4 -0
- package/presets/claude/ios-swift/agents/unit-test-planner.md +4 -0
- package/presets/claude/ios-swift/rules/README.md +24 -2
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +5 -0
- package/presets/claude/ios-swift/rules/architecture/reference-features.md +5 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +15 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +53 -20
- package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +29 -35
- package/presets/claude/ios-swift/rules/tooling-and-review/design-guidance.md +110 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +54 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +42 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +5 -3
- package/presets/claude/ios-swift/skills/code-review/SKILL.md +4 -0
- package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +4 -0
- package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +4 -0
- package/presets/claude/ios-swift/team/fixtures/feature-full.json +8 -25
- package/presets/claude/ios-swift/team/fixtures/feature-light.json +5 -20
- package/presets/claude/next/README.md +9 -1
- package/presets/claude/next/agents/README.md +38 -4
- package/presets/claude/next/agents/build-verifier.md +24 -0
- package/presets/claude/next/agents/code-reviewer.md +4 -0
- package/presets/claude/next/agents/debugger.md +4 -0
- package/presets/claude/next/agents/feature-developer.md +4 -0
- package/presets/claude/next/agents/migration-specialist.md +5 -1
- package/presets/claude/next/agents/performance-auditor.md +5 -1
- package/presets/claude/next/agents/qa-tester.md +4 -0
- package/presets/claude/next/agents/security-reviewer.md +1 -1
- package/presets/claude/next/agents/solution-architect.md +5 -1
- package/presets/claude/next/agents/task-analyst.md +4 -0
- package/presets/claude/next/agents/task-router.md +15 -1
- package/presets/claude/next/agents/unit-test-generator.md +4 -0
- package/presets/claude/next/agents/unit-test-healer.md +4 -0
- package/presets/claude/next/agents/unit-test-planner.md +4 -0
- package/presets/claude/next/rules/README.md +74 -21
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +5 -0
- package/presets/claude/next/rules/architecture/reference-features.md +5 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +2 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +18 -1
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +48 -20
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +17 -8
- package/presets/claude/next/rules/tooling-and-review/design-guidance.md +110 -0
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +54 -0
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +42 -0
- package/presets/claude/next/rules/tooling-and-review/technical-retro.md +16 -0
- package/presets/claude/next/skills/code-review/SKILL.md +4 -0
- package/presets/claude/next/skills/debug-investigation/SKILL.md +4 -0
- package/presets/claude/next/skills/feature-delivery/SKILL.md +4 -0
- package/presets/claude/next/team/fixtures/feature-full.json +4 -2
- package/presets/claude/next/team/fixtures/feature-light.json +2 -2
- package/presets/cursor/go/AGENTS.md +24 -0
- package/presets/cursor/go/BUGBOT.md +9 -0
- package/presets/cursor/go/MCP.md +16 -0
- package/presets/cursor/go/README.md +38 -0
- package/presets/cursor/go/agents/README.md +15 -0
- package/presets/cursor/go/agents/api-contract-reviewer.md +23 -0
- package/presets/cursor/go/agents/build-verifier.md +30 -0
- package/presets/cursor/go/agents/ci-investigator.md +17 -0
- package/presets/cursor/go/agents/code-reviewer.md +40 -0
- package/presets/cursor/go/agents/debugger.md +25 -0
- package/presets/cursor/go/agents/feature-developer.md +30 -0
- package/presets/cursor/go/agents/integration-test-generator.md +22 -0
- package/presets/cursor/go/agents/integration-test-healer.md +22 -0
- package/presets/cursor/go/agents/integration-test-planner.md +22 -0
- package/presets/cursor/go/agents/migration-specialist.md +31 -0
- package/presets/cursor/go/agents/performance-auditor.md +22 -0
- package/presets/cursor/go/agents/qa-tester.md +24 -0
- package/presets/cursor/go/agents/security-reviewer.md +20 -0
- package/presets/cursor/go/agents/solution-architect.md +28 -0
- package/presets/cursor/go/agents/task-analyst.md +25 -0
- package/presets/cursor/go/agents/task-router.md +69 -0
- package/presets/cursor/go/agents/tech-writer.md +15 -0
- package/presets/cursor/go/agents/unit-test-generator.md +21 -0
- package/presets/cursor/go/agents/unit-test-healer.md +13 -0
- package/presets/cursor/go/agents/unit-test-planner.md +26 -0
- package/presets/cursor/go/commands/README.md +54 -0
- package/presets/cursor/go/commands/feature-continue.md +19 -0
- package/presets/cursor/go/commands/feature-start.md +33 -0
- package/presets/cursor/go/commands/task-continue.md +49 -0
- package/presets/cursor/go/commands/task.md +49 -0
- package/presets/cursor/go/commands/technical-retro.md +81 -0
- package/presets/cursor/go/hooks/README.md +8 -0
- package/presets/cursor/go/hooks/chain-team-phases.sh +381 -0
- package/presets/cursor/go/hooks/guard-shell-command.sh +79 -0
- package/presets/cursor/go/hooks.json +17 -0
- package/presets/cursor/go/mcp.json +11 -0
- package/presets/cursor/go/rules/README.md +89 -0
- package/presets/cursor/go/rules/adapters-driven.mdc +35 -0
- package/presets/cursor/go/rules/adapters-driving.mdc +36 -0
- package/presets/cursor/go/rules/agent-team-intake.mdc +20 -0
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +156 -0
- package/presets/cursor/go/rules/api-grpc.mdc +28 -0
- package/presets/cursor/go/rules/api-http.mdc +27 -0
- package/presets/cursor/go/rules/application-usecases.mdc +30 -0
- package/presets/cursor/go/rules/architecture-boundaries.mdc +30 -0
- package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +73 -0
- package/presets/cursor/go/rules/code-review-mr.mdc +43 -0
- package/presets/cursor/go/rules/composition-root.mdc +29 -0
- package/presets/cursor/go/rules/design-guidance.mdc +111 -0
- package/presets/cursor/go/rules/domain-layer.mdc +33 -0
- package/presets/cursor/go/rules/feature-delivery-workflow.mdc +46 -0
- package/presets/cursor/go/rules/go-app-core.mdc +32 -0
- package/presets/cursor/go/rules/go-conventions.mdc +25 -0
- package/presets/cursor/go/rules/go-tooling.mdc +33 -0
- package/presets/cursor/go/rules/messaging-adapters.mdc +22 -0
- package/presets/cursor/go/rules/module-public-api.mdc +24 -0
- package/presets/cursor/go/rules/persistence-adapters.mdc +29 -0
- package/presets/cursor/go/rules/ports-interfaces.mdc +35 -0
- package/presets/cursor/go/rules/post-change-test.mdc +27 -0
- package/presets/cursor/go/rules/preset-layering.mdc +36 -0
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +58 -0
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/go/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/go/rules/preset-twin-sync.mdc +42 -0
- package/presets/cursor/go/rules/reference-features.mdc +31 -0
- package/presets/cursor/go/rules/security-go.mdc +23 -0
- package/presets/cursor/go/rules/technical-retro.mdc +14 -0
- package/presets/cursor/go/rules/tests-e2e.mdc +19 -0
- package/presets/cursor/go/rules/tests-integration.mdc +24 -0
- package/presets/cursor/go/rules/tests-unit.mdc +25 -0
- package/presets/cursor/go/skills/README.md +5 -0
- package/presets/cursor/go/skills/ci-investigation/SKILL.md +11 -0
- package/presets/cursor/go/skills/code-review/SKILL.md +16 -0
- package/presets/cursor/go/skills/debug-investigation/SKILL.md +15 -0
- package/presets/cursor/go/skills/feature-delivery/SKILL.md +26 -0
- package/presets/cursor/go/skills/integration-testing/SKILL.md +15 -0
- package/presets/cursor/go/skills/technical-retro/SKILL.md +10 -0
- package/presets/cursor/go/skills/unit-testing/SKILL.md +14 -0
- package/presets/cursor/go/team/README.md +31 -0
- package/presets/cursor/go/team/fixtures/bugfix-standard.json +37 -0
- package/presets/cursor/go/team/fixtures/feature-full.json +43 -0
- package/presets/cursor/go/team/fixtures/feature-light.json +17 -0
- package/presets/cursor/ios-swift/README.md +7 -0
- package/presets/cursor/ios-swift/agents/README.md +16 -2
- package/presets/cursor/ios-swift/agents/build-verifier.md +17 -8
- package/presets/cursor/ios-swift/agents/code-reviewer.md +4 -0
- package/presets/cursor/ios-swift/agents/debugger.md +4 -0
- package/presets/cursor/ios-swift/agents/feature-developer.md +4 -0
- package/presets/cursor/ios-swift/agents/migration-specialist.md +5 -1
- package/presets/cursor/ios-swift/agents/performance-auditor.md +5 -1
- package/presets/cursor/ios-swift/agents/qa-tester.md +4 -0
- package/presets/cursor/ios-swift/agents/security-reviewer.md +1 -1
- package/presets/cursor/ios-swift/agents/solution-architect.md +5 -1
- package/presets/cursor/ios-swift/agents/task-analyst.md +4 -0
- package/presets/cursor/ios-swift/agents/task-router.md +9 -0
- package/presets/cursor/ios-swift/agents/unit-test-generator.md +4 -0
- package/presets/cursor/ios-swift/agents/unit-test-healer.md +4 -0
- package/presets/cursor/ios-swift/agents/unit-test-planner.md +4 -0
- package/presets/cursor/ios-swift/rules/README.md +23 -2
- package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +16 -2
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +53 -20
- package/presets/cursor/ios-swift/rules/code-review-mr.mdc +32 -0
- package/presets/cursor/ios-swift/rules/design-guidance.mdc +111 -0
- package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +36 -0
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +54 -0
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +42 -0
- package/presets/cursor/ios-swift/rules/reference-features.mdc +6 -0
- package/presets/cursor/ios-swift/rules/technical-retro.mdc +4 -2
- package/presets/cursor/ios-swift/skills/code-review/SKILL.md +4 -0
- package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +4 -0
- package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +4 -0
- package/presets/cursor/ios-swift/team/fixtures/feature-full.json +8 -25
- package/presets/cursor/ios-swift/team/fixtures/feature-light.json +6 -25
- package/presets/cursor/next/README.md +46 -0
- package/presets/cursor/next/agents/README.md +39 -4
- package/presets/cursor/next/agents/build-verifier.md +24 -0
- package/presets/cursor/next/agents/code-reviewer.md +4 -0
- package/presets/cursor/next/agents/debugger.md +4 -0
- package/presets/cursor/next/agents/feature-developer.md +4 -0
- package/presets/cursor/next/agents/migration-specialist.md +5 -1
- package/presets/cursor/next/agents/performance-auditor.md +5 -1
- package/presets/cursor/next/agents/qa-tester.md +4 -0
- package/presets/cursor/next/agents/security-reviewer.md +1 -1
- package/presets/cursor/next/agents/solution-architect.md +5 -1
- package/presets/cursor/next/agents/task-analyst.md +4 -0
- package/presets/cursor/next/agents/task-router.md +15 -1
- package/presets/cursor/next/agents/unit-test-generator.md +4 -0
- package/presets/cursor/next/agents/unit-test-healer.md +4 -0
- package/presets/cursor/next/agents/unit-test-planner.md +4 -0
- package/presets/cursor/next/commands/README.md +1 -1
- package/presets/cursor/next/rules/README.md +21 -1
- package/presets/cursor/next/rules/agent-team-intake.mdc +2 -0
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +18 -2
- package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +45 -18
- package/presets/cursor/next/rules/code-review-mr.mdc +32 -0
- package/presets/cursor/next/rules/design-guidance.mdc +111 -0
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/next/rules/preset-layering.mdc +36 -0
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +54 -0
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/next/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/next/rules/preset-twin-sync.mdc +42 -0
- package/presets/cursor/next/rules/reference-features.mdc +6 -0
- package/presets/cursor/next/rules/technical-retro.mdc +5 -3
- package/presets/cursor/next/skills/code-review/SKILL.md +4 -0
- package/presets/cursor/next/skills/debug-investigation/SKILL.md +4 -0
- package/presets/cursor/next/skills/feature-delivery/SKILL.md +4 -0
- package/presets/cursor/next/team/fixtures/feature-full.json +4 -2
- package/presets/cursor/next/team/fixtures/feature-light.json +2 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preset authoring meta-rule (preset-twin-sync)
|
|
3
|
+
paths:
|
|
4
|
+
- packages/ai-rules/presets/**/*
|
|
5
|
+
- .cursor/rules/**/*
|
|
6
|
+
- .cursor/team/tasks/**/*
|
|
7
|
+
- .claude/**/*
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- shared-core: meta/preset-twin-sync.md -->
|
|
11
|
+
|
|
12
|
+
# Preset twin sync
|
|
13
|
+
|
|
14
|
+
Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
|
|
15
|
+
|
|
16
|
+
## Matrix
|
|
17
|
+
|
|
18
|
+
| Stack | Cursor SoT | Claude derive | Mapping table |
|
|
19
|
+
|-------|------------|---------------|---------------|
|
|
20
|
+
| `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
|
|
21
|
+
| `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
|
|
22
|
+
| `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
|
|
23
|
+
|
|
24
|
+
## Same-PR checklist
|
|
25
|
+
|
|
26
|
+
1. Edit Cursor rule first (body + frontmatter).
|
|
27
|
+
2. Update Claude twin: body + `paths:` (from Cursor `globs:` / requestable triggers); drop `alwaysApply`.
|
|
28
|
+
3. Update mapping table row if stem/path changed.
|
|
29
|
+
4. If body embeds core (`<!-- shared-core: … -->`), sync core consumers across stacks when core changed.
|
|
30
|
+
|
|
31
|
+
## Twin depth
|
|
32
|
+
|
|
33
|
+
- **Domain** rules: ≥15 body lines (FAIL if thin without documented alias reason).
|
|
34
|
+
- **Thin aliases** (`agent-team-intake`, `technical-retro`): may be shorter (soft) if they only point to a command/skill.
|
|
35
|
+
|
|
36
|
+
## Severity (build-verifier)
|
|
37
|
+
|
|
38
|
+
- **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
|
|
39
|
+
- **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
|
|
40
|
+
- **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
|
|
41
|
+
|
|
42
|
+
Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Security basics for Go backends (secrets, auth, PII, TLS)
|
|
3
|
+
paths:
|
|
4
|
+
- **/middleware/**/*
|
|
5
|
+
- **/auth/**/*
|
|
6
|
+
- **/config/**/*
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Security (Go)
|
|
11
|
+
|
|
12
|
+
- Secrets from env/secret manager — never commit keys; do not log tokens/passwords.
|
|
13
|
+
- Validate and canonicalize untrusted input at the driving adapter edge.
|
|
14
|
+
- Prefer prepared statements / parameterized queries in persistence adapters.
|
|
15
|
+
- TLS and secure cookie/header defaults when exposing HTTP.
|
|
16
|
+
- AuthN/AuthZ in middleware or driving adapters; pass identity into use cases as domain value (user ID / claims), not raw headers.
|
|
17
|
+
- Minimize PII in logs; redact where needed.
|
|
18
|
+
|
|
19
|
+
## Config
|
|
20
|
+
|
|
21
|
+
- Distinguish public vs secret config fields in types.
|
|
22
|
+
- Fail closed when auth is misconfigured in production builds.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Technical retro alias — use /technical-retro command
|
|
3
|
+
paths:
|
|
4
|
+
- .cursor/team/**/*
|
|
5
|
+
- .claude/team/**/*
|
|
6
|
+
- **/*.go
|
|
7
|
+
- internal/**/*
|
|
8
|
+
- cmd/**/*
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<!-- shared-core: review/technical-retro.md -->
|
|
12
|
+
|
|
13
|
+
# Техническое ретро — rule alias
|
|
14
|
+
|
|
15
|
+
Полный сценарий (включая блок **«Работа агентов»** для slug из team tasks) — в slash-команде:
|
|
16
|
+
|
|
17
|
+
**`commands/technical-retro.md`** → `/technical-retro`
|
|
18
|
+
|
|
19
|
+
Используй rule только если command недоступен. Не дублируй содержимое command в ответе — следуй command-файлу и skill `technical-retro`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ci-investigation
|
|
3
|
+
description: Investigates failing CI checks on PRs and branches — go test, vet, lint, integration, preset-structure — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CI investigation (Go)
|
|
7
|
+
|
|
8
|
+
1. Identify job + log excerpt.
|
|
9
|
+
2. Reproduce locally with the same commands.
|
|
10
|
+
3. Minimal fix; for ai-rules preset PRs run `yarn check:preset-structure`.
|
|
11
|
+
4. Do not treat Playwright/xcodebuild/`lint:js` as default Go gates.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Reviews pull requests and branch diffs for Go hexagonal services using architecture, ports/adapters, networking, and testing standards. Use when the user asks for review or when code-reviewer runs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code review (Go)
|
|
7
|
+
|
|
8
|
+
1. Diff-first; load `code-review-mr.mdc` + hexagonal rules.
|
|
9
|
+
2. Check layer leaks, port ownership, composition root purity, tests, security-sensitive bits.
|
|
10
|
+
3. Write `review.md` with APPROVE or REQUEST_CHANGES.
|
|
11
|
+
|
|
12
|
+
Never require iOS/Next-only gates (XCUITest, Playwright, `lint:js`).
|
|
13
|
+
|
|
14
|
+
## Design guidance
|
|
15
|
+
|
|
16
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debug-investigation
|
|
3
|
+
description: Investigates bugs, failing tests, and unexpected behavior in Go services with runtime evidence before applying minimal fixes. Use for bugfix tasks, debugger agent runs, or regressions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Debug investigation (Go)
|
|
7
|
+
|
|
8
|
+
1. Capture failing `go test` / logs / stack traces.
|
|
9
|
+
2. Hypothesize layer (domain vs adapter vs wiring).
|
|
10
|
+
3. Minimal fix + regression test when appropriate.
|
|
11
|
+
4. Document in `debug-report.md`.
|
|
12
|
+
|
|
13
|
+
## Design guidance
|
|
14
|
+
|
|
15
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-delivery
|
|
3
|
+
description: Delivers Go hexagonal backend features end-to-end across domain, application/ports, adapters, composition root, tests, and post-change-test validation. Use when implementing or extending a feature, especially through /task or feature-developer.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Feature Delivery (Go hexagonal)
|
|
7
|
+
|
|
8
|
+
1. Read brief, AC, and decomposition.
|
|
9
|
+
2. Follow `feature-delivery-workflow.mdc` + `reference-features.mdc`: domain → application/ports → driven adapters → driving adapters → composition root → tests.
|
|
10
|
+
3. Wire DI only in `cmd/` / `internal/app`.
|
|
11
|
+
4. Add unit tests for domain/use cases; integration tests for risky adapters.
|
|
12
|
+
5. After Go edits: **invoke** `post-change-test.mdc` (+ `go-tooling.mdc`).
|
|
13
|
+
|
|
14
|
+
## Do / Don't
|
|
15
|
+
|
|
16
|
+
- **Do** keep ports owned by application; map wire types at adapters.
|
|
17
|
+
- **Don't** put SQL/business rules in HTTP handlers or frameworks in domain.
|
|
18
|
+
- **Don't** use Playwright, XCUITest, or yarn lint as this stack's gate.
|
|
19
|
+
|
|
20
|
+
## Handoff
|
|
21
|
+
|
|
22
|
+
Summarize by layer + validation. Update `.claude/team/tasks/<slug>/status.json`.
|
|
23
|
+
|
|
24
|
+
## Design guidance
|
|
25
|
+
|
|
26
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-testing
|
|
3
|
+
description: Plans, generates, and heals Go integration and adapter contract tests (httptest, testcontainers). Use for integration-test-* agents or adapter/e2e coverage.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Integration testing (Go)
|
|
7
|
+
|
|
8
|
+
1. Read `tests-integration` / `tests-e2e` rules and task brief.
|
|
9
|
+
2. Prefer testing driven adapters behind ports; HTTP adapters with `httptest` + fakes.
|
|
10
|
+
3. Use build tags / CI job split if the repo already does.
|
|
11
|
+
4. Do not introduce Playwright or XCUITest.
|
|
12
|
+
|
|
13
|
+
## Agents
|
|
14
|
+
|
|
15
|
+
`integration-test-planner` → `integration-test-generator` → `integration-test-healer` as needed.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-retro
|
|
3
|
+
description: Facilitates technical retrospectives for tasks, sprints, incidents, releases, and agent-team pipelines. Use when the user asks for retro, postmortem, process review, or action items after delivery.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Technical Retro
|
|
7
|
+
|
|
8
|
+
Same structure as next technical-retro skill. For `/task` pipelines include router, analyst, developer, **build-verifier** (go test), reviewer, QA/integration tests, hooks, rules.
|
|
9
|
+
|
|
10
|
+
Preset feedback: propose updates to `.claude/rules|agents|skills` — do not apply without approval.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-testing
|
|
3
|
+
description: Plans, generates, and heals table-driven Go unit tests for domain, use cases, and mappers using *_test.go and tests-unit rules. Use for unit-test planning, generation, or healing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Unit testing (Go)
|
|
7
|
+
|
|
8
|
+
1. Prefer table-driven `testing` packages beside code under test.
|
|
9
|
+
2. Fake outbound ports for use cases; no real DB/network.
|
|
10
|
+
3. Follow `tests-unit.mdc`; heal with `unit-test-healer` when red.
|
|
11
|
+
|
|
12
|
+
## Agents
|
|
13
|
+
|
|
14
|
+
`unit-test-planner` → `unit-test-generator` → `unit-test-healer`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Agent team artifacts (go)
|
|
2
|
+
|
|
3
|
+
Каталог артефактов пайплайна «команда агентов» для Go backend (hexagonal / ports & adapters).
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
.claude/team/
|
|
9
|
+
active-task.json
|
|
10
|
+
fixtures/
|
|
11
|
+
tasks/<slug>/
|
|
12
|
+
pipeline.json
|
|
13
|
+
status.json
|
|
14
|
+
brief.md
|
|
15
|
+
decomposition.md
|
|
16
|
+
…
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Fixtures
|
|
20
|
+
|
|
21
|
+
| Fixture | Notes |
|
|
22
|
+
|---------|-------|
|
|
23
|
+
| `feature-full.json` | Full profile; QA scope `e2e-only` = **adapter/integration tests** (not UI e2e); Playwright/XCUITest stems in `skipped` |
|
|
24
|
+
| `feature-light.json` | developer → build-verifier (`go test` / `go vet` / golangci-lint) |
|
|
25
|
+
| `bugfix-standard.json` | debugger → developer (skipIf) → verifier → reviewer |
|
|
26
|
+
|
|
27
|
+
**Never** schedule Playwright/XCUITest-only steps for this preset. Use `integration-test-*` (or QA with `e2e-only` = integration) for adapter-level coverage.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-bugfix-standard",
|
|
3
|
+
"intent": "bugfix",
|
|
4
|
+
"profile": "standard",
|
|
5
|
+
"summary": "Regression fix with review",
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"agent": "debugger",
|
|
9
|
+
"label": "Root cause"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"agent": "feature-developer",
|
|
13
|
+
"label": "Fix if needed",
|
|
14
|
+
"skipIf": "debugger.fixed"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"agent": "build-verifier",
|
|
18
|
+
"label": "go test / go vet / golangci-lint"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"agent": "code-reviewer",
|
|
22
|
+
"label": "Code review"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"humanGates": [],
|
|
26
|
+
"autoChain": true,
|
|
27
|
+
"skipped": [
|
|
28
|
+
{
|
|
29
|
+
"agent": "playwright-test-planner",
|
|
30
|
+
"reason": "Go backend uses integration-test-* — not in this bugfix path"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"agent": "xcuitest-test-planner",
|
|
34
|
+
"reason": "Go backend uses integration-test-* — not in this bugfix path"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-feature-full",
|
|
3
|
+
"intent": "feature",
|
|
4
|
+
"profile": "full",
|
|
5
|
+
"summary": "Multi-layer Go use case with integration-test coverage",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "task-analyst", "label": "Clarify and decompose" },
|
|
8
|
+
{ "agent": "solution-architect", "label": "Design boundaries", "model": "strong" },
|
|
9
|
+
{ "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
|
|
10
|
+
{ "agent": "build-verifier", "label": "go test / go vet / golangci-lint", "model": "cheap" },
|
|
11
|
+
{ "agent": "security-reviewer", "label": "Security review", "model": "strong" },
|
|
12
|
+
{ "agent": "code-reviewer", "label": "Code review", "model": "cheap" },
|
|
13
|
+
{ "agent": "qa-tester", "label": "Integration tests", "scope": "e2e-only" }
|
|
14
|
+
],
|
|
15
|
+
"humanGates": ["after:task-analyst"],
|
|
16
|
+
"autoChain": true,
|
|
17
|
+
"skipped": [
|
|
18
|
+
{
|
|
19
|
+
"agent": "playwright-test-planner",
|
|
20
|
+
"reason": "Go backend uses integration-test-* — not Playwright"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"agent": "playwright-test-generator",
|
|
24
|
+
"reason": "Go backend uses integration-test-*"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"agent": "playwright-test-healer",
|
|
28
|
+
"reason": "Go backend uses integration-test-*"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"agent": "xcuitest-test-planner",
|
|
32
|
+
"reason": "Go backend uses integration-test-* — not XCUITest"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"agent": "xcuitest-test-generator",
|
|
36
|
+
"reason": "Go backend uses integration-test-*"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"agent": "xcuitest-test-healer",
|
|
40
|
+
"reason": "Go backend uses integration-test-*"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-feature-light",
|
|
3
|
+
"intent": "feature",
|
|
4
|
+
"profile": "light",
|
|
5
|
+
"summary": "Trivial single-package change with explicit AC",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "feature-developer", "label": "Implement", "model": "cheap" },
|
|
8
|
+
{ "agent": "build-verifier", "label": "go test / go vet / golangci-lint", "model": "cheap" }
|
|
9
|
+
],
|
|
10
|
+
"humanGates": [],
|
|
11
|
+
"autoChain": true,
|
|
12
|
+
"skipped": [
|
|
13
|
+
{ "agent": "task-analyst", "reason": "Explicit AC and single-package scope" },
|
|
14
|
+
{ "agent": "code-reviewer", "reason": "Light profile — non-trivial module/service changes should use standard" },
|
|
15
|
+
{ "agent": "qa-tester", "reason": "No integration-test AC" }
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -20,6 +20,13 @@
|
|
|
20
20
|
npx @bonesofspring/ai-rules init claude --preset ios-swift
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
## Preset taxonomy & contributing
|
|
24
|
+
|
|
25
|
+
- **Layers:** Core → Stack → Platform — [`../../_shared/README.md`](../../_shared/README.md)
|
|
26
|
+
- **Contribution guide:** [`../../docs/PRESET-CONTRIBUTION.md`](../../docs/PRESET-CONTRIBUTION.md)
|
|
27
|
+
- **Cursor SoT:** `presets/cursor/ios-swift/` — derived twin; same PR as Cursor
|
|
28
|
+
- **Mapping + core table:** [`rules/README.md`](./rules/README.md)
|
|
29
|
+
|
|
23
30
|
## Session-start (= Cursor alwaysApply)
|
|
24
31
|
|
|
25
32
|
Ровно **3** файла без `paths:`: `stack/ios-app-core.md`, `architecture/boundaries.md`, `tooling-and-review/code-quality.md`. Бюджет тела ≤120 строк суммарно.
|
|
@@ -29,6 +29,18 @@ When copying next pipeline templates: put Playwright stems in `skipped` with rea
|
|
|
29
29
|
|
|
30
30
|
Все agents — **`readonly: false`** (нужна запись в `.claude/team/**`). Ограничения production — в теле промпта.
|
|
31
31
|
|
|
32
|
+
## Model matrix (frontmatter `model`)
|
|
33
|
+
|
|
34
|
+
Same tiers as **claude/next**. Defaults in this preset:
|
|
35
|
+
|
|
36
|
+
| Tier | Frontmatter | Agents |
|
|
37
|
+
|------|-------------|--------|
|
|
38
|
+
| **cheap** | `fast` | router, analyst, build-verifier, code-reviewer, tech-writer |
|
|
39
|
+
| **standard** | `inherit` | developer, debugger, ci-investigator, api-contract, a11y, qa, unit-*, xcuitest-* |
|
|
40
|
+
| **strong** | `opus` | solution-architect, migration-specialist, security-reviewer, performance-auditor |
|
|
41
|
+
|
|
42
|
+
Optional `steps[].model`: `cheap` \| `standard` \| `strong`.
|
|
43
|
+
|
|
32
44
|
## Pipeline routing
|
|
33
45
|
|
|
34
46
|
**SoT:** intent table / profiles — **`task-router.md`**. Schema — ниже (same as next).
|
|
@@ -43,8 +55,8 @@ When copying next pipeline templates: put Playwright stems in `skipped` with rea
|
|
|
43
55
|
"steps": [
|
|
44
56
|
{ "agent": "task-analyst", "label": "Clarify and decompose" },
|
|
45
57
|
{ "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
|
|
46
|
-
{ "agent": "build-verifier", "label": "xcodebuild + lint + unit smoke" },
|
|
47
|
-
{ "agent": "code-reviewer", "label": "Code review" }
|
|
58
|
+
{ "agent": "build-verifier", "label": "xcodebuild + lint + unit smoke", "model": "cheap" },
|
|
59
|
+
{ "agent": "code-reviewer", "label": "Code review", "model": "cheap" }
|
|
48
60
|
],
|
|
49
61
|
"humanGates": ["after:task-analyst"],
|
|
50
62
|
"autoChain": true,
|
|
@@ -52,4 +64,6 @@ When copying next pipeline templates: put Playwright stems in `skipped` with rea
|
|
|
52
64
|
}
|
|
53
65
|
```
|
|
54
66
|
|
|
67
|
+
`steps[].model` optional: `cheap` \| `standard` \| `strong`.
|
|
68
|
+
|
|
55
69
|
Копируется в `.claude/agents/` при `ai-rules init claude --preset ios-swift`.
|
|
@@ -26,17 +26,26 @@ Never require yarn/`lint:js`/Playwright for iOS app work.
|
|
|
26
26
|
|
|
27
27
|
## Preset-structure validation (when scope is preset / packages/ai-rules)
|
|
28
28
|
|
|
29
|
-
When validating **ios-swift preset** changes (or `scope: preset-structure-validation`), **also** run these checks
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
When validating **ios-swift preset** changes (or `scope: preset-structure-validation` / `preset-artifacts-only`), **also** run these checks. Skip xcodebuild if there are **no** Swift app changes.
|
|
30
|
+
|
|
31
|
+
### FAIL (all stacks + ios-specific)
|
|
32
|
+
|
|
33
|
+
1. **Token budget:** Cursor `alwaysApply: true` count ≤ **3**; Claude rules without `paths:` === **3** (**exclude `**/README.md`** — Option A). Meta `preset-*` must have `paths:` (not session-start).
|
|
34
|
+
2. **Chain fork check:** `hooks/chain-team-phases.sh` must **not** be byte-identical to next’s chain script.
|
|
35
|
+
3. **Forbidden handoff strings** in ios-swift `chain-team-phases.sh`: `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`, positive `lint:js` / `lint:css` recipes. See `tooling-and-review/preset-no-cross-stack-leakage.md`.
|
|
36
|
+
4. **Required handoff stems:** `AGENT_HANDOFF` must include `xcuitest-test-planner` (or generator/healer); build-verifier mentions `xcodebuild` or `post-change-build` / `xcode-tooling`.
|
|
37
|
+
5. **Roster:** 21 agent stems; no `playwright-test-*` under ios-swift `agents/`.
|
|
38
|
+
6. **Twin presence (hard):** Cursor rule change → Claude twin same PR — **FAIL** if missing (next, ios-swift, and go).
|
|
39
|
+
7. **Mapping / README:** Cursor→Claude mapping table present; core→stack mapping when `_shared` consumers exist.
|
|
40
|
+
8. **shared-core consumers:** if `_shared/core/**` changed, update all `<!-- shared-core: … -->` consumers (or document intentional fork).
|
|
41
|
+
9. **Session-start body budget:** sum of the **3** intended session-start rule bodies ≤ **120** lines (stretch ≤100); do **not** include `**/README.md` — record in report.
|
|
42
|
+
10. **Embed drift (soft by default):** `packages/ai-rules/scripts/check-shared-core-drift.sh`; `AI_RULES_DRIFT_FAIL=1` to enforce.
|
|
43
|
+
11. **Dogfood (monorepo soft):** `packages/ai-rules/scripts/sync-dogfood-cursor.sh`; mass deletion without migration doc → risk / FAIL for maintainers.
|
|
36
44
|
|
|
37
45
|
### Soft rules (do not FAIL alone)
|
|
38
46
|
|
|
39
|
-
- **
|
|
47
|
+
- **Thin aliases:** `agent-team-intake`, `technical-retro` may be <15 body lines. Enforce ≥15 on **domain** rules.
|
|
48
|
+
- Embed vs lineage: `docs/PRESET-CONTRIBUTION.md`, `_shared/README.md`.
|
|
40
49
|
|
|
41
50
|
## Output
|
|
42
51
|
|
|
@@ -73,3 +73,7 @@ Update `status.json`:
|
|
|
73
73
|
If **REQUEST_CHANGES**, set `"state": "changes_requested"` (hook will re-invoke feature-developer).
|
|
74
74
|
|
|
75
75
|
Do not mix this output with retrospective facilitation — keep review and retro separate.
|
|
76
|
+
|
|
77
|
+
## Design guidance
|
|
78
|
+
|
|
79
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -70,3 +70,7 @@ Update `status.json`:
|
|
|
70
70
|
Handoff summary: root cause, recommended fix, files touched (if any), `fixApplied`.
|
|
71
71
|
|
|
72
72
|
Do not perform formal code review or write XCUITest plans — those are separate agents.
|
|
73
|
+
|
|
74
|
+
## Design guidance
|
|
75
|
+
|
|
76
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -33,3 +33,7 @@ When copying from `next` into `ios-swift` (or another stack):
|
|
|
33
33
|
## On completion
|
|
34
34
|
|
|
35
35
|
`status.json`: `currentAgent: feature-developer`, `state: completed`. Handoff by layer + gaps for verifier/reviewer. No formal code review.
|
|
36
|
+
|
|
37
|
+
## Design guidance
|
|
38
|
+
|
|
39
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: migration-specialist
|
|
3
3
|
description: Migration planning specialist for Xcode/iOS/SPM upgrades, dependency swaps, and phased refactors with rollback. Writes migration-plan.md and team status; never writes production code.
|
|
4
4
|
readonly: false
|
|
5
|
-
model:
|
|
5
|
+
model: opus
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a migration specialist for an **iOS Swift** codebase with Feature-module layer boundaries.
|
|
@@ -71,3 +71,7 @@ Update `status.json`:
|
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
Hand off: orchestrator runs human gate (if configured), then `feature-developer` executes phases from the plan.
|
|
74
|
+
|
|
75
|
+
## Design guidance
|
|
76
|
+
|
|
77
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: performance-auditor
|
|
3
3
|
description: Performance audit specialist. Reviews launch path, main-thread work, SwiftUI body churn, list scrolling, image decoding, and Instruments-oriented risks. Readonly — writes perf-report.md only; never edits production code.
|
|
4
4
|
readonly: false
|
|
5
|
-
model:
|
|
5
|
+
model: opus
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are an iOS performance auditor for a Swift/SwiftUI application.
|
|
@@ -70,3 +70,7 @@ Update `status.json`:
|
|
|
70
70
|
For standalone `perf-audit` intent, suggest `/technical-retro` or a follow-up `/task` to implement fixes.
|
|
71
71
|
|
|
72
72
|
Do not modify production code.
|
|
73
|
+
|
|
74
|
+
## Design guidance
|
|
75
|
+
|
|
76
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: security-reviewer
|
|
3
3
|
description: Security review specialist. Audits Keychain/token handling, ATS, PII in logs, secrets in diff, and unsafe URL/deep-link handling. Readonly — writes security-review.md only; never edits production code.
|
|
4
4
|
readonly: false
|
|
5
|
-
model:
|
|
5
|
+
model: opus
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are an iOS security reviewer for a Swift/SwiftUI application.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: solution-architect
|
|
3
3
|
description: Solution architect for cross-layer features, API boundaries, and technical design before implementation. Use for spike intent or when router adds architect step for complex features. Readonly — produces design docs, not production code.
|
|
4
4
|
readonly: false
|
|
5
|
-
model:
|
|
5
|
+
model: opus
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a solution architect for **iOS Feature modules** (Presentation / Domain / Data). Write `architecture.md` under `.claude/team/tasks/<slug>/`. No production code.
|
|
@@ -15,3 +15,7 @@ You are a solution architect for **iOS Feature modules** (Presentation / Domain
|
|
|
15
15
|
- Alternatives table + chosen design + risks; keep token-light.
|
|
16
16
|
|
|
17
17
|
Handoff: architecture approved or awaiting gate → status update.
|
|
18
|
+
|
|
19
|
+
## Design guidance
|
|
20
|
+
|
|
21
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -23,3 +23,7 @@ Ask only blocking questions (AC gaps, Feature scope, platforms, offline/auth, AP
|
|
|
23
23
|
3. Update `status.json` → `awaiting_approval` if human gate after analyst.
|
|
24
24
|
|
|
25
25
|
Do not invent architecture stacks (TCA, SwiftData, …) — frame «как в репо».
|
|
26
|
+
|
|
27
|
+
## Design guidance (optional)
|
|
28
|
+
|
|
29
|
+
- Optional: Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit — only when decomposing refactor/architecture tasks (not default).
|
|
@@ -40,6 +40,15 @@ You are a task router for an **iOS Swift/SwiftUI** agent team. You **do not** im
|
|
|
40
40
|
|
|
41
41
|
**Never skip `build-verifier`** after developer when Swift/Xcode sources changed.
|
|
42
42
|
|
|
43
|
+
## Model tiers (`steps[].model`)
|
|
44
|
+
|
|
45
|
+
Optional: `"model": "cheap" | "standard" | "strong"`. Same policy as **claude/next** `task-router.md`:
|
|
46
|
+
|
|
47
|
+
- `light` → `cheap` on all steps (debugger unclear root cause → `strong`)
|
|
48
|
+
- `full` / `spike` / security|perf specialists → `strong` on architect, migration, security, perf steps
|
|
49
|
+
- never `strong` on build-verifier / tech-writer / task-router
|
|
50
|
+
- omit on `standard` → agent frontmatter (`fast` / `inherit` / `opus`)
|
|
51
|
+
|
|
43
52
|
Fixtures: `.claude/team/fixtures/` (feature-full, feature-light, bugfix-standard).
|
|
44
53
|
|
|
45
54
|
## humanGates (defaults)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
| **SoT** | `presets/cursor/ios-swift/rules/*.mdc` — edit here first |
|
|
10
10
|
| **Derive** | Claude topic `.md` = body + `paths:` (from Cursor `globs:` / requestable triggers) |
|
|
11
11
|
| **Drop** | Cursor-only keys (`alwaysApply`); keep short `description` |
|
|
12
|
-
| **Checklist** | change Cursor → update Claude twin **same PR** |
|
|
12
|
+
| **Checklist** | change Cursor → update Claude twin **same PR** (**FAIL** if missing — next, ios-swift, and go; see `preset-twin-sync` / build-verifier) |
|
|
13
13
|
|
|
14
14
|
## Loading budget
|
|
15
15
|
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
| `tests-unit.mdc` | `testing/unit.md` |
|
|
36
36
|
| `tests-ui.mdc` | `testing/ui.md` |
|
|
37
37
|
| `code-quality-and-refactoring.mdc` | `tooling-and-review/code-quality.md` |
|
|
38
|
+
| `design-guidance.mdc` | `tooling-and-review/design-guidance.md` |
|
|
38
39
|
| `code-review-mr.mdc` | `tooling-and-review/code-review.md` |
|
|
39
40
|
| `post-change-build.mdc` | `tooling-and-review/post-change-build.md` |
|
|
40
41
|
| `xcode-tooling.mdc` | `tooling-and-review/xcode-tooling.md` |
|
|
@@ -42,6 +43,27 @@
|
|
|
42
43
|
| `agent-team-intake.mdc` | `tooling-and-review/agent-team-intake.md` |
|
|
43
44
|
| `agent-team-orchestrator.mdc` | `tooling-and-review/agent-team-orchestrator.md` |
|
|
44
45
|
| `technical-retro.mdc` | `tooling-and-review/technical-retro.md` |
|
|
46
|
+
| `preset-layering.mdc` | `tooling-and-review/preset-layering.md` |
|
|
47
|
+
| `preset-twin-sync.mdc` | `tooling-and-review/preset-twin-sync.md` |
|
|
48
|
+
| `preset-token-budget.mdc` | `tooling-and-review/preset-token-budget.md` |
|
|
49
|
+
| `preset-pr-checklist.mdc` | `tooling-and-review/preset-pr-checklist.md` |
|
|
50
|
+
| `preset-no-cross-stack-leakage.mdc` | `tooling-and-review/preset-no-cross-stack-leakage.md` |
|
|
51
|
+
|
|
52
|
+
## Core → stack mapping
|
|
53
|
+
|
|
54
|
+
| Shared core | Cursor adapter | Notes |
|
|
55
|
+
|-------------|----------------|-------|
|
|
56
|
+
| `quality/code-quality-and-refactoring.md` | `code-quality-and-refactoring.mdc` / `code-quality.md` | + Stack notes (Swift/DesignSystem) |
|
|
57
|
+
| `quality/design-guidance.md` | `design-guidance.mdc` / `design-guidance.md` | requestable smells/GoF |
|
|
58
|
+
| `agent-team/agent-team-orchestrator.md` | `agent-team-orchestrator.mdc` | Roles (XCUITest) in Stack notes |
|
|
59
|
+
| `agent-team/agent-team-intake.md` | `agent-team-intake.mdc` | thin alias |
|
|
60
|
+
| `architecture/feature-delivery-workflow.md` | `feature-delivery-workflow.mdc` | iOS Feature checklist |
|
|
61
|
+
| `architecture/reference-features.template.md` | `reference-features.mdc` | Features/** table |
|
|
62
|
+
| `review/code-review-mr.md` | `code-review-mr.mdc` | iOS checklist |
|
|
63
|
+
| `review/technical-retro.md` | `technical-retro.mdc` | thin alias |
|
|
64
|
+
| `meta/preset-*.md` | `preset-*.mdc` | author globs only |
|
|
65
|
+
|
|
66
|
+
Shared taxonomy: `presets/_shared/README.md`. Sync marker: `<!-- shared-core: … -->`.
|
|
45
67
|
|
|
46
68
|
## Folders
|
|
47
69
|
|
|
@@ -52,4 +74,4 @@
|
|
|
52
74
|
| `api-and-data/` | Networking, persistence |
|
|
53
75
|
| `testing/` | XCTest, XCUITest |
|
|
54
76
|
| `ui-and-accessibility/` | SwiftUI, ViewModels, navigation |
|
|
55
|
-
| `tooling-and-review/` | Quality, review, build, security, tooling, agent-team, retro |
|
|
77
|
+
| `tooling-and-review/` | Quality, review, build, security, tooling, agent-team, retro, **preset meta** |
|