@bonesofspring/ai-rules 0.2.5 → 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/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 +4 -0
- package/presets/claude/ios-swift/agents/performance-auditor.md +4 -0
- package/presets/claude/ios-swift/agents/qa-tester.md +4 -0
- package/presets/claude/ios-swift/agents/solution-architect.md +4 -0
- package/presets/claude/ios-swift/agents/task-analyst.md +4 -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 +7 -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/next/README.md +9 -1
- 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 +4 -0
- package/presets/claude/next/agents/performance-auditor.md +4 -0
- package/presets/claude/next/agents/qa-tester.md +4 -0
- package/presets/claude/next/agents/solution-architect.md +4 -0
- package/presets/claude/next/agents/task-analyst.md +4 -0
- 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 +7 -0
- 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/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/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 +4 -0
- package/presets/cursor/ios-swift/agents/performance-auditor.md +4 -0
- package/presets/cursor/ios-swift/agents/qa-tester.md +4 -0
- package/presets/cursor/ios-swift/agents/solution-architect.md +4 -0
- package/presets/cursor/ios-swift/agents/task-analyst.md +4 -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 +8 -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/next/README.md +46 -0
- 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 +4 -0
- package/presets/cursor/next/agents/performance-auditor.md +4 -0
- package/presets/cursor/next/agents/qa-tester.md +4 -0
- package/presets/cursor/next/agents/solution-architect.md +4 -0
- package/presets/cursor/next/agents/task-analyst.md +4 -0
- 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 +8 -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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preset authoring: PR checklist for twin sync, budget, leakage, README. Use on preset PRs.
|
|
3
|
+
paths:
|
|
4
|
+
- packages/ai-rules/presets/**/*
|
|
5
|
+
- .claude/**/*
|
|
6
|
+
- .cursor/rules/**/*
|
|
7
|
+
- .cursor/team/tasks/**/*
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- shared-core: meta/preset-pr-checklist.md -->
|
|
11
|
+
|
|
12
|
+
# Preset PR checklist
|
|
13
|
+
|
|
14
|
+
Чеклист для PR, затрагивающих `packages/ai-rules/presets/**` (и dogfood `.cursor/` sync).
|
|
15
|
+
|
|
16
|
+
## Before merge
|
|
17
|
+
|
|
18
|
+
- [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
|
|
19
|
+
- [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
|
|
20
|
+
- [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, and go — см. `preset-twin-sync`)
|
|
21
|
+
- [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
|
|
22
|
+
- [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
|
|
23
|
+
- [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
|
|
24
|
+
- [ ] **Twin depth:** domain ≥15 lines; thin aliases documented
|
|
25
|
+
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
26
|
+
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
27
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh` (or document intentional skip) when maintaining this monorepo
|
|
28
|
+
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
29
|
+
|
|
30
|
+
## Pointers
|
|
31
|
+
|
|
32
|
+
- Layering: `preset-layering`
|
|
33
|
+
- Sync: `preset-twin-sync`
|
|
34
|
+
- Budget: `preset-token-budget`
|
|
35
|
+
- Leakage: `preset-no-cross-stack-leakage`
|
|
36
|
+
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
37
|
+
- Dogfood script: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
38
|
+
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
39
|
+
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preset authoring: ≤3 always-on / session-start; meta rules never alwaysApply.
|
|
3
|
+
paths:
|
|
4
|
+
- packages/ai-rules/presets/**/*
|
|
5
|
+
- .claude/**/*
|
|
6
|
+
- .cursor/rules/**/*
|
|
7
|
+
- .cursor/team/tasks/**/*
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- shared-core: meta/preset-token-budget.md -->
|
|
11
|
+
|
|
12
|
+
# Preset token budget
|
|
13
|
+
|
|
14
|
+
Инварианты загрузки правил в **установленном** пресете (consumer app).
|
|
15
|
+
|
|
16
|
+
## Hard caps
|
|
17
|
+
|
|
18
|
+
| Platform | Always-on | Cap |
|
|
19
|
+
|----------|-----------|-----|
|
|
20
|
+
| Cursor | `alwaysApply: true` | **≤ 3** |
|
|
21
|
+
| Claude | rules **without** `paths:` | **ровно 3** |
|
|
22
|
+
|
|
23
|
+
**Claude Option A (README exclusion):** when counting Claude rules without `paths:` / session-start, **exclude `**/README.md`** (topic indexes are not session-start rules). The intended session-start trio remains **exactly 3**; body budget sums **only those 3** rules.
|
|
24
|
+
|
|
25
|
+
Session-start body budget (где задокументировано): ≤120 строк суммарно (stretch ≤100).
|
|
26
|
+
|
|
27
|
+
## Meta / author rules
|
|
28
|
+
|
|
29
|
+
Rules for preset authors (`preset-layering`, `preset-twin-sync`, …):
|
|
30
|
+
|
|
31
|
+
- **Never** `alwaysApply: true` on consumer installs.
|
|
32
|
+
- Cursor: `globs` limited to `packages/ai-rules/presets/**` (and dogfood `.cursor/**` where useful).
|
|
33
|
+
- Claude: `paths:` limited to `packages/ai-rules/presets/**` (and `.claude/**` dogfood if present).
|
|
34
|
+
|
|
35
|
+
## Heavy workflows
|
|
36
|
+
|
|
37
|
+
Orchestrator, feature-delivery, code-review, post-change gates, domain globs — **requestable / paths**, not always-on.
|
|
38
|
+
|
|
39
|
+
## Verifier
|
|
40
|
+
|
|
41
|
+
build-verifier **FAIL** if alwaysApply / session-start count exceeds 3 (Claude count **excludes `**/README.md`**), or if a `preset-*` meta rule is marked always-on.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preset authoring: Cursor SoT → Claude twin same PR. Use when editing preset rules.
|
|
3
|
+
paths:
|
|
4
|
+
- packages/ai-rules/presets/**/*
|
|
5
|
+
- .claude/**/*
|
|
6
|
+
- .cursor/rules/**/*
|
|
7
|
+
- .cursor/team/tasks/**/*
|
|
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,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Роль агента для проведения технического ретроспективы (retro). On-demand — предпочтительнее slash-команда /technical-retro.
|
|
3
|
+
paths:
|
|
4
|
+
- .claude/commands/**/*
|
|
5
|
+
- .claude/team/**/*
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- shared-core: review/technical-retro.md -->
|
|
9
|
+
|
|
10
|
+
# Техническое ретро — rule alias
|
|
11
|
+
|
|
12
|
+
Полный сценарий (включая блок **«Работа агентов»** для slug из team tasks) — в slash-команде:
|
|
13
|
+
|
|
14
|
+
**`commands/technical-retro.md`** → `/technical-retro`
|
|
15
|
+
|
|
16
|
+
Используй rule только если command недоступен. Не дублируй содержимое command в ответе — следуй command-файлу и skill `technical-retro`.
|
|
@@ -24,3 +24,7 @@ Use the local repository as the source of truth: `git status`, `git diff`, task
|
|
|
24
24
|
Lead with findings ordered by severity. Each finding should include the file, the problem, impact, and a concrete fix direction. If there are no findings, say so and call out remaining test or validation risk.
|
|
25
25
|
|
|
26
26
|
For agent team tasks, write `.claude/team/tasks/<slug>/review.md` and set `status.json` to `completed` or `changes_requested`.
|
|
27
|
+
|
|
28
|
+
## Design guidance
|
|
29
|
+
|
|
30
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -13,3 +13,7 @@ description: Delivers Next.js frontend features end-to-end across domain types,
|
|
|
13
13
|
## Handoff
|
|
14
14
|
|
|
15
15
|
Summarize by layer, validation results, and known gaps. Agent team: update `.claude/team/tasks/<slug>/status.json`.
|
|
16
|
+
|
|
17
|
+
## Design guidance
|
|
18
|
+
|
|
19
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Go hexagonal stack — Cursor agent team
|
|
2
|
+
|
|
3
|
+
| Задача | Куда смотреть |
|
|
4
|
+
|--------|----------------|
|
|
5
|
+
| Новая work-задача | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` |
|
|
6
|
+
| Фича end-to-end | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
|
|
7
|
+
| Стек и слои | `go-app-core.mdc`, `architecture-boundaries.mdc` |
|
|
8
|
+
| После правок Go | `post-change-test.mdc` (+ `go-tooling.mdc`) |
|
|
9
|
+
| Integration tests | `integration-test-*` + skill `integration-testing` |
|
|
10
|
+
| Code review | skill `code-review` + `code-review-mr.mdc` |
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx @bonesofspring/ai-rules init cursor --preset go
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Dogfood (5 сценариев)
|
|
19
|
+
|
|
20
|
+
1. `/task` — новый use case (domain → ports → adapters → wire).
|
|
21
|
+
2. Баг маппинга HTTP — debugger + httptest.
|
|
22
|
+
3. Repository contract — integration-test trio.
|
|
23
|
+
4. Unit use case — unit-test planner/generator.
|
|
24
|
+
5. Secrets in logs — security-reviewer + `security-go`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Bugbot priorities — Go hexagonal
|
|
2
|
+
|
|
3
|
+
1. Layer leaks: framework/SQL types in domain; SQL in use cases; business logic in handlers.
|
|
4
|
+
2. Ports: adapters not implementing application interfaces; ORM models leaking upward.
|
|
5
|
+
3. Composition root: business logic in `cmd/` / DI.
|
|
6
|
+
4. Error handling: swallowed errors; missing `%w` wrap; wrong HTTP status mapping.
|
|
7
|
+
5. Tests: missing table-driven unit tests for domain/app; no adapter contract coverage for risky repos.
|
|
8
|
+
6. Security: secrets in logs; string-built SQL; trusting client input in domain.
|
|
9
|
+
7. Ignore Playwright/XCUITest/`lint:js` — not this stack.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# MCP (preset `go`, Cursor)
|
|
2
|
+
|
|
3
|
+
Копируется в `.cursor/mcp.json` при `ai-rules init cursor --preset go`.
|
|
4
|
+
|
|
5
|
+
## Servers
|
|
6
|
+
|
|
7
|
+
| Name | Package | Зачем |
|
|
8
|
+
|------|---------|--------|
|
|
9
|
+
| `context7` | `@upstash/context7-mcp` | Актуальная документация Go / stdlib / популярных библиотек |
|
|
10
|
+
| `figma` | remote `https://mcp.figma.com/mcp` | Design context при необходимости; OAuth в Cursor |
|
|
11
|
+
|
|
12
|
+
Browser e2e MCP (Playwright / Chrome DevTools) **не** входят в go-пресет.
|
|
13
|
+
|
|
14
|
+
Секреты в файл не кладём. Опционально: `CONTEXT7_API_KEY` в окружении. Figma — OAuth (токен не коммитим).
|
|
15
|
+
|
|
16
|
+
После init: Settings → MCP → включить серверы. `init` перезаписывает одноимённый `mcp.json`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Go hexagonal preset (Cursor)
|
|
2
|
+
|
|
3
|
+
Правила и agent-team surface для Go backend (hexagonal / ports & adapters).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx @bonesofspring/ai-rules init cursor --preset go
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
| Path | Содержание |
|
|
12
|
+
|------|------------|
|
|
13
|
+
| `AGENTS.md` | Quick-start |
|
|
14
|
+
| `BUGBOT.md` | Bugbot review priorities (Go) |
|
|
15
|
+
| `rules/**` | `.mdc` + README (alwaysApply ≤3) |
|
|
16
|
+
| `agents/**` | **20** ролей (+ README) |
|
|
17
|
+
| `skills/**` | **7** skills (в т.ч. `integration-testing`) |
|
|
18
|
+
| `commands/**` | task, task-continue, feature-start/continue, technical-retro |
|
|
19
|
+
| `hooks.json` + `hooks/**` | guard-shell + chain-team-phases |
|
|
20
|
+
| `team/**` | fixtures + README |
|
|
21
|
+
| `mcp.json` + `MCP.md` | Context7 + Figma (same as ios baseline) |
|
|
22
|
+
|
|
23
|
+
## alwaysApply (≤3)
|
|
24
|
+
|
|
25
|
+
`go-app-core`, `architecture-boundaries`, `code-quality-and-refactoring`.
|
|
26
|
+
|
|
27
|
+
Requestable: `post-change-test`, `go-tooling`, `agent-team-*`, hexagonal layer globs.
|
|
28
|
+
|
|
29
|
+
## Preset taxonomy & contributing
|
|
30
|
+
|
|
31
|
+
- **Layers:** Core → Stack → Platform — [`../../_shared/README.md`](../../_shared/README.md)
|
|
32
|
+
- **Contribution guide:** [`../../../docs/PRESET-CONTRIBUTION.md`](../../../docs/PRESET-CONTRIBUTION.md) (SoT, twins, token budget, PR checklist)
|
|
33
|
+
- **Author meta-rules:** `preset-*.mdc` (globs `packages/ai-rules/presets/**`, never alwaysApply)
|
|
34
|
+
- **Core→stack mapping:** [`rules/README.md`](./rules/README.md)
|
|
35
|
+
|
|
36
|
+
## Sync with Claude
|
|
37
|
+
|
|
38
|
+
SoT = этот Cursor-пресет. Twin: `presets/claude/go/` **в том же PR**.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# `.cursor/agents` (preset go)
|
|
2
|
+
|
|
3
|
+
| Agent | Production writes |
|
|
4
|
+
|-------|-------------------|
|
|
5
|
+
| task-router, task-analyst, solution-architect | team only |
|
|
6
|
+
| feature-developer | yes (Go sources) |
|
|
7
|
+
| build-verifier | no (report only) |
|
|
8
|
+
| debugger, ci-investigator | minimal |
|
|
9
|
+
| code-reviewer, security-reviewer, performance-auditor | team only |
|
|
10
|
+
| migration-specialist, api-contract-reviewer, tech-writer | team / docs |
|
|
11
|
+
| qa-tester, unit-test-*, integration-test-* | tests |
|
|
12
|
+
|
|
13
|
+
**Roster:** 20 agents. **No** `accessibility-reviewer`, Playwright, or XCUITest stems.
|
|
14
|
+
|
|
15
|
+
Replace Playwright/XCUITest intents with **`integration-test-*`**.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-contract-reviewer
|
|
3
|
+
description: API contract review specialist. Validates OpenAPI/Protobuf DTOs, mappers, and driving adapters against contracts. Readonly — writes api-contract-review.md only; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review **HTTP/gRPC contract alignment** for Go hexagonal services.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- OpenAPI / proto definitions vs adapter DTOs
|
|
12
|
+
- Mapping at driving edge (no domain pollution with wire types)
|
|
13
|
+
- Status/error code mapping consistency
|
|
14
|
+
- Backward compatibility of public `pkg/` or published APIs
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
|
|
18
|
+
`.cursor/team/tasks/<slug>/api-contract-review.md` — gaps, severity, suggested fixes (no code edits).
|
|
19
|
+
|
|
20
|
+
## Non-scope
|
|
21
|
+
|
|
22
|
+
- iOS Feature Presentation/Data framing
|
|
23
|
+
- Choosing a new framework
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-verifier
|
|
3
|
+
description: Validation gate specialist. Runs go test/vet/lint-if-present after implementation; writes validation-report.md. Never fixes app source. For preset packaging tasks, also validates go preset structure gates.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the build verifier for **Go hexagonal** services (and for **ai-rules preset packaging** when scope says so).
|
|
9
|
+
|
|
10
|
+
## Consumer Go repos
|
|
11
|
+
|
|
12
|
+
1. Run from module root: `go test ./...`, `go vet ./...`.
|
|
13
|
+
2. If present: `golangci-lint` / `staticcheck` per repo docs (`go-tooling`, `post-change-test`).
|
|
14
|
+
3. Optional `-race` when concurrency touched.
|
|
15
|
+
4. Write `.cursor/team/tasks/<slug>/validation-report.md` with commands + results.
|
|
16
|
+
5. On failure: set status `validation_failed` — do **not** patch production code (developer retries).
|
|
17
|
+
|
|
18
|
+
**Never** require Playwright, XCUITest, `lint:js`/`lint:css`, or `xcodebuild`/`SwiftLint` as the Go gate.
|
|
19
|
+
|
|
20
|
+
## Preset-structure validation (when editing `packages/ai-rules/presets/**`)
|
|
21
|
+
|
|
22
|
+
From `packages/ai-rules/`:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
yarn check:preset-structure
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Hard gates: twin-map (stacks include **go**), token-budget (alwaysApply/session-start = 3), leakage (`GO_FORBIDDEN_*`, chain forks go≠next≠ios-swift).
|
|
29
|
+
|
|
30
|
+
Document PASS/FAIL in `validation-report.md`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ci-investigator
|
|
3
|
+
description: Investigates failing CI checks on PRs and branches — go test, vet, golangci-lint, integration jobs — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Triage red CI for Go repos (and ai-rules preset-structure when relevant).
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. Identify failing job/logs.
|
|
12
|
+
2. Reproduce locally (`go test`, `go vet`, lint-if-present, or `yarn check:preset-structure` for preset PRs).
|
|
13
|
+
3. Minimal fix or document blocker; update `debug-report.md` / status.
|
|
14
|
+
|
|
15
|
+
## Never
|
|
16
|
+
|
|
17
|
+
- Never treat `lint:js` / Playwright / xcodebuild as the Go default gate.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
description: Expert code review specialist for Go hexagonal services. Reviews after feature development using code-review-mr checklist. Writes only review artifacts/status; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior Go hexagonal code reviewer. Write only review artifacts under `.cursor/team/**`; do not modify production code.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
1. `.cursor/team/tasks/<slug>/brief.md`
|
|
13
|
+
2. `.cursor/team/tasks/<slug>/decomposition.md`
|
|
14
|
+
3. Git diff (`git diff`, `git status`)
|
|
15
|
+
4. `.cursor/team/tasks/<slug>/validation-report.md` if present
|
|
16
|
+
|
|
17
|
+
Apply skill `code-review` and `code-review-mr.mdc`. Weigh `architecture-boundaries.mdc`, `domain-layer.mdc`, `application-usecases.mdc`, `ports-interfaces.mdc`, `adapters-driving.mdc`, `adapters-driven.mdc`, `composition-root.mdc`, `go-conventions.mdc`, `tests-unit.mdc`, `tests-integration.mdc`, `security-go.mdc`.
|
|
18
|
+
|
|
19
|
+
## Review focus (Go hexagonal)
|
|
20
|
+
|
|
21
|
+
- **Layers:** domain has no HTTP/SQL/framework imports; application defines ports and has no concrete adapters; handlers map DTO↔domain at the edge only.
|
|
22
|
+
- **DI:** composition root in `cmd/` / `internal/app` — no business logic in wiring.
|
|
23
|
+
- **Errors / context:** `%w` wrapping; `context.Context` on I/O boundaries; no swallowed errors.
|
|
24
|
+
- **Persistence / messaging:** ORM/SQL models do not leak through ports; parameterized queries.
|
|
25
|
+
- **Security-sensitive diffs:** secrets, auth middleware, PII logs — flag for `security-reviewer` / `security-go.mdc`.
|
|
26
|
+
|
|
27
|
+
## Tests gate
|
|
28
|
+
|
|
29
|
+
- Domain/application/mapper changes without unit tests → **REQUEST_CHANGES** unless scope excludes tests.
|
|
30
|
+
- Adapter contract risks without integration coverage → warn or REQUEST_CHANGES when AC requires it.
|
|
31
|
+
- `validation-report.md` FAIL → **REQUEST_CHANGES**.
|
|
32
|
+
- Never require Playwright, XCUITest, `lint:js`, or `xcodebuild`.
|
|
33
|
+
|
|
34
|
+
## Artifact
|
|
35
|
+
|
|
36
|
+
Write `.cursor/team/tasks/<slug>/review.md` with verdict APPROVE | REQUEST_CHANGES, findings by severity, AC coverage. Update `status.json` accordingly.
|
|
37
|
+
|
|
38
|
+
## Design guidance
|
|
39
|
+
|
|
40
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debugger
|
|
3
|
+
description: Debugging specialist for errors, test failures, and unexpected behavior in Go services. Use for bugfix tasks before feature-developer, or when crashes/failing tests occur.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Investigate with **runtime evidence**: failing `go test` output, logs, stack traces, minimal repro.
|
|
8
|
+
|
|
9
|
+
## Approach
|
|
10
|
+
|
|
11
|
+
1. Reproduce with `go test` / focused package tests.
|
|
12
|
+
2. Form hypothesis at the correct layer (domain vs adapter vs wiring).
|
|
13
|
+
3. Apply **minimal** fix or hand off clear root cause to feature-developer.
|
|
14
|
+
4. Prefer adding/adjusting a failing test that locks the bug.
|
|
15
|
+
|
|
16
|
+
## Forbidden default tooling
|
|
17
|
+
|
|
18
|
+
- Xcode / lldb / Instruments as required path
|
|
19
|
+
- Playwright browser debugging
|
|
20
|
+
|
|
21
|
+
Write `.cursor/team/tasks/<slug>/debug-report.md`.
|
|
22
|
+
|
|
23
|
+
## Design guidance
|
|
24
|
+
|
|
25
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-developer
|
|
3
|
+
description: Feature implementation specialist for Go hexagonal services. Implements tasks from decomposition.md following feature-delivery workflow. Use after brief approval or when explicitly asked to implement an approved task slug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Implement Go features following hexagonal boundaries.
|
|
8
|
+
|
|
9
|
+
## Order
|
|
10
|
+
|
|
11
|
+
1. Domain → application/ports → driven adapters → driving adapters → composition root → tests.
|
|
12
|
+
2. Read `feature-delivery-workflow.mdc`, `architecture-boundaries.mdc`, layer globs.
|
|
13
|
+
3. After `*.go` edits: invoke `post-change-test.mdc` (+ `go-tooling.mdc`).
|
|
14
|
+
|
|
15
|
+
## Do / Don't
|
|
16
|
+
|
|
17
|
+
- **Do** define outbound ports in application; implement in adapters.
|
|
18
|
+
- **Do** map DTOs only at the edge; keep `cmd/` free of business rules.
|
|
19
|
+
- **Don't** import frameworks into domain; don't use SQL in use cases.
|
|
20
|
+
- **Don't** require Playwright, XCUITest, or yarn lint gates.
|
|
21
|
+
|
|
22
|
+
## Preset packaging
|
|
23
|
+
|
|
24
|
+
When editing ai-rules `presets/**/go/**`, keep Cursor/Claude twins in sync and preserve chain fork ≠ next/ios-swift.
|
|
25
|
+
|
|
26
|
+
Update `.cursor/team/tasks/<slug>/implementation.md` and `status.json`.
|
|
27
|
+
|
|
28
|
+
## Design guidance
|
|
29
|
+
|
|
30
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-generator
|
|
3
|
+
description: Generates Go integration tests from plans. Tests only — no production refactors.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-generator** for Go hexagonal services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Adapter contract / integration tests (`*_integration_test.go`, `integration/`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Mock or wire through **ports**; do not put SQL in use-case unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-healer
|
|
3
|
+
description: Heals flaky/failing Go integration tests while preserving assertions.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-healer** for Go hexagonal services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Adapter contract / integration tests (`*_integration_test.go`, `integration/`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Mock or wire through **ports**; do not put SQL in use-case unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-test-planner
|
|
3
|
+
description: Plans Go integration/adapter contract tests (httptest, testcontainers). Writes plans only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **integration-test-planner** for Go hexagonal services.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
- Adapter contract / integration tests (`*_integration_test.go`, `integration/`), optional HTTP smoke.
|
|
12
|
+
- Follow `tests-integration.mdc` / `tests-e2e.mdc` and skill `integration-testing`.
|
|
13
|
+
- Mock or wire through **ports**; do not put SQL in use-case unit tests.
|
|
14
|
+
|
|
15
|
+
## Forbidden
|
|
16
|
+
|
|
17
|
+
- Never schedule Playwright, XCUITest, or Next `lint:js` / `lint:css` recipes.
|
|
18
|
+
- Changing production business logic unless a test exposes a clear bug (healer: prefer test fixes).
|
|
19
|
+
|
|
20
|
+
## Artifacts
|
|
21
|
+
|
|
22
|
+
Write plans/results under `.cursor/team/tasks/<slug>/` (e.g. `integration-test-plan.md`).
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: migration-specialist
|
|
3
|
+
description: Migration planning specialist for Go module/toolchain upgrades, dependency swaps, and phased refactors with rollback. Writes migration-plan.md and team status; never writes production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You plan migrations for **Go modules** (toolchain, deps, layout refactors). Do not edit production code.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- Task brief / decomposition
|
|
12
|
+
- `go.mod`, `go.work`, CI workflows, Makefile/taskfile if present
|
|
13
|
+
|
|
14
|
+
## Deliverable
|
|
15
|
+
|
|
16
|
+
Write `.cursor/team/tasks/<slug>/migration-plan.md`:
|
|
17
|
+
|
|
18
|
+
1. Current vs target (Go version, modules, major deps).
|
|
19
|
+
2. Phased steps with rollback.
|
|
20
|
+
3. Risk: breaking API in `pkg/`, proto/OpenAPI, DB migrations.
|
|
21
|
+
4. Validation: `go test ./...`, `go vet`, lint-if-present, CI job list.
|
|
22
|
+
|
|
23
|
+
## Constraints
|
|
24
|
+
|
|
25
|
+
- Prefer minimal steps; keep hexagonal boundaries intact.
|
|
26
|
+
- Do not invent a new HTTP framework mid-migration without AC.
|
|
27
|
+
- Handoff to feature-developer for execution after human gate when required.
|
|
28
|
+
|
|
29
|
+
## Design guidance
|
|
30
|
+
|
|
31
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-auditor
|
|
3
|
+
description: Performance audit specialist for Go services. Reviews hot paths, allocations, locking, DB N+1, and pprof-oriented risks. Readonly — writes perf-report.md only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Audit Go performance risks on the task scope.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- Hot request paths; unbounded goroutines; missing context cancel
|
|
12
|
+
- DB N+1 / missing indexes hints in adapters
|
|
13
|
+
- Excessive allocations in mappers; large JSON payloads
|
|
14
|
+
- Suggest `go test -bench`, `pprof`, tracing only if repo already supports them
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
|
|
18
|
+
`.cursor/team/tasks/<slug>/perf-report.md`. No production edits. Not Instruments/Xcode.
|
|
19
|
+
|
|
20
|
+
## Design guidance
|
|
21
|
+
|
|
22
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-tester
|
|
3
|
+
description: QA and test specialist. Adds or updates unit and integration test coverage per decomposition. Use after code review completes for a team task slug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Ensure test coverage for the Go task scope.
|
|
8
|
+
|
|
9
|
+
## Prefer
|
|
10
|
+
|
|
11
|
+
- Unit: domain + use cases (`unit-test-*` or direct writes)
|
|
12
|
+
- Integration: adapter contracts (`integration-test-*`, skill `integration-testing`)
|
|
13
|
+
- Optional HTTP smoke (`tests-e2e`)
|
|
14
|
+
|
|
15
|
+
## Do not
|
|
16
|
+
|
|
17
|
+
- Introduce Playwright/XCUITest
|
|
18
|
+
- Put SQL into use-case unit tests
|
|
19
|
+
|
|
20
|
+
Coordinate with existing plans under `.cursor/team/tasks/<slug>/`.
|
|
21
|
+
|
|
22
|
+
## Design guidance
|
|
23
|
+
|
|
24
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-reviewer
|
|
3
|
+
description: Security review specialist for Go backends. Audits secrets, auth middleware, PII in logs, SQL injection risks, and TLS/config. Readonly — writes security-review.md only.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review Go diffs against `security-go.mdc`.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- Secrets in repo/logs; token handling
|
|
12
|
+
- AuthN/AuthZ at middleware / driving adapters
|
|
13
|
+
- Parameterized queries; untrusted input validation
|
|
14
|
+
- PII redaction; secure defaults for cookies/headers/TLS
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
|
|
18
|
+
`.cursor/team/tasks/<slug>/security-review.md`. Do not edit production code.
|
|
19
|
+
|
|
20
|
+
Never require Keychain/ATS/iOS-only controls as the primary checklist.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solution-architect
|
|
3
|
+
description: Solution architect for cross-layer Go features, port/adapter boundaries, and technical design before implementation. Readonly — produces design docs, not production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Design solutions for **Go hexagonal** services.
|
|
8
|
+
|
|
9
|
+
## Deliverable
|
|
10
|
+
|
|
11
|
+
`.cursor/team/tasks/<slug>/architecture.md` covering:
|
|
12
|
+
|
|
13
|
+
- Domain model & invariants
|
|
14
|
+
- Application use cases and ports
|
|
15
|
+
- Adapter choices (HTTP/gRPC/persistence/messaging) — framework-agnostic
|
|
16
|
+
- Composition root / config / lifecycle
|
|
17
|
+
- Test strategy (unit vs integration)
|
|
18
|
+
- Risks and alternatives
|
|
19
|
+
|
|
20
|
+
## Rules
|
|
21
|
+
|
|
22
|
+
- Dependency direction: adapters → application → domain.
|
|
23
|
+
- Do not invent Next/iOS layer names.
|
|
24
|
+
- No production code.
|
|
25
|
+
|
|
26
|
+
## Design guidance
|
|
27
|
+
|
|
28
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|