@bonesofspring/ai-rules 0.2.14 → 0.2.16
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 +24 -1
- package/README.md +3 -1
- package/bin/cli.js +2 -0
- package/package.json +2 -1
- package/presets/_shared/core/agent-team/agent-team-intake.md +2 -2
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +4 -4
- package/presets/_shared/core/architecture/feature-delivery-workflow.md +27 -27
- package/presets/_shared/core/architecture/reference-features.template.md +23 -23
- package/presets/_shared/core/meta/preset-layering.md +12 -12
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +26 -13
- package/presets/_shared/core/meta/preset-pr-checklist.md +6 -6
- package/presets/_shared/core/meta/preset-token-budget.md +3 -3
- package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
- package/presets/_shared/core/quality/code-quality-and-refactoring.md +19 -19
- package/presets/_shared/core/quality/design-guidance.md +54 -54
- package/presets/_shared/core/review/code-review-mr.md +4 -4
- package/presets/_shared/core/review/technical-retro.md +3 -3
- package/presets/claude/android-kotlin/CLAUDE.md +38 -0
- package/presets/claude/android-kotlin/MCP.md +16 -0
- package/presets/claude/android-kotlin/README.md +32 -0
- package/presets/claude/android-kotlin/REPO_AGENTS.md +48 -0
- package/presets/claude/android-kotlin/agents/README.md +44 -0
- package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +60 -0
- package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +70 -0
- package/presets/claude/android-kotlin/agents/build-verifier.md +67 -0
- package/presets/claude/android-kotlin/agents/ci-investigator.md +74 -0
- package/presets/claude/android-kotlin/agents/code-reviewer.md +74 -0
- package/presets/claude/android-kotlin/agents/codebase-analyzer.md +28 -0
- package/presets/claude/android-kotlin/agents/debugger.md +77 -0
- package/presets/claude/android-kotlin/agents/feature-developer.md +63 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-generator.md +19 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-healer.md +19 -0
- package/presets/claude/android-kotlin/agents/instrumentation-test-planner.md +19 -0
- package/presets/claude/android-kotlin/agents/migration-specialist.md +74 -0
- package/presets/claude/android-kotlin/agents/performance-auditor.md +67 -0
- package/presets/claude/android-kotlin/agents/qa-tester.md +66 -0
- package/presets/claude/android-kotlin/agents/security-reviewer.md +65 -0
- package/presets/claude/android-kotlin/agents/solution-architect.md +21 -0
- package/presets/claude/android-kotlin/agents/task-analyst.md +36 -0
- package/presets/claude/android-kotlin/agents/task-router.md +103 -0
- package/presets/claude/android-kotlin/agents/tech-writer.md +61 -0
- package/presets/claude/android-kotlin/agents/unit-test-generator.md +55 -0
- package/presets/claude/android-kotlin/agents/unit-test-healer.md +54 -0
- package/presets/claude/android-kotlin/agents/unit-test-planner.md +65 -0
- package/presets/claude/android-kotlin/commands/README.md +51 -0
- package/presets/claude/android-kotlin/commands/feature-continue.md +19 -0
- package/presets/claude/android-kotlin/commands/feature-start.md +33 -0
- package/presets/claude/android-kotlin/commands/task-continue.md +50 -0
- package/presets/claude/android-kotlin/commands/task.md +56 -0
- package/presets/claude/android-kotlin/commands/technical-retro.md +85 -0
- package/presets/claude/android-kotlin/hooks/README.md +16 -0
- package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +705 -0
- package/presets/claude/android-kotlin/hooks/examples/README.md +18 -0
- package/presets/claude/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
- package/presets/claude/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/claude/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
- package/presets/claude/android-kotlin/hooks/guard-shell-command.sh +80 -0
- package/presets/claude/android-kotlin/mcp.json +12 -0
- package/presets/claude/android-kotlin/rules/README.md +63 -0
- package/presets/claude/android-kotlin/rules/api-and-data/README.md +10 -0
- package/presets/claude/android-kotlin/rules/api-and-data/networking.md +30 -0
- package/presets/claude/android-kotlin/rules/api-and-data/persistence.md +29 -0
- package/presets/claude/android-kotlin/rules/architecture/README.md +9 -0
- package/presets/claude/android-kotlin/rules/architecture/boundaries.md +27 -0
- package/presets/claude/android-kotlin/rules/architecture/di-dagger-feature-holders.md +34 -0
- package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +41 -0
- package/presets/claude/android-kotlin/rules/architecture/module-public-api.md +29 -0
- package/presets/claude/android-kotlin/rules/architecture/reference-features.md +28 -0
- package/presets/claude/android-kotlin/rules/stack/README.md +6 -0
- package/presets/claude/android-kotlin/rules/stack/android-app-core.md +27 -0
- package/presets/claude/android-kotlin/rules/stack/kotlin-conventions.md +30 -0
- package/presets/claude/android-kotlin/rules/testing/README.md +10 -0
- package/presets/claude/android-kotlin/rules/testing/ui.md +28 -0
- package/presets/claude/android-kotlin/rules/testing/unit.md +29 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/README.md +19 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-intake.md +18 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +127 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +52 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-review.md +88 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/design-guidance.md +110 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/gradle-tooling.md +30 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/post-change-build.md +34 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +100 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +56 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/security-android.md +29 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/technical-retro.md +18 -0
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/README.md +7 -0
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/compose.md +31 -0
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/navigation.md +30 -0
- package/presets/claude/android-kotlin/rules/ui-and-accessibility/viewmodels.md +27 -0
- package/presets/claude/android-kotlin/skills/README.md +14 -0
- package/presets/claude/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
- package/presets/claude/android-kotlin/skills/code-review/SKILL.md +39 -0
- package/presets/claude/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
- package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +35 -0
- package/presets/claude/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
- package/presets/claude/android-kotlin/skills/technical-retro/SKILL.md +54 -0
- package/presets/claude/android-kotlin/skills/unit-testing/SKILL.md +32 -0
- package/presets/claude/android-kotlin/skills/write-adr/SKILL.md +41 -0
- package/presets/claude/android-kotlin/team/README.md +54 -0
- package/presets/claude/android-kotlin/team/conventions.md +17 -0
- package/presets/claude/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
- package/presets/claude/android-kotlin/team/fixtures/feature-full.json +97 -0
- package/presets/claude/android-kotlin/team/fixtures/feature-light.json +38 -0
- package/presets/claude/go/MCP.md +7 -7
- package/presets/claude/go/README.md +3 -3
- package/presets/claude/go/agents/README.md +2 -2
- package/presets/claude/go/agents/task-router.md +13 -13
- package/presets/claude/go/commands/README.md +8 -8
- package/presets/claude/go/commands/feature-continue.md +21 -21
- package/presets/claude/go/commands/feature-start.md +16 -16
- package/presets/claude/go/commands/task-continue.md +14 -14
- package/presets/claude/go/commands/task.md +32 -32
- package/presets/claude/go/commands/technical-retro.md +38 -38
- package/presets/claude/go/rules/architecture/boundaries.md +10 -10
- package/presets/claude/go/rules/stack/README.md +1 -1
- package/presets/claude/go/rules/stack/go-app-core.md +11 -11
- package/presets/claude/go/rules/tooling-and-review/README.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/go/rules/tooling-and-review/code-quality.md +21 -20
- package/presets/claude/go/rules/tooling-and-review/code-review.md +4 -4
- package/presets/claude/go/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/go/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/go/rules/tooling-and-review/technical-retro.md +3 -3
- package/presets/claude/go/team/README.md +1 -1
- package/presets/claude/ios-swift/CLAUDE.md +16 -16
- package/presets/claude/ios-swift/MCP.md +10 -8
- package/presets/claude/ios-swift/README.md +8 -8
- package/presets/claude/ios-swift/agents/README.md +11 -11
- package/presets/claude/ios-swift/agents/feature-developer.md +1 -1
- package/presets/claude/ios-swift/agents/task-analyst.md +1 -1
- package/presets/claude/ios-swift/agents/task-router.md +18 -18
- package/presets/claude/ios-swift/commands/README.md +48 -10
- package/presets/claude/ios-swift/commands/feature-continue.md +9 -41
- package/presets/claude/ios-swift/commands/feature-start.md +19 -16
- package/presets/claude/ios-swift/commands/task-continue.md +14 -14
- package/presets/claude/ios-swift/commands/task.md +33 -33
- package/presets/claude/ios-swift/commands/technical-retro.md +61 -38
- package/presets/claude/ios-swift/rules/README.md +7 -7
- package/presets/claude/ios-swift/rules/api-and-data/README.md +1 -1
- package/presets/claude/ios-swift/rules/api-and-data/networking.md +31 -31
- package/presets/claude/ios-swift/rules/api-and-data/persistence.md +13 -13
- package/presets/claude/ios-swift/rules/architecture/README.md +1 -1
- package/presets/claude/ios-swift/rules/architecture/boundaries.md +20 -20
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +31 -30
- package/presets/claude/ios-swift/rules/architecture/module-public-api.md +11 -11
- package/presets/claude/ios-swift/rules/architecture/reference-features.md +25 -22
- package/presets/claude/ios-swift/rules/stack/README.md +1 -1
- package/presets/claude/ios-swift/rules/stack/ios-app-core.md +10 -10
- package/presets/claude/ios-swift/rules/stack/swift-conventions.md +17 -17
- package/presets/claude/ios-swift/rules/testing/README.md +1 -1
- package/presets/claude/ios-swift/rules/testing/ui.md +27 -27
- package/presets/claude/ios-swift/rules/testing/unit.md +25 -25
- package/presets/claude/ios-swift/rules/tooling-and-review/README.md +5 -2
- 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 +51 -21
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +25 -24
- package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +40 -39
- package/presets/claude/ios-swift/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +18 -18
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +14 -14
- package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +4 -4
- package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +11 -11
- package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +1 -1
- package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +13 -13
- package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +39 -39
- package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +24 -24
- package/presets/claude/ios-swift/skills/README.md +3 -3
- package/presets/claude/ios-swift/team/README.md +6 -2
- package/presets/claude/java/MCP.md +5 -5
- package/presets/claude/java/agents/README.md +2 -2
- package/presets/claude/java/agents/task-router.md +13 -13
- package/presets/claude/java/commands/README.md +8 -8
- package/presets/claude/java/commands/feature-continue.md +21 -21
- package/presets/claude/java/commands/feature-start.md +16 -16
- package/presets/claude/java/commands/task-continue.md +14 -14
- package/presets/claude/java/commands/task.md +32 -32
- package/presets/claude/java/commands/technical-retro.md +38 -38
- package/presets/claude/java/rules/architecture/boundaries.md +10 -10
- package/presets/claude/java/rules/stack/README.md +1 -1
- package/presets/claude/java/rules/stack/java-app-core.md +9 -9
- package/presets/claude/java/rules/tooling-and-review/README.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/java/rules/tooling-and-review/code-quality.md +21 -20
- package/presets/claude/java/rules/tooling-and-review/code-review.md +5 -4
- package/presets/claude/java/rules/tooling-and-review/design-guidance.md +55 -54
- package/presets/claude/java/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/java/rules/tooling-and-review/technical-retro.md +3 -3
- package/presets/claude/java/team/README.md +1 -1
- package/presets/claude/mcp-ts/MCP.md +5 -5
- package/presets/claude/mcp-ts/agents/task-router.md +7 -7
- package/presets/claude/mcp-ts/commands/README.md +1 -1
- package/presets/claude/mcp-ts/commands/feature-continue.md +8 -8
- package/presets/claude/mcp-ts/commands/feature-start.md +17 -17
- package/presets/claude/mcp-ts/commands/task-continue.md +14 -14
- package/presets/claude/mcp-ts/commands/task.md +32 -32
- package/presets/claude/mcp-ts/commands/technical-retro.md +54 -54
- package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +2 -2
- package/presets/claude/mcp-ts/rules/stack/mcp-ts-app-core.md +9 -9
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +3 -3
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +21 -20
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-review.md +5 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/design-guidance.md +55 -54
- package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +3 -3
- package/presets/claude/next/CLAUDE.md +17 -17
- package/presets/claude/next/MCP.md +8 -8
- package/presets/claude/next/README.md +16 -16
- package/presets/claude/next/agents/README.md +19 -19
- package/presets/claude/next/agents/feature-developer.md +1 -1
- package/presets/claude/next/agents/task-analyst.md +1 -1
- package/presets/claude/next/agents/task-router.md +16 -16
- package/presets/claude/next/commands/README.md +9 -9
- package/presets/claude/next/commands/feature-continue.md +21 -21
- package/presets/claude/next/commands/feature-start.md +16 -16
- package/presets/claude/next/commands/task-continue.md +14 -14
- package/presets/claude/next/commands/task.md +33 -33
- package/presets/claude/next/commands/technical-retro.md +38 -38
- package/presets/claude/next/rules/README.md +12 -12
- package/presets/claude/next/rules/api-and-data/README.md +6 -6
- package/presets/claude/next/rules/api-and-data/api-services.md +42 -42
- package/presets/claude/next/rules/api-and-data/http-client.md +22 -21
- package/presets/claude/next/rules/api-and-data/store-rtk.md +60 -60
- package/presets/claude/next/rules/architecture/README.md +8 -8
- package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +6 -6
- package/presets/claude/next/rules/architecture/architecture-boundaries.md +44 -44
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +39 -39
- package/presets/claude/next/rules/architecture/layer-barrel-exports.md +30 -29
- package/presets/claude/next/rules/architecture/public-imports.md +13 -13
- package/presets/claude/next/rules/architecture/reference-features.md +16 -16
- package/presets/claude/next/rules/stack/README.md +9 -9
- package/presets/claude/next/rules/stack/arrow-functions.md +7 -7
- package/presets/claude/next/rules/stack/navigation-router-ui.md +6 -6
- package/presets/claude/next/rules/stack/navigation-router.md +37 -37
- package/presets/claude/next/rules/stack/next-app-core.md +17 -17
- package/presets/claude/next/rules/stack/next-app-router.md +17 -17
- package/presets/claude/next/rules/stack/no-type-assertion.md +28 -28
- package/presets/claude/next/rules/stack/types-jsdoc.md +31 -20
- package/presets/claude/next/rules/testing/README.md +5 -5
- package/presets/claude/next/rules/testing/playwright-agents.md +1 -1
- package/presets/claude/next/rules/testing/tests-e2e-structure.md +48 -47
- package/presets/claude/next/rules/testing/tests-unit.md +50 -51
- package/presets/claude/next/rules/tooling-and-review/README.md +9 -9
- package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +25 -24
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +4 -4
- package/presets/claude/next/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/next/rules/tooling-and-review/package-manager.md +7 -7
- package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +22 -22
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/next/rules/tooling-and-review/technical-retro.md +4 -4
- package/presets/claude/next/rules/ui-and-accessibility/README.md +7 -7
- package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +3 -3
- package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +18 -18
- package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +20 -20
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +63 -63
- package/presets/claude/next/skills/README.md +4 -4
- package/presets/claude/next/skills/feature-delivery/SKILL.md +1 -1
- package/presets/claude/next/team/README.md +2 -2
- package/presets/claude/nuxt/CLAUDE.md +19 -19
- package/presets/claude/nuxt/MCP.md +8 -8
- package/presets/claude/nuxt/README.md +18 -18
- package/presets/claude/nuxt/agents/README.md +38 -31
- package/presets/claude/nuxt/agents/feature-developer.md +1 -1
- package/presets/claude/nuxt/agents/task-analyst.md +1 -1
- package/presets/claude/nuxt/agents/task-router.md +22 -22
- package/presets/claude/nuxt/commands/README.md +48 -10
- package/presets/claude/nuxt/commands/feature-continue.md +9 -41
- package/presets/claude/nuxt/commands/feature-start.md +19 -16
- package/presets/claude/nuxt/commands/task-continue.md +14 -14
- package/presets/claude/nuxt/commands/task.md +33 -33
- package/presets/claude/nuxt/commands/technical-retro.md +61 -38
- package/presets/claude/nuxt/rules/README.md +5 -5
- package/presets/claude/nuxt/rules/api-and-data/README.md +6 -6
- package/presets/claude/nuxt/rules/api-and-data/api-services.md +44 -43
- package/presets/claude/nuxt/rules/api-and-data/store-pinia.md +27 -26
- package/presets/claude/nuxt/rules/architecture/README.md +8 -8
- package/presets/claude/nuxt/rules/architecture/architecture-boundaries-ui.md +8 -7
- package/presets/claude/nuxt/rules/architecture/architecture-boundaries.md +59 -58
- package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +45 -44
- package/presets/claude/nuxt/rules/architecture/layer-barrel-exports.md +32 -31
- package/presets/claude/nuxt/rules/architecture/public-imports.md +15 -14
- package/presets/claude/nuxt/rules/architecture/reference-features.md +18 -17
- package/presets/claude/nuxt/rules/stack/README.md +8 -8
- package/presets/claude/nuxt/rules/stack/navigation-router-ui.md +6 -6
- package/presets/claude/nuxt/rules/stack/navigation-router.md +37 -37
- package/presets/claude/nuxt/rules/stack/no-type-assertion.md +30 -29
- package/presets/claude/nuxt/rules/stack/nuxt-app-core.md +17 -16
- package/presets/claude/nuxt/rules/stack/types-jsdoc.md +23 -22
- package/presets/claude/nuxt/rules/testing/README.md +5 -5
- package/presets/claude/nuxt/rules/testing/tests-e2e-structure.md +45 -45
- package/presets/claude/nuxt/rules/testing/tests-unit.md +52 -52
- package/presets/claude/nuxt/rules/tooling-and-review/README.md +9 -9
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-intake.md +3 -2
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +5 -4
- package/presets/claude/nuxt/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -0
- package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +26 -24
- package/presets/claude/nuxt/rules/tooling-and-review/code-review-mr.md +6 -5
- package/presets/claude/nuxt/rules/tooling-and-review/design-guidance.md +55 -54
- package/presets/claude/nuxt/rules/tooling-and-review/package-manager.md +9 -8
- package/presets/claude/nuxt/rules/tooling-and-review/post-change-lint.md +24 -23
- package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +13 -13
- package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +27 -14
- package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +7 -7
- package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +3 -1
- package/presets/claude/nuxt/rules/tooling-and-review/technical-retro.md +5 -4
- package/presets/claude/nuxt/rules/ui-and-accessibility/README.md +7 -7
- package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +7 -6
- package/presets/claude/nuxt/skills/README.md +4 -4
- package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +1 -1
- package/presets/claude/nuxt/team/README.md +8 -4
- package/presets/claude/php-hexagonal/MCP.md +7 -7
- package/presets/claude/php-hexagonal/agents/README.md +3 -3
- package/presets/claude/php-hexagonal/agents/task-router.md +12 -12
- package/presets/claude/php-hexagonal/commands/README.md +9 -9
- package/presets/claude/php-hexagonal/commands/feature-continue.md +21 -21
- package/presets/claude/php-hexagonal/commands/feature-start.md +16 -16
- package/presets/claude/php-hexagonal/commands/task-continue.md +14 -14
- package/presets/claude/php-hexagonal/commands/task.md +32 -32
- package/presets/claude/php-hexagonal/commands/technical-retro.md +38 -38
- package/presets/claude/php-hexagonal/rules/architecture/boundaries.md +11 -10
- package/presets/claude/php-hexagonal/rules/stack/README.md +1 -1
- package/presets/claude/php-hexagonal/rules/stack/php-app-core.md +11 -10
- package/presets/claude/php-hexagonal/rules/tooling-and-review/README.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +21 -21
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-review.md +4 -4
- package/presets/claude/php-hexagonal/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/php-hexagonal/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/technical-retro.md +3 -3
- package/presets/claude/php-hexagonal/team/README.md +1 -1
- package/presets/claude/php-laravel/agents/README.md +3 -3
- package/presets/claude/php-laravel/agents/task-router.md +14 -14
- package/presets/claude/php-laravel/commands/README.md +9 -9
- package/presets/claude/php-laravel/commands/feature-continue.md +21 -21
- package/presets/claude/php-laravel/commands/feature-start.md +16 -16
- package/presets/claude/php-laravel/commands/task-continue.md +14 -14
- package/presets/claude/php-laravel/commands/task.md +32 -32
- package/presets/claude/php-laravel/commands/technical-retro.md +38 -38
- package/presets/claude/php-laravel/rules/api-and-data/events-listeners.md +1 -1
- package/presets/claude/php-laravel/rules/architecture/boundaries.md +11 -11
- package/presets/claude/php-laravel/rules/stack/laravel-app-core.md +8 -8
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-intake.md +3 -2
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
- package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +21 -20
- package/presets/claude/php-laravel/rules/tooling-and-review/code-review.md +4 -5
- package/presets/claude/php-laravel/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/php-laravel/rules/tooling-and-review/post-change-test.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +13 -13
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +27 -14
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +7 -7
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +4 -4
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +3 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/technical-retro.md +4 -3
- package/presets/claude/php-laravel/team/README.md +1 -1
- package/presets/claude/svelte/CLAUDE.md +17 -17
- package/presets/claude/svelte/MCP.md +8 -8
- package/presets/claude/svelte/README.md +1 -1
- package/presets/claude/svelte/agents/README.md +37 -30
- package/presets/claude/svelte/agents/feature-developer.md +1 -1
- package/presets/claude/svelte/agents/task-analyst.md +1 -1
- package/presets/claude/svelte/agents/task-router.md +19 -18
- package/presets/claude/svelte/commands/README.md +48 -10
- package/presets/claude/svelte/commands/feature-continue.md +9 -41
- package/presets/claude/svelte/commands/feature-start.md +19 -16
- package/presets/claude/svelte/commands/task-continue.md +14 -14
- package/presets/claude/svelte/commands/task.md +33 -33
- package/presets/claude/svelte/commands/technical-retro.md +61 -38
- package/presets/claude/svelte/rules/README.md +2 -2
- package/presets/claude/svelte/rules/api-and-data/README.md +6 -6
- package/presets/claude/svelte/rules/api-and-data/api-services.md +14 -14
- package/presets/claude/svelte/rules/api-and-data/store-svelte.md +26 -26
- package/presets/claude/svelte/rules/architecture/README.md +8 -8
- package/presets/claude/svelte/rules/architecture/architecture-boundaries-ui.md +7 -7
- package/presets/claude/svelte/rules/architecture/architecture-boundaries.md +19 -19
- package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +26 -26
- package/presets/claude/svelte/rules/architecture/layer-barrel-exports.md +31 -31
- package/presets/claude/svelte/rules/architecture/public-imports.md +8 -8
- package/presets/claude/svelte/rules/architecture/reference-features.md +18 -18
- package/presets/claude/svelte/rules/stack/README.md +8 -8
- package/presets/claude/svelte/rules/stack/navigation-router-ui.md +1 -1
- package/presets/claude/svelte/rules/stack/navigation-router.md +6 -6
- package/presets/claude/svelte/rules/stack/no-type-assertion.md +29 -29
- package/presets/claude/svelte/rules/stack/svelte-app-core.md +16 -16
- package/presets/claude/svelte/rules/stack/types-jsdoc.md +22 -22
- package/presets/claude/svelte/rules/testing/README.md +5 -5
- package/presets/claude/svelte/rules/testing/tests-e2e-structure.md +45 -46
- package/presets/claude/svelte/rules/testing/tests-unit.md +17 -17
- package/presets/claude/svelte/rules/tooling-and-review/README.md +9 -9
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-intake.md +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +9 -9
- package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +25 -24
- package/presets/claude/svelte/rules/tooling-and-review/code-review-mr.md +5 -5
- package/presets/claude/svelte/rules/tooling-and-review/design-guidance.md +54 -54
- package/presets/claude/svelte/rules/tooling-and-review/package-manager.md +8 -8
- package/presets/claude/svelte/rules/tooling-and-review/post-change-lint.md +23 -23
- package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +12 -13
- package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
- package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +6 -7
- package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +3 -4
- package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +2 -1
- package/presets/claude/svelte/rules/tooling-and-review/technical-retro.md +4 -4
- package/presets/claude/svelte/rules/ui-and-accessibility/README.md +7 -7
- package/presets/claude/svelte/rules/ui-and-accessibility/svelte-ui.md +6 -6
- package/presets/claude/svelte/skills/README.md +4 -4
- package/presets/claude/svelte/skills/feature-delivery/SKILL.md +1 -1
- package/presets/claude/svelte/team/README.md +8 -4
- package/presets/cursor/android-kotlin/AGENTS.md +50 -0
- package/presets/cursor/android-kotlin/BUGBOT.md +16 -0
- package/presets/cursor/android-kotlin/MCP.md +16 -0
- package/presets/cursor/android-kotlin/README.md +35 -0
- package/presets/cursor/android-kotlin/REPO_AGENTS.md +48 -0
- package/presets/cursor/android-kotlin/agents/README.md +44 -0
- package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +60 -0
- package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +70 -0
- package/presets/cursor/android-kotlin/agents/build-verifier.md +67 -0
- package/presets/cursor/android-kotlin/agents/ci-investigator.md +74 -0
- package/presets/cursor/android-kotlin/agents/code-reviewer.md +74 -0
- package/presets/cursor/android-kotlin/agents/codebase-analyzer.md +28 -0
- package/presets/cursor/android-kotlin/agents/debugger.md +77 -0
- package/presets/cursor/android-kotlin/agents/feature-developer.md +63 -0
- package/presets/cursor/android-kotlin/agents/instrumentation-test-generator.md +19 -0
- package/presets/cursor/android-kotlin/agents/instrumentation-test-healer.md +19 -0
- package/presets/cursor/android-kotlin/agents/instrumentation-test-planner.md +19 -0
- package/presets/cursor/android-kotlin/agents/migration-specialist.md +74 -0
- package/presets/cursor/android-kotlin/agents/performance-auditor.md +67 -0
- package/presets/cursor/android-kotlin/agents/qa-tester.md +66 -0
- package/presets/cursor/android-kotlin/agents/security-reviewer.md +65 -0
- package/presets/cursor/android-kotlin/agents/solution-architect.md +21 -0
- package/presets/cursor/android-kotlin/agents/task-analyst.md +36 -0
- package/presets/cursor/android-kotlin/agents/task-router.md +103 -0
- package/presets/cursor/android-kotlin/agents/tech-writer.md +61 -0
- package/presets/cursor/android-kotlin/agents/unit-test-generator.md +55 -0
- package/presets/cursor/android-kotlin/agents/unit-test-healer.md +54 -0
- package/presets/cursor/android-kotlin/agents/unit-test-planner.md +65 -0
- package/presets/cursor/android-kotlin/commands/README.md +51 -0
- package/presets/cursor/android-kotlin/commands/feature-continue.md +19 -0
- package/presets/cursor/android-kotlin/commands/feature-start.md +33 -0
- package/presets/cursor/android-kotlin/commands/task-continue.md +50 -0
- package/presets/cursor/android-kotlin/commands/task.md +56 -0
- package/presets/cursor/android-kotlin/commands/technical-retro.md +85 -0
- package/presets/cursor/android-kotlin/hooks/README.md +12 -0
- package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +723 -0
- package/presets/cursor/android-kotlin/hooks/examples/README.md +18 -0
- package/presets/cursor/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
- package/presets/cursor/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/cursor/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
- package/presets/cursor/android-kotlin/hooks/guard-shell-command.sh +80 -0
- package/presets/cursor/android-kotlin/hooks.json +17 -0
- package/presets/cursor/android-kotlin/mcp.json +11 -0
- package/presets/cursor/android-kotlin/rules/README.md +61 -0
- package/presets/cursor/android-kotlin/rules/agent-team-intake.mdc +16 -0
- package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +124 -0
- package/presets/cursor/android-kotlin/rules/android-app-core.mdc +28 -0
- package/presets/cursor/android-kotlin/rules/anti-sycophancy-discipline.mdc +30 -0
- package/presets/cursor/android-kotlin/rules/architecture-boundaries.mdc +28 -0
- package/presets/cursor/android-kotlin/rules/code-quality-and-refactoring.mdc +53 -0
- package/presets/cursor/android-kotlin/rules/code-review-mr.mdc +84 -0
- package/presets/cursor/android-kotlin/rules/compose-ui.mdc +32 -0
- package/presets/cursor/android-kotlin/rules/design-guidance.mdc +111 -0
- package/presets/cursor/android-kotlin/rules/di-dagger-feature-holders.mdc +35 -0
- package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +36 -0
- package/presets/cursor/android-kotlin/rules/gradle-tooling.mdc +31 -0
- package/presets/cursor/android-kotlin/rules/kotlin-conventions.mdc +31 -0
- package/presets/cursor/android-kotlin/rules/module-public-api.mdc +30 -0
- package/presets/cursor/android-kotlin/rules/navigation-feature-launcher.mdc +31 -0
- package/presets/cursor/android-kotlin/rules/networking-data.mdc +31 -0
- package/presets/cursor/android-kotlin/rules/persistence-data.mdc +30 -0
- package/presets/cursor/android-kotlin/rules/post-change-build.mdc +30 -0
- package/presets/cursor/android-kotlin/rules/preset-layering.mdc +36 -0
- package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +100 -0
- package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +56 -0
- package/presets/cursor/android-kotlin/rules/reference-features.mdc +29 -0
- package/presets/cursor/android-kotlin/rules/security-android.mdc +30 -0
- package/presets/cursor/android-kotlin/rules/state-and-viewmodels.mdc +28 -0
- package/presets/cursor/android-kotlin/rules/technical-retro.mdc +16 -0
- package/presets/cursor/android-kotlin/rules/tests-ui.mdc +29 -0
- package/presets/cursor/android-kotlin/rules/tests-unit.mdc +30 -0
- package/presets/cursor/android-kotlin/skills/README.md +14 -0
- package/presets/cursor/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
- package/presets/cursor/android-kotlin/skills/code-review/SKILL.md +39 -0
- package/presets/cursor/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
- package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +35 -0
- package/presets/cursor/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
- package/presets/cursor/android-kotlin/skills/technical-retro/SKILL.md +54 -0
- package/presets/cursor/android-kotlin/skills/unit-testing/SKILL.md +32 -0
- package/presets/cursor/android-kotlin/skills/write-adr/SKILL.md +41 -0
- package/presets/cursor/android-kotlin/team/README.md +54 -0
- package/presets/cursor/android-kotlin/team/conventions.md +17 -0
- package/presets/cursor/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
- package/presets/cursor/android-kotlin/team/fixtures/feature-full.json +97 -0
- package/presets/cursor/android-kotlin/team/fixtures/feature-light.json +38 -0
- package/presets/cursor/go/AGENTS.md +10 -10
- package/presets/cursor/go/MCP.md +7 -7
- package/presets/cursor/go/README.md +4 -4
- package/presets/cursor/go/agents/README.md +3 -3
- package/presets/cursor/go/agents/task-router.md +13 -13
- package/presets/cursor/go/commands/README.md +23 -23
- package/presets/cursor/go/commands/feature-continue.md +8 -8
- package/presets/cursor/go/commands/feature-start.md +17 -17
- package/presets/cursor/go/commands/task-continue.md +14 -14
- package/presets/cursor/go/commands/task.md +32 -32
- package/presets/cursor/go/commands/technical-retro.md +49 -49
- package/presets/cursor/go/rules/README.md +3 -3
- package/presets/cursor/go/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/go/rules/architecture-boundaries.mdc +10 -10
- package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +21 -20
- package/presets/cursor/go/rules/code-review-mr.mdc +4 -4
- package/presets/cursor/go/rules/design-guidance.mdc +54 -54
- package/presets/cursor/go/rules/go-app-core.mdc +11 -11
- package/presets/cursor/go/rules/post-change-test.mdc +1 -1
- package/presets/cursor/go/rules/preset-layering.mdc +12 -13
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/go/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/go/rules/technical-retro.mdc +3 -3
- package/presets/cursor/go/team/README.md +1 -1
- package/presets/cursor/ios-swift/AGENTS.md +20 -20
- package/presets/cursor/ios-swift/MCP.md +8 -8
- package/presets/cursor/ios-swift/README.md +9 -9
- package/presets/cursor/ios-swift/agents/README.md +7 -7
- package/presets/cursor/ios-swift/agents/feature-developer.md +1 -1
- package/presets/cursor/ios-swift/agents/task-analyst.md +1 -1
- package/presets/cursor/ios-swift/agents/task-router.md +16 -16
- package/presets/cursor/ios-swift/commands/README.md +23 -23
- package/presets/cursor/ios-swift/commands/feature-continue.md +8 -8
- package/presets/cursor/ios-swift/commands/feature-start.md +17 -17
- package/presets/cursor/ios-swift/commands/task-continue.md +14 -14
- package/presets/cursor/ios-swift/commands/task.md +33 -33
- package/presets/cursor/ios-swift/commands/technical-retro.md +50 -50
- package/presets/cursor/ios-swift/rules/README.md +23 -23
- package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +2 -2
- package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +20 -20
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +25 -24
- package/presets/cursor/ios-swift/rules/code-review-mr.mdc +40 -40
- package/presets/cursor/ios-swift/rules/design-guidance.mdc +54 -54
- package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +30 -30
- package/presets/cursor/ios-swift/rules/ios-app-core.mdc +10 -10
- package/presets/cursor/ios-swift/rules/module-public-api.mdc +11 -11
- package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +13 -13
- package/presets/cursor/ios-swift/rules/networking-services.mdc +31 -31
- package/presets/cursor/ios-swift/rules/persistence-data.mdc +13 -13
- package/presets/cursor/ios-swift/rules/post-change-build.mdc +18 -18
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +12 -13
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/ios-swift/rules/reference-features.mdc +22 -22
- package/presets/cursor/ios-swift/rules/security-ios.mdc +14 -14
- package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +24 -24
- package/presets/cursor/ios-swift/rules/swift-conventions.mdc +17 -17
- package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +39 -39
- package/presets/cursor/ios-swift/rules/technical-retro.mdc +4 -4
- package/presets/cursor/ios-swift/rules/tests-ui.mdc +27 -26
- package/presets/cursor/ios-swift/rules/tests-unit.mdc +25 -25
- package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +11 -11
- package/presets/cursor/ios-swift/skills/README.md +3 -3
- package/presets/cursor/ios-swift/team/README.md +1 -1
- package/presets/cursor/java/AGENTS.md +10 -10
- package/presets/cursor/java/MCP.md +6 -6
- package/presets/cursor/java/agents/README.md +3 -3
- package/presets/cursor/java/agents/task-router.md +13 -13
- package/presets/cursor/java/commands/README.md +23 -23
- package/presets/cursor/java/commands/feature-continue.md +8 -8
- package/presets/cursor/java/commands/feature-start.md +17 -17
- package/presets/cursor/java/commands/task-continue.md +14 -14
- package/presets/cursor/java/commands/task.md +32 -32
- package/presets/cursor/java/commands/technical-retro.md +49 -49
- package/presets/cursor/java/rules/README.md +2 -2
- package/presets/cursor/java/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/java/rules/architecture-boundaries.mdc +10 -10
- package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +21 -20
- package/presets/cursor/java/rules/code-review-mr.mdc +4 -4
- package/presets/cursor/java/rules/design-guidance.mdc +54 -54
- package/presets/cursor/java/rules/java-app-core.mdc +9 -9
- package/presets/cursor/java/rules/post-change-test.mdc +1 -1
- package/presets/cursor/java/rules/preset-layering.mdc +12 -13
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/java/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/java/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/java/rules/technical-retro.mdc +3 -3
- package/presets/cursor/java/team/README.md +1 -1
- package/presets/cursor/mcp-ts/AGENTS.md +6 -6
- package/presets/cursor/mcp-ts/MCP.md +5 -5
- package/presets/cursor/mcp-ts/agents/task-router.md +7 -7
- package/presets/cursor/mcp-ts/commands/README.md +1 -1
- package/presets/cursor/mcp-ts/commands/feature-continue.md +8 -8
- package/presets/cursor/mcp-ts/commands/feature-start.md +17 -17
- package/presets/cursor/mcp-ts/commands/task-continue.md +14 -14
- package/presets/cursor/mcp-ts/commands/task.md +32 -32
- package/presets/cursor/mcp-ts/commands/technical-retro.md +50 -50
- package/presets/cursor/mcp-ts/rules/README.md +1 -1
- package/presets/cursor/mcp-ts/rules/agent-team-intake.mdc +3 -3
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +21 -20
- package/presets/cursor/mcp-ts/rules/code-review-mr.mdc +5 -4
- package/presets/cursor/mcp-ts/rules/design-guidance.mdc +55 -54
- package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +2 -2
- package/presets/cursor/mcp-ts/rules/mcp-ts-app-core.mdc +9 -9
- package/presets/cursor/mcp-ts/rules/post-change-test.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/preset-layering.mdc +12 -13
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/mcp-ts/rules/technical-retro.mdc +3 -3
- package/presets/cursor/next/AGENTS.md +15 -15
- package/presets/cursor/next/MCP.md +9 -9
- package/presets/cursor/next/README.md +9 -9
- package/presets/cursor/next/agents/README.md +22 -22
- package/presets/cursor/next/agents/feature-developer.md +1 -1
- package/presets/cursor/next/agents/task-analyst.md +1 -1
- package/presets/cursor/next/agents/task-router.md +16 -16
- package/presets/cursor/next/commands/README.md +22 -22
- package/presets/cursor/next/commands/feature-continue.md +8 -8
- package/presets/cursor/next/commands/feature-start.md +17 -17
- package/presets/cursor/next/commands/task-continue.md +14 -14
- package/presets/cursor/next/commands/task.md +33 -33
- package/presets/cursor/next/commands/technical-retro.md +49 -49
- package/presets/cursor/next/rules/README.md +52 -52
- package/presets/cursor/next/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/next/rules/api-services.mdc +43 -43
- package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +7 -7
- package/presets/cursor/next/rules/architecture-boundaries.mdc +45 -45
- package/presets/cursor/next/rules/arrow-functions.mdc +8 -8
- package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +25 -24
- package/presets/cursor/next/rules/code-review-mr.mdc +5 -5
- package/presets/cursor/next/rules/css-property-order-stylelint.mdc +4 -4
- package/presets/cursor/next/rules/design-guidance.mdc +54 -54
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +43 -43
- package/presets/cursor/next/rules/http-client.mdc +23 -22
- package/presets/cursor/next/rules/layer-barrel-exports.mdc +31 -30
- package/presets/cursor/next/rules/navigation-router-stack.mdc +37 -37
- package/presets/cursor/next/rules/navigation-router-ui.mdc +7 -7
- package/presets/cursor/next/rules/next-app-core.mdc +16 -16
- package/presets/cursor/next/rules/next-app-router.mdc +17 -17
- package/presets/cursor/next/rules/no-props-spread.mdc +20 -20
- package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +29 -29
- package/presets/cursor/next/rules/package-manager.mdc +8 -8
- package/presets/cursor/next/rules/post-change-lint.mdc +22 -22
- package/presets/cursor/next/rules/preset-layering.mdc +12 -13
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/next/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/next/rules/public-imports.mdc +14 -14
- package/presets/cursor/next/rules/react-a11y-coding.mdc +21 -21
- package/presets/cursor/next/rules/react-ui.mdc +66 -66
- package/presets/cursor/next/rules/reference-features.mdc +17 -17
- package/presets/cursor/next/rules/store-rtk.mdc +60 -60
- package/presets/cursor/next/rules/technical-retro.mdc +4 -4
- package/presets/cursor/next/rules/tests-e2e-structure.mdc +46 -46
- package/presets/cursor/next/rules/tests-unit.mdc +51 -52
- package/presets/cursor/next/rules/types-jsdoc.mdc +29 -22
- package/presets/cursor/next/skills/feature-delivery/SKILL.md +1 -1
- package/presets/cursor/next/team/README.md +2 -2
- package/presets/cursor/nuxt/AGENTS.md +15 -15
- package/presets/cursor/nuxt/MCP.md +9 -9
- package/presets/cursor/nuxt/README.md +10 -10
- package/presets/cursor/nuxt/agents/README.md +30 -30
- package/presets/cursor/nuxt/agents/feature-developer.md +1 -1
- package/presets/cursor/nuxt/agents/task-analyst.md +1 -1
- package/presets/cursor/nuxt/agents/task-router.md +16 -16
- package/presets/cursor/nuxt/commands/README.md +24 -24
- package/presets/cursor/nuxt/commands/feature-continue.md +8 -8
- package/presets/cursor/nuxt/commands/feature-start.md +17 -17
- package/presets/cursor/nuxt/commands/task-continue.md +14 -14
- package/presets/cursor/nuxt/commands/task.md +33 -33
- package/presets/cursor/nuxt/commands/technical-retro.md +50 -50
- package/presets/cursor/nuxt/rules/README.md +53 -53
- package/presets/cursor/nuxt/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/nuxt/rules/api-services.mdc +43 -43
- package/presets/cursor/nuxt/rules/architecture-boundaries-ui.mdc +7 -7
- package/presets/cursor/nuxt/rules/architecture-boundaries.mdc +58 -58
- package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +25 -24
- package/presets/cursor/nuxt/rules/code-review-mr.mdc +5 -5
- package/presets/cursor/nuxt/rules/design-guidance.mdc +54 -54
- package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +44 -44
- package/presets/cursor/nuxt/rules/layer-barrel-exports.mdc +31 -31
- package/presets/cursor/nuxt/rules/navigation-router-stack.mdc +38 -38
- package/presets/cursor/nuxt/rules/navigation-router-ui.mdc +7 -7
- package/presets/cursor/nuxt/rules/no-type-assertion-as-import-export.mdc +29 -29
- package/presets/cursor/nuxt/rules/nuxt-app-core.mdc +16 -16
- package/presets/cursor/nuxt/rules/package-manager.mdc +8 -8
- package/presets/cursor/nuxt/rules/post-change-lint.mdc +23 -23
- package/presets/cursor/nuxt/rules/preset-layering.mdc +12 -13
- package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/nuxt/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/nuxt/rules/public-imports.mdc +14 -14
- package/presets/cursor/nuxt/rules/reference-features.mdc +17 -17
- package/presets/cursor/nuxt/rules/store-pinia.mdc +26 -26
- package/presets/cursor/nuxt/rules/technical-retro.mdc +4 -4
- package/presets/cursor/nuxt/rules/tests-e2e-structure.mdc +45 -46
- package/presets/cursor/nuxt/rules/tests-unit.mdc +51 -52
- package/presets/cursor/nuxt/rules/types-jsdoc.mdc +22 -22
- package/presets/cursor/nuxt/rules/vue-ui.mdc +6 -6
- package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +1 -1
- package/presets/cursor/nuxt/team/README.md +2 -2
- package/presets/cursor/php-hexagonal/AGENTS.md +11 -11
- package/presets/cursor/php-hexagonal/MCP.md +7 -7
- package/presets/cursor/php-hexagonal/agents/README.md +4 -4
- package/presets/cursor/php-hexagonal/agents/task-router.md +12 -12
- package/presets/cursor/php-hexagonal/commands/README.md +25 -25
- package/presets/cursor/php-hexagonal/commands/feature-continue.md +8 -8
- package/presets/cursor/php-hexagonal/commands/feature-start.md +17 -17
- package/presets/cursor/php-hexagonal/commands/task-continue.md +14 -14
- package/presets/cursor/php-hexagonal/commands/task.md +32 -32
- package/presets/cursor/php-hexagonal/commands/technical-retro.md +49 -49
- package/presets/cursor/php-hexagonal/rules/README.md +2 -2
- package/presets/cursor/php-hexagonal/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/php-hexagonal/rules/architecture-boundaries.mdc +10 -10
- package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +20 -20
- package/presets/cursor/php-hexagonal/rules/code-review-mr.mdc +4 -4
- package/presets/cursor/php-hexagonal/rules/design-guidance.mdc +54 -54
- package/presets/cursor/php-hexagonal/rules/php-app-core.mdc +10 -10
- package/presets/cursor/php-hexagonal/rules/post-change-test.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +12 -13
- package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/php-hexagonal/rules/technical-retro.mdc +3 -3
- package/presets/cursor/php-hexagonal/team/README.md +1 -1
- package/presets/cursor/php-laravel/AGENTS.md +10 -10
- package/presets/cursor/php-laravel/agents/README.md +4 -4
- package/presets/cursor/php-laravel/agents/task-router.md +14 -14
- package/presets/cursor/php-laravel/commands/README.md +25 -25
- package/presets/cursor/php-laravel/commands/feature-continue.md +8 -8
- package/presets/cursor/php-laravel/commands/feature-start.md +17 -17
- package/presets/cursor/php-laravel/commands/task-continue.md +14 -14
- package/presets/cursor/php-laravel/commands/task.md +32 -32
- package/presets/cursor/php-laravel/commands/technical-retro.md +50 -50
- package/presets/cursor/php-laravel/rules/README.md +2 -2
- package/presets/cursor/php-laravel/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/php-laravel/rules/architecture-boundaries.mdc +11 -11
- package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +20 -20
- package/presets/cursor/php-laravel/rules/code-review-mr.mdc +4 -5
- package/presets/cursor/php-laravel/rules/design-guidance.mdc +54 -54
- package/presets/cursor/php-laravel/rules/events-listeners.mdc +1 -1
- package/presets/cursor/php-laravel/rules/laravel-app-core.mdc +8 -8
- package/presets/cursor/php-laravel/rules/post-change-test.mdc +1 -1
- package/presets/cursor/php-laravel/rules/preset-layering.mdc +12 -13
- package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/php-laravel/rules/technical-retro.mdc +3 -3
- package/presets/cursor/php-laravel/team/README.md +1 -1
- package/presets/cursor/svelte/AGENTS.md +15 -15
- package/presets/cursor/svelte/MCP.md +9 -9
- package/presets/cursor/svelte/README.md +9 -9
- package/presets/cursor/svelte/agents/README.md +29 -29
- package/presets/cursor/svelte/agents/feature-developer.md +1 -1
- package/presets/cursor/svelte/agents/task-analyst.md +1 -1
- package/presets/cursor/svelte/agents/task-router.md +16 -16
- package/presets/cursor/svelte/commands/README.md +24 -24
- package/presets/cursor/svelte/commands/feature-continue.md +8 -8
- package/presets/cursor/svelte/commands/feature-start.md +17 -17
- package/presets/cursor/svelte/commands/task-continue.md +14 -14
- package/presets/cursor/svelte/commands/task.md +33 -33
- package/presets/cursor/svelte/commands/technical-retro.md +50 -50
- package/presets/cursor/svelte/rules/README.md +34 -34
- package/presets/cursor/svelte/rules/agent-team-intake.mdc +2 -2
- package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +4 -4
- package/presets/cursor/svelte/rules/api-services.mdc +14 -14
- package/presets/cursor/svelte/rules/architecture-boundaries-ui.mdc +7 -7
- package/presets/cursor/svelte/rules/architecture-boundaries.mdc +19 -19
- package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +25 -24
- package/presets/cursor/svelte/rules/code-review-mr.mdc +5 -5
- package/presets/cursor/svelte/rules/design-guidance.mdc +54 -54
- package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +26 -26
- package/presets/cursor/svelte/rules/layer-barrel-exports.mdc +31 -31
- package/presets/cursor/svelte/rules/navigation-router-stack.mdc +6 -6
- package/presets/cursor/svelte/rules/navigation-router-ui.mdc +1 -1
- package/presets/cursor/svelte/rules/no-type-assertion-as-import-export.mdc +29 -29
- package/presets/cursor/svelte/rules/package-manager.mdc +8 -8
- package/presets/cursor/svelte/rules/post-change-lint.mdc +23 -23
- package/presets/cursor/svelte/rules/preset-layering.mdc +12 -13
- package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +26 -14
- package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +6 -7
- package/presets/cursor/svelte/rules/preset-token-budget.mdc +3 -4
- package/presets/cursor/svelte/rules/preset-twin-sync.mdc +2 -1
- package/presets/cursor/svelte/rules/public-imports.mdc +8 -8
- package/presets/cursor/svelte/rules/reference-features.mdc +17 -17
- package/presets/cursor/svelte/rules/store-svelte.mdc +26 -26
- package/presets/cursor/svelte/rules/svelte-app-core.mdc +16 -16
- package/presets/cursor/svelte/rules/svelte-ui.mdc +6 -6
- package/presets/cursor/svelte/rules/technical-retro.mdc +4 -4
- package/presets/cursor/svelte/rules/tests-e2e-structure.mdc +45 -46
- package/presets/cursor/svelte/rules/tests-unit.mdc +17 -17
- package/presets/cursor/svelte/rules/types-jsdoc.mdc +22 -22
- package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +1 -1
- package/presets/cursor/svelte/team/README.md +2 -2
|
@@ -8,18 +8,18 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
<!-- shared-core: meta/preset-no-cross-stack-leakage.md -->
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Preset no cross-stack leakage
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
Ban leakage of stack-specific names, paths, and handoff stems across presets.
|
|
15
14
|
|
|
16
15
|
## Principles
|
|
17
16
|
|
|
18
|
-
- `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
19
|
-
- `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
20
|
-
- `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
21
|
-
- `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
|
|
22
|
-
- `
|
|
17
|
+
- `next` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
18
|
+
- `nuxt` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
19
|
+
- `svelte` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
|
|
20
|
+
- `ios-swift` must not ship Playwright handoffs, Android `instrumentation-test-*` handoffs, or Next lint recipes as required commands.
|
|
21
|
+
- `android-kotlin` must not ship Playwright, XCUITest, `xcodebuild`, or Next lint recipes as required handoffs.
|
|
22
|
+
- `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Android instrumentation agents, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
|
|
23
23
|
- `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
|
|
24
24
|
- Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
|
|
25
25
|
|
|
@@ -28,25 +28,37 @@ paths:
|
|
|
28
28
|
In ios-swift `chain-team-phases.sh` / agent handoffs (Cursor + Claude):
|
|
29
29
|
|
|
30
30
|
- `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`
|
|
31
|
+
- `instrumentation-test-` as required Android handoffs
|
|
31
32
|
- `app/__tests__/e2e` as a required path
|
|
32
33
|
- Positive yarn recipes `lint:js` / `lint:css` as commands to run (negation prose alone is weak — prefer zero occurrences)
|
|
33
34
|
|
|
34
35
|
Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild` or `post-change-build` / `xcode-tooling`.
|
|
35
36
|
|
|
37
|
+
## Forbidden in android-kotlin hooks/agents (FAIL)
|
|
38
|
+
|
|
39
|
+
In android-kotlin `chain-team-phases.sh` / agent handoffs (Cursor + Claude):
|
|
40
|
+
|
|
41
|
+
- `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`
|
|
42
|
+
- `app/__tests__/e2e` as a required path
|
|
43
|
+
- `xcuitest-test-`, positive `xcodebuild` / `SwiftLint` as required handoffs
|
|
44
|
+
- Positive yarn recipes `lint:js` / `lint:css` as commands to run
|
|
45
|
+
|
|
46
|
+
Required instead: `instrumentation-test-*` stems; build-verifier mentions `gradle-tooling` and/or `post-change-build` (Gradle wrapper discovery — not `xcodebuild` as the default gate).
|
|
47
|
+
|
|
36
48
|
## Forbidden in next hooks/agents (FAIL when present as required)
|
|
37
49
|
|
|
38
|
-
- `xcuitest-test-` as handoff stems
|
|
50
|
+
- `xcuitest-test-` / `instrumentation-test-` as handoff stems
|
|
39
51
|
- Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
|
|
40
52
|
|
|
41
53
|
## Forbidden in nuxt hooks/agents (FAIL when present as required)
|
|
42
54
|
|
|
43
|
-
- `xcuitest-test-` as handoff stems
|
|
55
|
+
- `xcuitest-test-` / `instrumentation-test-` as handoff stems
|
|
44
56
|
- Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
|
|
45
57
|
- Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
|
|
46
58
|
|
|
47
59
|
## Forbidden in svelte hooks/agents (FAIL when present as required)
|
|
48
60
|
|
|
49
|
-
- `xcuitest-test-` as handoff stems
|
|
61
|
+
- `xcuitest-test-` / `instrumentation-test-` as handoff stems
|
|
50
62
|
- Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
|
|
51
63
|
- Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
|
|
52
64
|
|
|
@@ -56,7 +68,7 @@ Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
|
|
|
56
68
|
|
|
57
69
|
- `playwright-test-`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
|
|
58
70
|
- Positive yarn recipes `lint:js` / `lint:css`
|
|
59
|
-
- `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
71
|
+
- `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
60
72
|
- Agent file `accessibility-reviewer` (no UI surface)
|
|
61
73
|
|
|
62
74
|
Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`), `java-tooling` (`mvn test` / `./gradlew test`), or `php-tooling` (`php artisan test` / `composer test` / `vendor/bin/phpunit`).
|
|
@@ -67,9 +79,9 @@ Same UI/mobile bans as backend stacks, plus:
|
|
|
67
79
|
|
|
68
80
|
- `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
|
|
69
81
|
- Positive yarn recipes `lint:js` / `lint:css` as required gates
|
|
70
|
-
- `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
82
|
+
- `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
71
83
|
- Go tool commands as required MCP delivery gates: `go test`, `go vet`, `golangci-lint`
|
|
72
|
-
- Agent files: `playwright-test-*`, `xcuitest-test-*`, `integration-test-*`, `accessibility-reviewer`
|
|
84
|
+
- Agent files: `playwright-test-*`, `xcuitest-test-*`, `instrumentation-test-*`, `integration-test-*`, `accessibility-reviewer`
|
|
73
85
|
|
|
74
86
|
Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`, `post-change-test`); Phase 1 gates `build-verifier` + `security-reviewer`.
|
|
75
87
|
|
|
@@ -80,4 +92,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
|
|
|
80
92
|
|
|
81
93
|
## Chain fork
|
|
82
94
|
|
|
83
|
-
`hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `nuxt`, `svelte`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
|
|
95
|
+
`hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `nuxt`, `svelte`, `ios-swift`, `android-kotlin`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
|
|
@@ -8,19 +8,18 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
<!-- shared-core: meta/preset-pr-checklist.md -->
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Preset PR checklist
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.cursor/` sync).
|
|
15
14
|
|
|
16
15
|
## Before merge
|
|
17
16
|
|
|
18
|
-
- [ ] **SoT:**
|
|
19
|
-
- [ ] **Core:**
|
|
20
|
-
- [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, nuxt, svelte, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel —
|
|
21
|
-
- [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table
|
|
17
|
+
- [ ] **SoT:** edits in `packages/…` (not only root `.cursor/`)
|
|
18
|
+
- [ ] **Core:** if `_shared/core/**` changed — all `<!-- shared-core: … -->` consumers updated (or documented intentional fork)
|
|
19
|
+
- [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, nuxt, svelte, ios-swift, android-kotlin, go, java, mcp-ts, php-hexagonal, and php-laravel — see `preset-twin-sync`)
|
|
20
|
+
- [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table is current
|
|
22
21
|
- [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
|
|
23
|
-
- [ ] **Leakage:**
|
|
22
|
+
- [ ] **Leakage:** no foreign stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
|
|
24
23
|
- [ ] **Twin depth:** domain ≥15 lines; thin aliases documented
|
|
25
24
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
26
25
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
@@ -8,21 +8,20 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
<!-- shared-core: meta/preset-token-budget.md -->
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Preset token budget
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
Invariants for rule loading in an **installed** preset (consumer app).
|
|
15
14
|
|
|
16
15
|
## Hard caps
|
|
17
16
|
|
|
18
17
|
| Platform | Always-on | Cap |
|
|
19
18
|
|----------|-----------|-----|
|
|
20
19
|
| Cursor | `alwaysApply: true` | **≤ 3** |
|
|
21
|
-
| Claude | rules **without** `paths:` |
|
|
20
|
+
| Claude | rules **without** `paths:` | **exactly 3** |
|
|
22
21
|
|
|
23
22
|
**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
23
|
|
|
25
|
-
Session-start body budget (
|
|
24
|
+
Session-start body budget (where documented): ≤140 lines total (stretch ≤120).
|
|
26
25
|
|
|
27
26
|
## Meta / author rules
|
|
28
27
|
|
|
@@ -8,7 +8,6 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
<!-- shared-core: meta/preset-twin-sync.md -->
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Preset twin sync
|
|
13
12
|
|
|
14
13
|
Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
|
|
@@ -26,6 +25,7 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
|
|
|
26
25
|
| `mcp-ts` | `presets/cursor/mcp-ts/rules/*.mdc` | `presets/claude/mcp-ts/rules/<topic>/` | Keep in `claude/mcp-ts/rules/README.md` |
|
|
27
26
|
| `php-hexagonal` | `presets/cursor/php-hexagonal/rules/*.mdc` | `presets/claude/php-hexagonal/rules/<topic>/` | Keep in `claude/php-hexagonal/rules/README.md` |
|
|
28
27
|
| `php-laravel` | `presets/cursor/php-laravel/rules/*.mdc` | `presets/claude/php-laravel/rules/<topic>/` | Keep in `claude/php-laravel/rules/README.md` |
|
|
28
|
+
| `android-kotlin` | `presets/cursor/android-kotlin/rules/*.mdc` | `presets/claude/android-kotlin/rules/<topic>/` | Keep in `claude/android-kotlin/rules/README.md` |
|
|
29
29
|
|
|
30
30
|
## Same-PR checklist
|
|
31
31
|
|
|
@@ -50,5 +50,6 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
|
|
|
50
50
|
- **mcp-ts:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java; mapping table required).
|
|
51
51
|
- **php-hexagonal:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts; mapping table required).
|
|
52
52
|
- **php-laravel:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts / php-hexagonal; mapping table required).
|
|
53
|
+
- **android-kotlin:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts / php-*; mapping table required).
|
|
53
54
|
|
|
54
55
|
Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Agent role for a team/sprint technical retrospective (retro). On-demand — prefer the /technical-retro slash command.
|
|
3
3
|
paths:
|
|
4
4
|
- .claude/team/**
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- shared-core: review/technical-retro.md -->
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# Technical retro — rule alias
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Full scenario (including the **“Agent work”** block for a slug from team tasks) lives in the slash command:
|
|
12
12
|
|
|
13
13
|
**`commands/technical-retro.md`** → `/technical-retro`
|
|
14
14
|
|
|
15
15
|
When a task has `metrics.json`, use the local aggregation script and state the cohort, sample size, incomplete artifacts, attribution confidence, active attempt duration, and human-gate wait separately. Do not score malformed artifacts or gate wait as agent work.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Use this rule only if the command is unavailable. Do not duplicate the command contents in the response — follow the command file and skill `technical-retro`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# UI and accessibility
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Components, styles, props.
|
|
4
4
|
|
|
5
|
-
|
|
|
6
|
-
|
|
7
|
-
| `no-rest-props-spread.md` |
|
|
8
|
-
| `css-property-order.md` |
|
|
9
|
-
| `svelte-ui.md` |
|
|
10
|
-
| `svelte-a11y-coding.md` | A11y
|
|
5
|
+
| File | Contents | Loading |
|
|
6
|
+
|------|----------|---------|
|
|
7
|
+
| `no-rest-props-spread.md` | Explicit props; no `{...props}` / `$$restProps` | `paths: **/*.svelte` |
|
|
8
|
+
| `css-property-order.md` | CSS property order (Stylelint idiomatic-order) | `paths: **/*.{css,scss,svelte}` |
|
|
9
|
+
| `svelte-ui.md` | SFC structure, styles, lib facades | `paths: src/lib/components/**,src/routes/**` |
|
|
10
|
+
| `svelte-a11y-coding.md` | A11y when writing UI | `paths: src/lib/components/**,src/routes/**` |
|
|
11
11
|
|
|
12
12
|
Deprecated stub `component-styles.md` **removed** — styles colocation lives in `svelte-ui.md`.
|
|
@@ -7,14 +7,14 @@ paths:
|
|
|
7
7
|
|
|
8
8
|
# Svelte UI (SvelteKit)
|
|
9
9
|
|
|
10
|
-
-
|
|
11
|
-
-
|
|
10
|
+
- Prefer **`.svelte` SFC** with `<script lang="ts">` (`svelte-script-conventions`).
|
|
11
|
+
- Explicit props (`$props()` / typed props); no mass `{...props}` / `$$restProps` (`no-rest-props-spread`).
|
|
12
12
|
- Svelte 5: snippets / `{@render …}` preferred for new code; legacy slots OK when following neighbors.
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- Styles: scoped `<style>` / tokens — as neighbors do; property order — `css-property-order-stylelint`.
|
|
14
|
+
- Data: read stores / runes / `load` data; **do not** call HTTP from `.svelte` — only via `$lib/api` / store actions.
|
|
15
|
+
- Navigation: `<a href>`, `goto`, `invalidate`, `$app/navigation` — not `next/link`, not `<NuxtLink>`, not `navigateTo`.
|
|
16
16
|
- A11y: `svelte-a11y-coding`.
|
|
17
|
-
-
|
|
17
|
+
- UI boundaries: `architecture-boundaries-ui` — no DTO in markup; map in `src/lib/api/**`.
|
|
18
18
|
|
|
19
19
|
## Incorrect
|
|
20
20
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# `.claude/skills` (preset svelte)
|
|
2
2
|
|
|
3
|
-
[Skills](https://code.claude.com/docs/en/skills)
|
|
3
|
+
[Skills](https://code.claude.com/docs/en/skills) in Claude Code are scenarios loaded on demand, not wholesale every session. They are semantically synced with `.cursor/skills` from the Cursor preset.
|
|
4
4
|
|
|
5
|
-
| Skill |
|
|
6
|
-
|
|
5
|
+
| Skill | When to use |
|
|
6
|
+
|-------|-------------|
|
|
7
7
|
| `feature-delivery` | End-to-end feature work across types, API, store, UI, tests |
|
|
8
8
|
| `code-review` | MR/diff review using project architecture and test standards |
|
|
9
9
|
| `debug-investigation` | Reproducing and fixing bugs with root-cause evidence |
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
| `write-adr` | Author an Architecture Decision Record (context / decision / consequences) |
|
|
15
15
|
| `svelte-performance` | Implementer checklist: bundle, SSR/payload/client, memo, waterfalls, CWV (not a perf audit agent) |
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
The folder is copied to `.claude/skills/` on `ai-rules init claude --preset svelte` when it exists.
|
|
@@ -8,7 +8,7 @@ description: Delivers SvelteKit frontend features end-to-end across domain types
|
|
|
8
8
|
1. Read task brief, acceptance criteria, and decomposition if present.
|
|
9
9
|
2. Read **`feature-delivery-workflow`** and **`reference-features`** — follow layer order and mirror closest reference feature.
|
|
10
10
|
3. Add or update focused tests for changed behavior.
|
|
11
|
-
4. Validation from SvelteKit root: **invoke** **`post-change-lint`** after code edits (requestable, not always-on — but
|
|
11
|
+
4. Validation from SvelteKit root: **invoke** **`post-change-lint`** after code edits (requestable, not always-on — but **must** when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
|
|
12
12
|
|
|
13
13
|
## Scope discipline
|
|
14
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent team artifacts
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Artifact directory for the Claude Code “agent team” pipeline.
|
|
4
4
|
|
|
5
5
|
## Layout
|
|
6
6
|
|
|
@@ -97,16 +97,20 @@ Prefer **`executing`** for pipeline mode. Legacy: `analysis`, `development`, `re
|
|
|
97
97
|
## Workflow entry
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
/task
|
|
100
|
+
/task <task description>
|
|
101
101
|
/task-continue <slug>
|
|
102
102
|
/technical-retro <slug>
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
Legacy: `/feature-start`, `/feature-continue`.
|
|
106
106
|
|
|
107
|
+
## Creating task dirs
|
|
108
|
+
|
|
109
|
+
Bootstrap `<slug>/` by **writing** `pipeline.json` (Write tool). Runtime/hook owns `status.json` lifecycle; parent may only create a minimal bootstrap if missing. Do **not** use Shell `mkdir -p` — Cursor’s default sandbox returns `Operation not permitted` (especially for repos on macOS Desktop/Documents).
|
|
110
|
+
|
|
107
111
|
## Git
|
|
108
112
|
|
|
109
|
-
Commit task artifacts if you want them to survive `ai-rules clean
|
|
113
|
+
Commit task artifacts if you want them to survive `ai-rules clean cursor`. Or copy finished tasks to `docs/agent-workflow/tasks/<slug>/`.
|
|
110
114
|
|
|
111
115
|
## Artifact manifest and receipts
|
|
112
116
|
|
|
@@ -131,6 +135,6 @@ After a human gate, `/task-continue` closes wait via the installed hook (do not
|
|
|
131
135
|
printf '%s\n' '{"status":"completed","action":"end_human_gate","activateNext":true}' | bash .claude/hooks/chain-team-phases.sh
|
|
132
136
|
```
|
|
133
137
|
|
|
134
|
-
That appends `human_gate_ended` before the next `attempt_started`.
|
|
138
|
+
That appends `human_gate_ended` before the next `attempt_started`. Claude twins use the same payload against `.claude/hooks/chain-team-phases.sh`. Other installable stacks ship the same ledger contract in their `team/README.md`.
|
|
135
139
|
|
|
136
140
|
Aggregate with `node packages/ai-rules/scripts/aggregate-agent-task-metrics.mjs --team-root .claude/team`. It reports role/agent count, completed count, total/average duration, distinct completed run IDs, separate human-gate wait, and incomplete artifacts. For retros, see `/technical-retro` → **Metrics evidence**.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Android Kotlin stack — Cursor agent team
|
|
2
|
+
|
|
3
|
+
Short Cursor entry point. Detailed rules — `.cursor/rules/*.mdc`; scenarios — `.cursor/skills/**`.
|
|
4
|
+
|
|
5
|
+
**Repo-root agents:** see [`AGENTS.md`](../../AGENTS.md) at the project root (cross-tool setup, commands, security, living conventions pointers).
|
|
6
|
+
|
|
7
|
+
See `.cursor/rules/README.md` for the full catalog and loading strategy.
|
|
8
|
+
|
|
9
|
+
## Quick start
|
|
10
|
+
|
|
11
|
+
| Task | Where to look |
|
|
12
|
+
|------|----------------|
|
|
13
|
+
| Any new work request | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` (+ `agent-team-intake.mdc` on-demand) |
|
|
14
|
+
| New end-to-end feature | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
|
|
15
|
+
| Stack and layers | `android-app-core.mdc`, `architecture-boundaries.mdc` |
|
|
16
|
+
| Reference modules | `reference-features.mdc` (placeholders `applications/`, `features/<name>/`, `build-logic/`) |
|
|
17
|
+
| Toolchain / Gradle | `gradle-tooling.mdc` (requestable) |
|
|
18
|
+
| After Kotlin/Android edits | `post-change-build.mdc` (**requestable**, required after edits; full gate — `build-verifier`) |
|
|
19
|
+
| Code review MR | skill `code-review` + `code-review-mr.mdc` |
|
|
20
|
+
| UI tests | skill `instrumentation-ui-e2e` + agents `instrumentation-test-*` |
|
|
21
|
+
| Security | `security-android.mdc` |
|
|
22
|
+
| Compose / MVI | `compose-ui.mdc`, `state-and-viewmodels.mdc` |
|
|
23
|
+
| Validation before review | agent `build-verifier` |
|
|
24
|
+
| Technical retro | `/technical-retro` + skill `technical-retro` |
|
|
25
|
+
|
|
26
|
+
## Dogfood (5 scenarios)
|
|
27
|
+
|
|
28
|
+
1. `/task` — new feature under `features/<name>/`.
|
|
29
|
+
2. ViewModel bug — debugger + unit test.
|
|
30
|
+
3. Mapper — unit-test-planner/generator.
|
|
31
|
+
4. UI flow — instrumentation-test trio.
|
|
32
|
+
5. Auth/storage — security-reviewer + `security-android.mdc`.
|
|
33
|
+
|
|
34
|
+
## When to use `/task`
|
|
35
|
+
|
|
36
|
+
- Implementation, bugfix, migration, tests, MR review, CI-fix — **prefer `/task`**.
|
|
37
|
+
- Simple one-liner with no architectural risk — may skip the pipeline if the user explicitly asks.
|
|
38
|
+
- “How does X work?” questions — agent `codebase-analyzer` (explain-as-is) or answer without `/task`.
|
|
39
|
+
|
|
40
|
+
## Pipeline routing
|
|
41
|
+
|
|
42
|
+
Intent detection, profiles (`full` / `standard` / `light`), and default steps — **only** in `agents/task-router.md`. Schema and rename map — `agents/README.md`.
|
|
43
|
+
|
|
44
|
+
## Install
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @bonesofspring/ai-rules init cursor --preset android-kotlin
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Copies rules, commands, agents, hooks, skills, team, `hooks.json`, `BUGBOT.md`, `AGENTS.md` → `.cursor/AGENTS.md`, `MCP.md`, `mcp.json` → `.cursor/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`. Skill: `write-adr` (on-demand).
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Bugbot — Android Kotlin
|
|
2
|
+
|
|
3
|
+
Automated review hints for Cursor Bugbot on Android/Kotlin multimodule repos.
|
|
4
|
+
|
|
5
|
+
## Focus
|
|
6
|
+
|
|
7
|
+
- Clean Architecture / api-impl boundaries (`architecture-boundaries`)
|
|
8
|
+
- No Hilt-by-default regressions when the repo uses Dagger feature holders
|
|
9
|
+
- Compose screens staying thin; no data-layer leaks into UI
|
|
10
|
+
- Secrets / TLS / logging (`security-android`)
|
|
11
|
+
- Missing unit or instrumentation coverage called out by AC
|
|
12
|
+
|
|
13
|
+
## Do not
|
|
14
|
+
|
|
15
|
+
- Require Playwright or XCUITest recipes
|
|
16
|
+
- Demand yarn `lint:js` / `lint:css`
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# MCP (preset `android-kotlin`, Cursor)
|
|
2
|
+
|
|
3
|
+
Copied to `.cursor/mcp.json` on `ai-rules init cursor --preset android-kotlin`.
|
|
4
|
+
|
|
5
|
+
## Servers
|
|
6
|
+
|
|
7
|
+
| Name | Package | Purpose |
|
|
8
|
+
|------|---------|---------|
|
|
9
|
+
| `context7` | `@upstash/context7-mcp` | Up-to-date Kotlin / Jetpack Compose / Android SDK docs |
|
|
10
|
+
| `figma` | remote `https://mcp.figma.com/mcp` | Design context → Jetpack Compose; OAuth in Cursor |
|
|
11
|
+
|
|
12
|
+
Playwright / Chrome DevTools are **not** part of the **android-kotlin preset** (browser e2e is forbidden for the agent team).
|
|
13
|
+
|
|
14
|
+
Do not put secrets in the file. Optional: `CONTEXT7_API_KEY` in the environment. Figma — OAuth (do not commit the token).
|
|
15
|
+
|
|
16
|
+
After init: Settings → MCP → enable servers. `init` overwrites a same-named `mcp.json`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Preset: android-kotlin (Cursor)
|
|
2
|
+
|
|
3
|
+
Installable Android/Kotlin multimodule preset: Clean Architecture, Jetpack Compose MVI, Dagger feature holders (no Hilt by default), Gradle convention plugins, instrumentation UI-test agents.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx @bonesofspring/ai-rules init cursor --preset android-kotlin
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Copies rules, agents, skills, commands, hooks, team, `MCP.md`, `mcp.json` → `.cursor/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
10
|
+
|
|
11
|
+
## Layout placeholders
|
|
12
|
+
|
|
13
|
+
Generic multimodule layout encoded in rules (map your repo in `team/conventions.md` after install):
|
|
14
|
+
|
|
15
|
+
`applications/`, `core/`, `features/<name>/{api,impl}/`, `build-logic/`, `gradle/libs.versions.toml`
|
|
16
|
+
|
|
17
|
+
## Agent surface
|
|
18
|
+
|
|
19
|
+
- UI tests: `instrumentation-test-{planner,generator,healer}` + skill `instrumentation-ui-e2e`
|
|
20
|
+
- Gates: `post-change-build` + `gradle-tooling` + `build-verifier`
|
|
21
|
+
- Claude twin: `presets/claude/android-kotlin/` (same PR policy)
|
|
22
|
+
|
|
23
|
+
See `rules/README.md` and `agents/README.md`.
|
|
24
|
+
|
|
25
|
+
## Install troubleshooting
|
|
26
|
+
|
|
27
|
+
- **Gradle wrapper:** run from the Gradle root where `./gradlew` (or a wrapper script documented in the repo README/CI) lives; agents load `gradle-tooling.mdc` for discovery — do not assume a single hard-coded script name.
|
|
28
|
+
- **Modules:** use `./gradlew projects` (or CI task names) to resolve affected `:module` paths before compile/test gates.
|
|
29
|
+
- **Variants / flavors:** product flavors and build types differ per repo; note the CI variant (e.g. `debug` vs `release`) in `team/conventions.md` and pass `-P` / `--variant` flags only as documented locally.
|
|
30
|
+
- **Multimodule:** scope `./gradlew :feature:impl:compileDebugKotlin` (example pattern) to changed modules; full gate — agent `build-verifier`.
|
|
31
|
+
|
|
32
|
+
## Preset taxonomy
|
|
33
|
+
|
|
34
|
+
- Contribution: [`../../docs/PRESET-CONTRIBUTION.md`](../../docs/PRESET-CONTRIBUTION.md)
|
|
35
|
+
- Core→stack mapping: [`rules/README.md`](./rules/README.md)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Android Kotlin — agent instructions
|
|
2
|
+
|
|
3
|
+
Cross-tool repo-root guide for the **android-kotlin** multimodule preset. Tool-specific maps stay under `.cursor/AGENTS.md` and `.claude/CLAUDE.md`.
|
|
4
|
+
|
|
5
|
+
## Cross-tool setup
|
|
6
|
+
|
|
7
|
+
- Treat this file as the **shared** entry for any agent (Cursor, Claude Code, or other).
|
|
8
|
+
- Tool maps live in `.cursor/AGENTS.md` / `.claude/CLAUDE.md` when that tool is installed.
|
|
9
|
+
- Install:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @bonesofspring/ai-rules init cursor --preset android-kotlin
|
|
13
|
+
npx @bonesofspring/ai-rules init claude --preset android-kotlin
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`init` overwrites this file from the preset (`REPO_AGENTS.md` → `AGENTS.md`). Living gotchas and local type names belong in `team/conventions.md`, not here.
|
|
17
|
+
|
|
18
|
+
## Commands (test / lint / build)
|
|
19
|
+
|
|
20
|
+
Discover the Gradle wrapper (`./gradlew` or a documented wrapper script from README/CI). Modules/variants — from Gradle + `gradle/libs.versions.toml` / `build-logic/`.
|
|
21
|
+
|
|
22
|
+
| Gate | Typical command |
|
|
23
|
+
|------|-----------------|
|
|
24
|
+
| Compile | `./gradlew :module:compile<Variant>Kotlin` (or project alias) |
|
|
25
|
+
| Lint | Android Lint / ktlint / detekt **only if** configured in repo/CI |
|
|
26
|
+
| Unit tests | `./gradlew :module:test<Variant>UnitTest` (narrowest suite) |
|
|
27
|
+
| Instrumentation | Connected/managed device tasks as configured in CI |
|
|
28
|
+
|
|
29
|
+
After code edits: invoke **`post-change-build`** (requestable) + **`gradle-tooling`**. Full gate: agent `build-verifier`.
|
|
30
|
+
|
|
31
|
+
## Security basics
|
|
32
|
+
|
|
33
|
+
- Do not commit secrets (API keys, keystore passwords, tokens, `.env`).
|
|
34
|
+
- Review destructive git before running; respect shell hooks.
|
|
35
|
+
- Do not weaken TLS / cleartext policy unless the user explicitly asks.
|
|
36
|
+
|
|
37
|
+
## Tool entry points
|
|
38
|
+
|
|
39
|
+
| Tool | Map |
|
|
40
|
+
|------|-----|
|
|
41
|
+
| Cursor | `.cursor/AGENTS.md` (optional if Cursor not installed) |
|
|
42
|
+
| Claude Code | `.claude/CLAUDE.md` (optional if Claude not installed) |
|
|
43
|
+
|
|
44
|
+
Rules: `.cursor/rules/` or `.claude/rules/`. Skills: `.cursor/skills/` or `.claude/skills/`. UI tests: `instrumentation-test-*` (never Playwright/XCUITest as required handoffs).
|
|
45
|
+
|
|
46
|
+
## Living conventions
|
|
47
|
+
|
|
48
|
+
Local type names (ViewModel base, DI holders, design-system package), flavors, and wrapper quirks: **`.cursor/team/conventions.md`** and/or **`.claude/team/conventions.md`** (fill after init).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Agents (android-kotlin)
|
|
2
|
+
|
|
3
|
+
Full agent-team roster (~22). Production-write policy matches ios-swift mobile depth with Gradle + instrumentation.
|
|
4
|
+
|
|
5
|
+
## Rename map (from next / ios-swift / java)
|
|
6
|
+
|
|
7
|
+
| Source | android-kotlin |
|
|
8
|
+
|--------|----------------|
|
|
9
|
+
| `playwright-test-planner` | **`instrumentation-test-planner`** |
|
|
10
|
+
| `playwright-test-generator` | **`instrumentation-test-generator`** |
|
|
11
|
+
| `playwright-test-healer` | **`instrumentation-test-healer`** |
|
|
12
|
+
| skill `playwright-e2e` / `xcuitest-e2e` | **`instrumentation-ui-e2e`** |
|
|
13
|
+
| `xcuitest-test-*` | **skipped** (iOS-only) |
|
|
14
|
+
| `integration-test-*` | **skipped** (JVM backend) |
|
|
15
|
+
| `post-change-lint` / `post-change-test` | **`post-change-build`** |
|
|
16
|
+
| `xcode-tooling` / `java-tooling` | **`gradle-tooling`** |
|
|
17
|
+
| `react-performance` | **absent** (leakage FAIL) |
|
|
18
|
+
|
|
19
|
+
When copying next pipeline templates: put Playwright / XCUITest / integration-test stems in `skipped[]` and schedule `instrumentation-test-*` when UI AC requires it.
|
|
20
|
+
|
|
21
|
+
## Roster
|
|
22
|
+
|
|
23
|
+
| Agent | Production writes |
|
|
24
|
+
|-------|-------------------|
|
|
25
|
+
| task-router, task-analyst, solution-architect, migration-specialist, api-contract-reviewer | team only |
|
|
26
|
+
| codebase-analyzer | no (explain-as-is) |
|
|
27
|
+
| feature-developer | yes (Kotlin/Android sources) |
|
|
28
|
+
| build-verifier | no (report only) |
|
|
29
|
+
| debugger, ci-investigator | minimal |
|
|
30
|
+
| code-reviewer, accessibility-reviewer, security-reviewer, performance-auditor | team only |
|
|
31
|
+
| qa-tester, unit-test-*, instrumentation-test-* | tests only |
|
|
32
|
+
| tech-writer | docs only |
|
|
33
|
+
|
|
34
|
+
## Model tiers (mirror ios-swift)
|
|
35
|
+
|
|
36
|
+
| Tier | Model hint | Typical agents |
|
|
37
|
+
|------|------------|----------------|
|
|
38
|
+
| **cheap** | `fast` / cheap | build-verifier, some generators/healers |
|
|
39
|
+
| **standard** | `inherit` | feature-developer, debugger, ci-investigator, a11y, qa, unit-*, instrumentation-* |
|
|
40
|
+
| **strong** | `strong` | solution-architect, security-reviewer (when scheduled) |
|
|
41
|
+
|
|
42
|
+
## Pipeline schema
|
|
43
|
+
|
|
44
|
+
See `team/fixtures/*.json` and `hooks/chain-team-phases.sh` handoffs (`instrumentation-test-*`, `gradle-tooling`, `post-change-build`).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility-reviewer
|
|
3
|
+
description: Accessibility review specialist. Audits TalkBack labels/semantics, font scale, reduce motion, Compose testTag, contrast, and touch targets for Android UI. Readonly — writes a11y-review.md only; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an accessibility reviewer for an **Android Kotlin / Jetpack Compose** (and View system where present) frontend.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
1. `.cursor/team/tasks/<slug>/brief.md` — acceptance criteria and UI scope.
|
|
13
|
+
2. `.cursor/team/tasks/<slug>/decomposition.md` — UI-related tasks.
|
|
14
|
+
3. Git diff for changed Views / UI under `features/**/Presentation/**` (and design-system if touched).
|
|
15
|
+
4. `compose-ui.mdc` and project a11y conventions.
|
|
16
|
+
|
|
17
|
+
## Review scope
|
|
18
|
+
|
|
19
|
+
- TalkBack / screen reader: labels, `contentDescription`, semantics; meaningful accessible elements (not unlabeled buttons/icons).
|
|
20
|
+
- Font scale / large text: layouts do not clip or overlap at larger sizes (infer from modifiers / typography).
|
|
21
|
+
- Reduce motion for custom animations when present.
|
|
22
|
+
- Compose `testTag` (or project semantics matchers) on interactive / assertable elements for instrumentation (`{screen}__{element}`) — not iOS `accessibilityIdentifier`.
|
|
23
|
+
- Contrast and non-color-only state (where inferable from Design System / asset usage).
|
|
24
|
+
- Touch targets roughly ≥48dp when obvious from layout; focus order for custom controls.
|
|
25
|
+
- Sheet/modal dismissal discoverability for TalkBack users.
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
|
|
29
|
+
Write `.cursor/team/tasks/<slug>/a11y-review.md`:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
# Accessibility review: <slug>
|
|
33
|
+
|
|
34
|
+
## Verdict
|
|
35
|
+
PASS | PASS_WITH_NOTES | FAIL
|
|
36
|
+
|
|
37
|
+
## Critical (must fix)
|
|
38
|
+
- [file:line] Issue — impact — fix direction
|
|
39
|
+
|
|
40
|
+
## Warnings (should fix)
|
|
41
|
+
- ...
|
|
42
|
+
|
|
43
|
+
## Suggestions
|
|
44
|
+
- ...
|
|
45
|
+
|
|
46
|
+
## AC coverage
|
|
47
|
+
| Criterion | Status | Notes |
|
|
48
|
+
|-----------|--------|-------|
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Artifact contract
|
|
52
|
+
|
|
53
|
+
- **Authoritative inputs:** read `.cursor/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation or UI diff scope, and prior review artifacts when present.
|
|
54
|
+
- **Owned outputs:** `a11y-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `a11y-review`) and preserve all foreign entries.
|
|
55
|
+
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
|
|
56
|
+
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
57
|
+
|
|
58
|
+
If **FAIL**, emit receipt outcome `changes_requested` and list specific fixes for `feature-developer`.
|
|
59
|
+
|
|
60
|
+
Do not modify production code or tests.
|