@bonesofspring/ai-rules 0.2.14 → 0.2.15
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 +16 -1
- 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 +1 -1
- 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/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/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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +2 -2
- 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 +1 -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 +1 -2
- 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 +0 -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 +2 -2
- 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 +1 -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 +1 -2
- 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 +0 -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/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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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 +1 -2
- 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 +0 -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
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Core principles, stack, and structure for an iOS Swift app (preset)
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Stack and environment
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Versions come **from Xcode / Package.swift / repo configs**. Frame: Swift, iOS; SwiftUI preferred (UIKit where the repo already uses it); Xcode + SPM/CocoaPods as in the repo; `async`/`await`, `@MainActor`; XCTest/Swift Testing + XCUITest; networking — `URLSession`/`Codable`; UI — `DesignSystem/` tokens; observability — only if already in the project.
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# Project structure
|
|
10
10
|
|
|
11
|
-
Feature-first
|
|
11
|
+
Feature-first or top-level layers (as in the repo): `App/` (composition root), `Features/<Name>/` (Presentation / Domain / Data), `Core/`, `DesignSystem/`, `Tests/`. Place new files next to analogs. Boundaries/DI — **`architecture/boundaries.md`**.
|
|
12
12
|
|
|
13
|
-
# Swift
|
|
13
|
+
# Swift and quality
|
|
14
14
|
|
|
15
|
-
API Design Guidelines + SwiftLint/SwiftFormat
|
|
15
|
+
API Design Guidelines + the repo’s SwiftLint/SwiftFormat; no `!`/`try!` in production; `guard` / typed errors; follow neighboring-file patterns.
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Agent work
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
19
|
+
- Layer → neighbor patterns; no `URLSession` in Views and no DTOs in ViewModels (`architecture/boundaries.md`).
|
|
20
|
+
- Features: `architecture/feature-delivery.md`; after Swift edits — **invoke** `tooling-and-review/post-change-build.md`; toolchain — `tooling-and-review/xcode-tooling.md`.
|
|
@@ -7,28 +7,28 @@ paths:
|
|
|
7
7
|
# Naming and API design
|
|
8
8
|
|
|
9
9
|
- Types: `UpperCamelCase`; methods, properties, enum cases: `lowerCamelCase`.
|
|
10
|
-
- Protocols
|
|
11
|
-
-
|
|
10
|
+
- Protocols that describe a capability: `-able`, `-ing`, or `Protocol` suffix — as in the repo.
|
|
11
|
+
- Avoid abbreviations in names except common ones (URL, ID, HTTP).
|
|
12
12
|
|
|
13
13
|
# Optionals and errors
|
|
14
14
|
|
|
15
15
|
```swift
|
|
16
|
-
// ❌
|
|
16
|
+
// ❌ Bad
|
|
17
17
|
let name = user!.name
|
|
18
18
|
|
|
19
|
-
// ✅
|
|
19
|
+
// ✅ Good
|
|
20
20
|
guard let name = user?.name else { return }
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
- `throws` + typed errors
|
|
24
|
-
- `guard`
|
|
23
|
+
- `throws` + typed errors instead of `Result` where that is the layer convention; stay consistent within a module.
|
|
24
|
+
- `guard` for early exit; do not nest deep `if let` pyramids.
|
|
25
25
|
|
|
26
26
|
# Concurrency
|
|
27
27
|
|
|
28
28
|
- UI types — `@MainActor`.
|
|
29
|
-
- Shared mutable state — `actor`
|
|
30
|
-
- `Task { }`
|
|
31
|
-
- Prefer `async/await` over completion handlers
|
|
29
|
+
- Shared mutable state — `actor` or isolation via a queue; document thread expectations.
|
|
30
|
+
- `Task { }` in ViewModel: account for cancellation; `[weak self]` in escaping closures when retain cycles are possible (default when capturing `self` in escaping work).
|
|
31
|
+
- Prefer `async/await` over completion handlers for new code.
|
|
32
32
|
|
|
33
33
|
## Anti-hallucination (Swift / concurrency)
|
|
34
34
|
|
|
@@ -42,20 +42,20 @@ guard let name = user?.name else { return }
|
|
|
42
42
|
|
|
43
43
|
# Access control
|
|
44
44
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
45
|
+
- Minimum necessary level: `private` / `fileprivate` by default for implementation details.
|
|
46
|
+
- Feature public API — explicit types and protocols; do not export DTOs outside the module.
|
|
47
47
|
|
|
48
48
|
# Value semantics
|
|
49
49
|
|
|
50
|
-
-
|
|
51
|
-
- `class` —
|
|
50
|
+
- Prefer `struct` for models and state where there is no identity semantics.
|
|
51
|
+
- `class` — when identity, inheritance, or Objective-C interop is required.
|
|
52
52
|
|
|
53
53
|
# Extensions
|
|
54
54
|
|
|
55
|
-
-
|
|
56
|
-
- Protocol extensions
|
|
55
|
+
- Group extensions by type; do not dump unrelated helpers into one unstructured `Extensions.swift`.
|
|
56
|
+
- Protocol extensions for shared default behavior.
|
|
57
57
|
|
|
58
|
-
#
|
|
58
|
+
# Agent requirement
|
|
59
59
|
|
|
60
60
|
- Style gate: **SwiftLint** (and SwiftFormat when configured) — prefer fixing lint over prose style essays; `// swiftlint:disable` only with an explicit reason.
|
|
61
|
-
-
|
|
61
|
+
- New code — Swift Concurrency-ready (`Sendable` where the project compiler/linter requires it).
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: UI
|
|
2
|
+
description: XCUITest UI tests and accessibility identifiers
|
|
3
3
|
paths:
|
|
4
4
|
- "**/*UITests/**/*.swift"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# UI test structure
|
|
8
8
|
|
|
9
|
-
- UI Test target: `*UITests/` —
|
|
10
|
-
- Page Object (
|
|
11
|
-
-
|
|
9
|
+
- UI Test target: `*UITests/` — end-user flow scenarios.
|
|
10
|
+
- Page Object (or Screen Object) — one class per screen: selectors + actions (`LoginScreen`, `OrderHistoryScreen`).
|
|
11
|
+
- Shared helpers — `UITestSupport/`, base classes, launch arguments.
|
|
12
12
|
|
|
13
|
-
#
|
|
13
|
+
# Selectors and stability
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
15
|
+
- **Priority:** `accessibilityIdentifier` for key elements; then label/trait where stable.
|
|
16
|
+
- Align identifiers with the Presentation layer (`ui-and-accessibility/swiftui.md`): `{screen}__{element}`.
|
|
17
|
+
- Example: `order-history__submit-button`, `login__email-field`.
|
|
18
|
+
- Avoid absolute coordinates and brittle XPath-like chains.
|
|
19
19
|
|
|
20
|
-
#
|
|
20
|
+
# Scenarios and naming
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
-
|
|
22
|
+
- Test names — **in the product locale** (Russian when UI copy is Russian), with an entity prefix:
|
|
23
|
+
<!-- i18n-keep: E5 -->
|
|
24
|
+
- `OH-001 Отображается список заказов` (prefix — entity initials, number — three digits).
|
|
25
|
+
- One test — one user scenario; do not combine unrelated checks.
|
|
25
26
|
|
|
26
|
-
# Launch
|
|
27
|
+
# Launch and environment
|
|
27
28
|
|
|
28
|
-
- `-UITesting`, mock server URL,
|
|
29
|
-
-
|
|
29
|
+
- `-UITesting`, mock server URL, state reset — via `launchArguments` / `launchEnvironment`, as in the repo.
|
|
30
|
+
- Do not depend on production backend in CI; use staging/mock.
|
|
30
31
|
|
|
31
|
-
#
|
|
32
|
+
# Sync with UI
|
|
32
33
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
34
|
+
- When UI changes, update identifiers in Views and selectors in page objects.
|
|
35
|
+
- Do not weaken assertions against business expectations just to keep CI green.
|
|
35
36
|
|
|
36
|
-
#
|
|
37
|
+
# Agent requirement
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
- Планирование / генерация / heal — agents `xcuitest-test-{planner,generator,healer}` и skill `xcuitest-e2e` (не Playwright).
|
|
39
|
+
When adding UI tests:
|
|
40
|
+
- Reuse page objects; do not duplicate queries in every test.
|
|
41
|
+
- Add `accessibilityIdentifier` in SwiftUI via `.accessibilityIdentifier(...)` for new interactive elements.
|
|
42
|
+
- Follow existing UITest files as the reference.
|
|
43
|
+
- Planning / generation / heal — agents `xcuitest-test-{planner,generator,healer}` and skill `xcuitest-e2e` (not Playwright).
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Unit
|
|
2
|
+
description: Unit and integration tests (XCTest / Swift Testing)
|
|
3
3
|
paths:
|
|
4
4
|
- "**/*Tests/**/*.swift"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# General testing rules
|
|
8
8
|
|
|
9
|
-
- **Framework** — XCTest
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- `test` / `@Test` descriptions
|
|
13
|
-
-
|
|
9
|
+
- **Framework** — XCTest or Swift Testing, as in the project.
|
|
10
|
+
- Goal: verify **behavior and business rules**, not implementation details and private API.
|
|
11
|
+
- Naming:
|
|
12
|
+
- `test` / `@Test` descriptions and `XCTContext` — **in the product locale** (Russian when UI copy is Russian), as clear business phrases.
|
|
13
|
+
- Descriptions **start with a capital letter**.
|
|
14
14
|
|
|
15
|
-
# ViewModel
|
|
15
|
+
# ViewModel and use case
|
|
16
16
|
|
|
17
|
-
- Mock
|
|
18
|
-
-
|
|
19
|
-
- `@MainActor`
|
|
17
|
+
- Mock repository / use case protocols; do not hit the real network.
|
|
18
|
+
- Assert state transitions: loading → success/failure, validation errors, edge cases.
|
|
19
|
+
- Test `@MainActor` ViewModels with `@MainActor` test methods or `await MainActor.run`.
|
|
20
20
|
|
|
21
|
-
# Mappers
|
|
21
|
+
# Mappers and domain
|
|
22
22
|
|
|
23
|
-
- Mapper functions — unit
|
|
24
|
-
-
|
|
23
|
+
- Mapper functions — unit tests with case tables: nil fields, empty arrays, boundary values.
|
|
24
|
+
- Regressions on business rules (discounts, statuses, date formatting).
|
|
25
25
|
|
|
26
|
-
#
|
|
26
|
+
# Isolation
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
- Fixtures —
|
|
28
|
+
- Do not mock the subject under test (e.g. the mapper itself when testing the mapper).
|
|
29
|
+
- Fixtures — in `TestSupport/`, `Mocks/`, or colocated per repo convention; do not inline large JSON without need.
|
|
30
30
|
|
|
31
|
-
#
|
|
31
|
+
# File structure
|
|
32
32
|
|
|
33
|
-
- `FeatureViewModelTests.swift`, `OrderMapperTests.swift` —
|
|
34
|
-
-
|
|
33
|
+
- `FeatureViewModelTests.swift`, `OrderMapperTests.swift` — `Tests` suffix on type/file name per Xcode style.
|
|
34
|
+
- Do not create deep `Tests/Tests/` nesting; follow the project target structure.
|
|
35
35
|
|
|
36
|
-
#
|
|
36
|
+
# Agent requirement
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
38
|
+
When adding tests:
|
|
39
|
+
- Copy patterns from existing test files in the repo.
|
|
40
|
+
- Add tests for new logic branches and regressions.
|
|
41
|
+
- Use DTO fixtures from the Data layer and domain types from Domain; do not duplicate types in tests.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Tooling and review
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Quality, review, build, security, agent-team, retro. Index only — bodies live in topic `.md` files.
|
|
4
4
|
|
|
5
5
|
| File | Cursor SoT |
|
|
6
6
|
|------|------------|
|
|
@@ -9,8 +9,11 @@
|
|
|
9
9
|
| [`post-change-build.md`](./post-change-build.md) | `post-change-build.mdc` |
|
|
10
10
|
| [`xcode-tooling.md`](./xcode-tooling.md) | `xcode-tooling.mdc` |
|
|
11
11
|
| [`security-ios.md`](./security-ios.md) | `security-ios.mdc` |
|
|
12
|
-
| [`agent-team-intake.md`](./agent-team-intake.md) | `agent-team-intake.mdc` |
|
|
13
12
|
| [`agent-team-orchestrator.md`](./agent-team-orchestrator.md) | `agent-team-orchestrator.mdc` |
|
|
13
|
+
| [`agent-team-intake.md`](./agent-team-intake.md) | `agent-team-intake.mdc` |
|
|
14
14
|
| [`technical-retro.md`](./technical-retro.md) | `technical-retro.mdc` |
|
|
15
|
+
| [`design-guidance.md`](./design-guidance.md) | `design-guidance.mdc` |
|
|
16
|
+
| [`anti-sycophancy-discipline.md`](./anti-sycophancy-discipline.md) | `anti-sycophancy-discipline.mdc` |
|
|
17
|
+
| `preset-*.md` | `preset-*.mdc` |
|
|
15
18
|
|
|
16
19
|
Sync: change Cursor → update Claude twin same PR. Full map: [`../README.md`](../README.md).
|
|
@@ -13,6 +13,6 @@ When the user message looks like a **work request** (implement, add, fix, refact
|
|
|
13
13
|
|
|
14
14
|
1. Prefer **`/task <their request>`** or invoke **task-router** first.
|
|
15
15
|
2. Do not jump straight to coding without router + pipeline when scope is non-trivial.
|
|
16
|
-
3. Pure questions (
|
|
16
|
+
3. Pure questions (“how does X work”, “explain”) — prefer agent **`codebase-analyzer`** (explain-as-is); trivial one-liners may be answered inline. Do not open `/task`.
|
|
17
17
|
|
|
18
|
-
Exceptions: user explicitly says
|
|
18
|
+
Exceptions: user explicitly says “no pipeline”, “just do it”, or continues an active slug.
|
|
@@ -8,12 +8,11 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
<!-- shared-core: agent-team/agent-team-orchestrator.md -->
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Agent team orchestrator
|
|
13
12
|
|
|
14
13
|
Parent agent = **manager**. Router plans; specialists execute. Artifacts: `.claude/team/tasks/<slug>/`.
|
|
15
14
|
|
|
16
|
-
Work request
|
|
15
|
+
Work request without `/task` — see **`tooling-and-review/agent-team-intake.md`**.
|
|
17
16
|
|
|
18
17
|
## Entry points
|
|
19
18
|
|
|
@@ -25,15 +24,41 @@ Work request без `/task` — см. **`tooling-and-review/agent-team-intake.md
|
|
|
25
24
|
| `/feature-continue <slug>` | Alias of task-continue |
|
|
26
25
|
| `/technical-retro [slug]` | Retro with agent team block |
|
|
27
26
|
|
|
28
|
-
##
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
## Stack notes
|
|
28
|
+
|
|
29
|
+
### Roles (iOS)
|
|
30
|
+
|
|
31
|
+
| Agent | Prod writes | Typical intent |
|
|
32
|
+
|-------|-------------|----------------|
|
|
33
|
+
| `task-router` | no (team) | Every `/task` |
|
|
34
|
+
| `task-analyst` | no | feature, refactor, test-only, a11y, docs, migration |
|
|
35
|
+
| `solution-architect` | no | spike, cross-layer Feature |
|
|
36
|
+
| `migration-specialist` | no | Xcode/SPM/iOS upgrades |
|
|
37
|
+
| `api-contract-reviewer` | no | OpenAPI / Swift codegen contracts |
|
|
38
|
+
| `debugger` | minimal | bugfix |
|
|
39
|
+
| `ci-investigator` | minimal CI | ci-fix |
|
|
40
|
+
| `feature-developer` | yes | feature, bugfix, refactor, migration, a11y |
|
|
41
|
+
| `build-verifier` | no | xcodebuild + SwiftLint/Format + unit smoke; preset-structure for preset PRs |
|
|
42
|
+
| `accessibility-reviewer` | no | VoiceOver / Dynamic Type |
|
|
43
|
+
| `performance-auditor` | no | launch / Instruments |
|
|
44
|
+
| `code-reviewer` | no | most pipelines, review-only |
|
|
45
|
+
| `security-reviewer` | no | Keychain, ATS, PII |
|
|
46
|
+
| `qa-tester` | tests | feature, bugfix, test-only |
|
|
47
|
+
| `unit-test-planner` / `generator` / `healer` | tests | unit-only |
|
|
48
|
+
| `xcuitest-test-planner` / `generator` / `healer` | UI tests | e2e-only (XCUITest) |
|
|
49
|
+
| `tech-writer` | docs | docs-only |
|
|
50
|
+
|
|
51
|
+
**Never use Playwright stems** in this preset — substitute XCUITest trio. Document Playwright skips when copying next templates.
|
|
52
|
+
|
|
53
|
+
**Cursor frontmatter:** all team agents use `readonly: false` (team writes). Production restrictions live in prompt bodies.
|
|
31
54
|
|
|
32
55
|
Full prompts: `.claude/agents/*.md`. Artifact conventions: `.claude/team/README.md`; schema SoT: **agent-artifact-contracts**.
|
|
33
56
|
|
|
57
|
+
When editing `packages/ai-rules/presets/**`, follow **`tooling-and-review/preset-pr-checklist.md`** (+ twin-sync / layering / token-budget / leakage meta-rules).
|
|
58
|
+
|
|
34
59
|
## Dynamic pipeline
|
|
35
60
|
|
|
36
|
-
**Source of truth:** `pipeline.json` → `steps[]`.
|
|
61
|
+
**Source of truth for order:** `pipeline.json` → `steps[]`. Never hardcode analyst → dev → review → QA when `pipeline.json` exists.
|
|
37
62
|
|
|
38
63
|
New pipelines retain top-level `profile` and include `routingDecision` with `complexity`, `riskFlags`, non-empty `routingReasons`, `estimatedWorkPackages`, and `openDecisionCount`. The stack `task-router` owns heuristics; this metadata is auditable evidence and does not change hook semantics.
|
|
39
64
|
|
|
@@ -43,7 +68,7 @@ Use the local `metrics.json` ledger described by **agent-task-metrics**: the orc
|
|
|
43
68
|
|
|
44
69
|
## Artifact context index and receipts
|
|
45
70
|
|
|
46
|
-
Each slug has one `artifact-manifest.json`: `.
|
|
71
|
+
Each slug has one `artifact-manifest.json`: `.claude/team/tasks/<slug>/` or `.cursor/team/tasks/<slug>/`. Schema SoT: **agent-artifact-contracts**.
|
|
47
72
|
|
|
48
73
|
- Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
|
|
49
74
|
- Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
|
|
@@ -72,26 +97,31 @@ On each `subagentStop`, the hook reconciles `status.state` from the completing p
|
|
|
72
97
|
|
|
73
98
|
## Rules (strict)
|
|
74
99
|
|
|
75
|
-
1. **`/task` always starts with task-router
|
|
100
|
+
1. **`/task` always starts with task-router** (unless user skips with documented pipeline).
|
|
76
101
|
2. Read `pipeline.json` before every subagent invocation.
|
|
77
|
-
3. One role per
|
|
78
|
-
4. **Never** skip `humanGates` without continue
|
|
79
|
-
5. Persist handoffs under `.claude/team/tasks/<slug>/`
|
|
80
|
-
6. On `
|
|
81
|
-
7.
|
|
102
|
+
3. One role per Task call — except parallel steps.
|
|
103
|
+
4. **Never** skip `humanGates` without `/task-continue` or explicit approval.
|
|
104
|
+
5. Persist handoffs to disk under `.claude/team/tasks/<slug>/` via **Write** (not Shell `mkdir`).
|
|
105
|
+
6. On `changes_requested`: developer → same reviewer.
|
|
106
|
+
7. On `validation_failed`: developer → build-verifier.
|
|
107
|
+
8. When all steps complete, suggest `/technical-retro <slug>`.
|
|
108
|
+
9. If `autoChain: false`, do not rely on hook.
|
|
82
109
|
|
|
83
|
-
## Model when invoking
|
|
110
|
+
## Model when invoking (Task)
|
|
84
111
|
|
|
85
112
|
Honor optional `steps[i].model` (`cheap` \| `standard` \| `strong`); else agent frontmatter (matrix in `agents/README.md`).
|
|
86
113
|
|
|
87
|
-
- `cheap` →
|
|
88
|
-
- `standard` → omit
|
|
89
|
-
- `strong` → `opus
|
|
114
|
+
- `cheap` → Task `model: "fast"` when accepted.
|
|
115
|
+
- `standard` → omit Task model.
|
|
116
|
+
- `strong` → never pass `fast`; use agent pin `claude-opus-4-8[effort=high]` / parent Max.
|
|
90
117
|
|
|
91
|
-
##
|
|
118
|
+
## Team artifact I/O (Cursor Shell sandbox)
|
|
119
|
+
|
|
120
|
+
- Create/update `.claude/team/tasks/<slug>/**` with the **Write** tool. Do **not** bootstrap slug dirs with Shell `mkdir -p` — sandbox → `Operation not permitted` (esp. macOS Desktop/Documents + TCC).
|
|
121
|
+
- If Shell must touch team paths and fails with EPERM, retry with `required_permissions: ["all"]`.
|
|
92
122
|
|
|
93
|
-
|
|
123
|
+
## Skip pipeline when
|
|
94
124
|
|
|
95
|
-
|
|
125
|
+
- Pure questions (“how does X work?”) — prefer **`codebase-analyzer`**; typo / one-file trivial fix; user “no pipeline”; single-line docs-only.
|
|
96
126
|
|
|
97
|
-
|
|
127
|
+
Borderline — **`tooling-and-review/agent-team-intake.md`**.
|
|
@@ -1,51 +1,52 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Maintain and improve iOS code quality and architecture
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
<!-- shared-core: quality/code-quality-and-refactoring.md -->
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# Match existing style
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
- Follow existing patterns (names, structure, typing / DI / error handling); avoid drive-by formatting or renames.
|
|
10
|
+
- Before a new solution: find an analog and **repeat the approach**; check the design system / UI packages; go only through the **public API** (deep imports are a reason to refactor).
|
|
11
11
|
|
|
12
|
-
#
|
|
12
|
+
# Principles
|
|
13
13
|
|
|
14
|
-
- **KISS:**
|
|
15
|
-
- **DRY + Rule of Three:**
|
|
16
|
-
- **YAGNI:**
|
|
17
|
-
- **SOLID:** S —
|
|
18
|
-
- **CUPID:** Composable; Unix philosophy (
|
|
19
|
-
- **Composition over inheritance;** Law of Demeter —
|
|
14
|
+
- **KISS:** the simplest change in the repository’s patterns.
|
|
15
|
+
- **DRY + Rule of Three:** share only after the 3rd repetition (wrong abstraction costs more than duplication).
|
|
16
|
+
- **YAGNI:** no APIs, flags, or “for later” layers without a current requirement.
|
|
17
|
+
- **SOLID:** S — one reason to change; O — composition/new implementations; L — subtype contract; I — narrow ports; D — abstractions (ports), details in stack adapters.
|
|
18
|
+
- **CUPID:** Composable; Unix philosophy (one responsibility); Predictable; Idiomatic (repo); Domain-based.
|
|
19
|
+
- **Composition over inheritance;** Law of Demeter — no `a.b.c.d` chains; via public API / facade.
|
|
20
20
|
|
|
21
|
-
#
|
|
21
|
+
# Refactoring during changes
|
|
22
22
|
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
23
|
+
- Light refactor is OK if it reduces duplication, improves readability, and does not break public contracts.
|
|
24
|
+
- Examples: shared utility/hook/mapper/use case; narrow unsafe types; split a large module; tokens instead of “magic”; deep import → public API.
|
|
25
|
+
- Do not do a “big” refactor on a point task (structure/public names without a request). Break large work into minimal steps; keep the repo buildable after each step.
|
|
26
26
|
|
|
27
|
-
#
|
|
27
|
+
# Agent requirement
|
|
28
28
|
|
|
29
|
-
- **Boy scout:**
|
|
29
|
+
- **Boy scout:** leave the module a bit better; do not sacrifice architecture and layers for brevity.
|
|
30
30
|
|
|
31
31
|
## Agent discipline (anti-sycophancy)
|
|
32
32
|
|
|
33
33
|
Essentials below. Full procedural set (~17 rules) → load **`anti-sycophancy-discipline`**.
|
|
34
34
|
|
|
35
35
|
- Unverifiable third-party API → mark `// VERIFY: lib.symbol @ version` (or stack equivalent); never invent signatures.
|
|
36
|
-
- Before
|
|
36
|
+
- Before "is this correct?" — ≥3 failure modes (empty, boundary, concurrency/state) or name what you could not check.
|
|
37
37
|
- Refactor without tests → propose characterization test; if declined, label `UNTESTED`.
|
|
38
|
-
- Comments = WHY only when non-obvious; ban self-referential
|
|
38
|
+
- Comments = WHY only when non-obvious; ban self-referential "added for issue Y".
|
|
39
39
|
- Urgency/authority: name the trade-off once, then comply — no apology loops.
|
|
40
40
|
- Match verification to risk; report by what was **verified**, not attempted.
|
|
41
41
|
|
|
42
42
|
Style enforcement (formatter / linter / post-change gate) lives in the **stack toolchain** — see each adapter’s **Stack notes**.
|
|
43
43
|
|
|
44
|
-
> Stack-specific lint gates,
|
|
44
|
+
> Stack-specific lint gates, examples, and toolchain — in the preset adapter **Stack notes** section.
|
|
45
|
+
|
|
45
46
|
## Stack notes
|
|
46
47
|
|
|
47
|
-
-
|
|
48
|
-
- Public API:
|
|
49
|
-
-
|
|
50
|
-
- Post-change gate: **`post-change-build.
|
|
48
|
+
- Before adding a new UI control, check DesignSystem and existing components.
|
|
49
|
+
- Public API: protocols and facades between features.
|
|
50
|
+
- Acceptable examples: shared mapper/validation; replace force unwrap; split an overloaded ViewModel into use cases; design tokens instead of magic numbers/colors; remove a direct View→Data dependency in favor of a protocol.
|
|
51
|
+
- Post-change gate: **`tooling-and-review/post-change-build.md`** + `tooling-and-review/xcode-tooling.md` (not yarn lint).
|
|
51
52
|
- Style: **SwiftLint** (+ SwiftFormat when configured) — authoritative style gate; do not duplicate linter rules in prose.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Code review requirements for iOS merge requests. Use when reviewing MR/diff/PR, evaluating a branch, or when the user asks for code review.
|
|
3
3
|
paths:
|
|
4
4
|
- .claude/commands/**/*
|
|
5
5
|
- .claude/team/**/*
|
|
@@ -26,9 +26,9 @@ On-demand rule for review flows. **Procedure and output format:** skill `code-re
|
|
|
26
26
|
- UI conventions of the stack
|
|
27
27
|
- Unit and e2e/UI test conventions
|
|
28
28
|
- Post-change lint/build gate before final report
|
|
29
|
-
- Design smells **in MR diff scope** — load `design-guidance`;
|
|
30
|
-
- Pattern name (GoF) —
|
|
31
|
-
- Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) —
|
|
29
|
+
- Design smells **in MR diff scope** — load `design-guidance`; do not expand the full Fowler catalog outside the diff
|
|
30
|
+
- Pattern name (GoF) — only if the repository already uses that shape or the match is minimal
|
|
31
|
+
- Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) — via always-on `code-quality-and-refactoring`, do not duplicate the essay in review
|
|
32
32
|
|
|
33
33
|
Concrete rule stems — in **Stack notes**.
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ Concrete rule stems — in **Stack notes**.
|
|
|
37
37
|
- Focus on MR diff, not the whole repo.
|
|
38
38
|
- Use local `git diff` — do not invent hosting metadata.
|
|
39
39
|
- Boy scout rule: suggest fixes feasible within the MR scope.
|
|
40
|
-
- No
|
|
40
|
+
- No “big refactors” without an explicit request (`code-quality-and-refactoring`).
|
|
41
41
|
|
|
42
42
|
## Output contract
|
|
43
43
|
|
|
@@ -50,38 +50,39 @@ Procedure details live in skill `code-review`. Required shape:
|
|
|
50
50
|
|
|
51
51
|
## Stack notes
|
|
52
52
|
|
|
53
|
-
On-demand
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
- View
|
|
62
|
-
- ViewModel
|
|
63
|
-
- Domain
|
|
64
|
-
- Data
|
|
65
|
-
-
|
|
66
|
-
- DI
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
- **Swift
|
|
70
|
-
- `@MainActor`
|
|
71
|
-
- Typed errors;
|
|
53
|
+
On-demand rule for review flows (not always-on).
|
|
54
|
+
|
|
55
|
+
- **When to apply**
|
|
56
|
+
- Requests: “review this”, “evaluate the MR/branch/diff”, “look at the changes”.
|
|
57
|
+
- Rely on the local repository: branch, `git diff`, open files.
|
|
58
|
+
|
|
59
|
+
- **What the agent must check**
|
|
60
|
+
- **Architecture and layers** (`architecture/boundaries.md`, `stack/ios-app-core.md`):
|
|
61
|
+
- View does not call APIs and does not know DTOs.
|
|
62
|
+
- ViewModel does not depend on Data implementations directly.
|
|
63
|
+
- Domain does not import SwiftUI/UIKit.
|
|
64
|
+
- Data does not pull Presentation.
|
|
65
|
+
- **Dependencies and modules**:
|
|
66
|
+
- DI via protocols; composition root in App.
|
|
67
|
+
- No deep-import between features.
|
|
68
|
+
- Files in the correct layers (`Presentation`, `Domain`, `Data`, `DesignSystem`).
|
|
69
|
+
- **Swift and concurrency** (`stack/swift-conventions.md`):
|
|
70
|
+
- `@MainActor` on UI; no unjustified force unwraps.
|
|
71
|
+
- Typed errors; correct Task cancellation where needed.
|
|
72
72
|
- **UI** (`ui-and-accessibility/swiftui.md`):
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
- Boy scout rule
|
|
73
|
+
- Thin Views; Design System tokens; accessibility identifiers for testable elements.
|
|
74
|
+
- **Networking and data** (`api-and-data/networking.md`):
|
|
75
|
+
- DTOs separated from domain; mappers cover edge cases.
|
|
76
|
+
- **Tests**:
|
|
77
|
+
- Non-trivial logic — unit (`testing/unit.md`); user flows — UI (`testing/ui.md`).
|
|
78
|
+
- State which tests to add or update.
|
|
79
|
+
|
|
80
|
+
- **Depth and format**
|
|
81
|
+
- Focus on the **MR diff**, not the whole project.
|
|
82
|
+
- Overview first (MR goal, risks), then concrete comments with file and a fix suggestion matching repo patterns.
|
|
83
|
+
- No “big refactors” without a request (`tooling-and-review/code-quality.md`).
|
|
84
|
+
|
|
85
|
+
- **Constraints**
|
|
86
|
+
- Do not invent CI/MR hosting metadata without local data.
|
|
87
|
+
- Boy scout rule within the MR.
|
|
88
|
+
- BUGBOT automated review — see root `BUGBOT.md` (Cursor).
|