@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,51 +1,50 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Structure of e2e tests and plans (Playwright)
|
|
3
3
|
paths:
|
|
4
4
|
- tests/e2e/**/*
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- `*.cases.md`
|
|
12
|
-
-
|
|
13
|
-
- `*.spec.ts`
|
|
14
|
-
-
|
|
15
|
-
- `tests/e2e/_shared/**` —
|
|
16
|
-
|
|
17
|
-
#
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- page
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- `XXX` —
|
|
34
|
-
-
|
|
35
|
-
- `test('OH-001 Отображается список заказов', async ({ page }) => { ... })`
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
# data-testid
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
#
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
|
|
7
|
+
# E2E structure in the project
|
|
8
|
+
|
|
9
|
+
- E2E folder: `tests/e2e/**`.
|
|
10
|
+
- Scenario plans:
|
|
11
|
+
- `*.cases.md` files — **canonical source of scenarios**.
|
|
12
|
+
- Tests:
|
|
13
|
+
- `*.spec.ts` files — Playwright scenario implementation.
|
|
14
|
+
- Shared utilities and abstractions:
|
|
15
|
+
- `tests/e2e/_shared/**` — constants, fluent interfaces, helpers.
|
|
16
|
+
|
|
17
|
+
# Principles
|
|
18
|
+
|
|
19
|
+
- Every scenario from `*.cases.md` must have a matching test (or set of tests).
|
|
20
|
+
- **Do not** weaken assertions in tests if that contradicts business expectations from the plans.
|
|
21
|
+
- Prefer:
|
|
22
|
+
- page objects (e.g. `OrderHistoryPage.ts`);
|
|
23
|
+
- shared helpers from `_shared`.
|
|
24
|
+
|
|
25
|
+
# E2E test naming
|
|
26
|
+
|
|
27
|
+
- Language:
|
|
28
|
+
- all `test` / `it` names, `describe` blocks, and steps in `*.cases.md` must be formulated **in Russian**, describing behavior and the expected result. <!-- i18n-keep: E5 -->
|
|
29
|
+
- E2E title format (`test(...)` / `it(...)`):
|
|
30
|
+
- before the scenario description, put a **numbered prefix** in the form: `PREFIX-XXX Scenario description`.
|
|
31
|
+
- `PREFIX` — abbreviation from the **first letters of the words** of the entity under test, written in **Latin uppercase**.
|
|
32
|
+
- example: `OrderHistory` → `OH`, `BillingReport` → `BR`.
|
|
33
|
+
- `XXX` — sequential test number **with three digits and leading zeros**: `001`, `002`, `010`, `123`, etc.
|
|
34
|
+
- full e2e title example:
|
|
35
|
+
- `test('OH-001 Отображается список заказов', async ({ page }) => { ... })` <!-- i18n-keep: E5 -->
|
|
36
|
+
- within one entity (`PREFIX`), test numbers must form a **consistent sequence** without duplicate numbers.
|
|
37
|
+
|
|
38
|
+
# data-testid for e2e
|
|
39
|
+
|
|
40
|
+
- **Selector priority:** `data-testid` for stable elements; `getByRole` and `getByLabel` for forms and accessible elements.
|
|
41
|
+
- **Naming:** scheme `{parent}__{element}` (e.g. `history-page__title`, `history-page__recognition-banner__attach-files-button`).
|
|
42
|
+
- **Where to add:** on page root containers and key interactive elements (buttons, links, fields) that page objects target.
|
|
43
|
+
- **When UI changes:** update data-testid in components and matching selectors in page objects; align with `*.cases.md`.
|
|
44
|
+
|
|
45
|
+
# Agent requirement
|
|
46
|
+
|
|
47
|
+
When adding/changing e2e tests:
|
|
48
|
+
- First look at the matching `*.cases.md` and sync scenario names.
|
|
49
|
+
- Place specs next to plans in the same directory.
|
|
50
|
+
- Reuse shared page objects and helpers; do not copy selectors into every test.
|
|
@@ -4,37 +4,37 @@ paths:
|
|
|
4
4
|
- "**/*.{spec,test}.ts"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# Shared testing rules
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
- **Runner:** Vitest (
|
|
11
|
-
-
|
|
12
|
-
-
|
|
9
|
+
- **File names:** new tests — **`*.spec.ts`**. Do not rename existing `*.test.ts` without a task.
|
|
10
|
+
- **Runner:** Vitest (or as in the project). Components — **`@testing-library/svelte`** (not `@vue/test-utils`, not React Testing Library as default).
|
|
11
|
+
- Assert **behavior**, not internals.
|
|
12
|
+
- **`describe` / `it` naming:** formulate titles **in Russian**, each sentence capitalized (as with ESLint `jest/valid-title` if enabled). <!-- i18n-keep: E5 -->
|
|
13
13
|
|
|
14
14
|
```typescript
|
|
15
15
|
// ✅
|
|
16
|
-
it('Возвращает пустой список. Пользователь не авторизован', () => {})
|
|
16
|
+
it('Возвращает пустой список. Пользователь не авторизован', () => {}) // <!-- i18n-keep: E5 -->
|
|
17
17
|
|
|
18
18
|
// ❌
|
|
19
19
|
it('Returns empty list when user is guest', () => {})
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
#
|
|
22
|
+
# Components
|
|
23
23
|
|
|
24
|
-
- `render`
|
|
25
|
-
-
|
|
24
|
+
- `render` from `@testing-library/svelte`.
|
|
25
|
+
- Interactions: `userEvent` from `@testing-library/user-event` when that is the repo convention.
|
|
26
26
|
|
|
27
|
-
#
|
|
27
|
+
# Isolation
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
29
|
+
- Mock `$lib/api` / stores per neighbor patterns.
|
|
30
|
+
- Do not mock the feature’s public contract without need.
|
|
31
31
|
|
|
32
32
|
# HTTP / mappers
|
|
33
33
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
34
|
+
- Changes to the shared HTTP client — behavior tests next to `src/lib/clients/**`.
|
|
35
|
+
- DTO→domain mappers — unit tests for edge cases.
|
|
36
36
|
|
|
37
|
-
#
|
|
37
|
+
# Placement
|
|
38
38
|
|
|
39
|
-
- UI:
|
|
40
|
-
-
|
|
39
|
+
- UI: neighboring `*.spec.ts` (no required `__tests__/` inside the component).
|
|
40
|
+
- Other modules — as neighbors do.
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Tooling and review
|
|
2
2
|
|
|
3
|
-
Lint, package manager,
|
|
3
|
+
Lint, package manager, code quality, agent team, MR code review.
|
|
4
4
|
|
|
5
|
-
|
|
|
6
|
-
|
|
7
|
-
| `package-manager.md` | yarn / pnpm / npm / bun —
|
|
8
|
-
| `post-change-lint.md` | `lint:js` + `lint:css`
|
|
9
|
-
| `code-quality.md` | Boy scout rule,
|
|
10
|
-
| `agent-team-intake.md` |
|
|
5
|
+
| File | Contents | Loading |
|
|
6
|
+
|------|----------|---------|
|
|
7
|
+
| `package-manager.md` | yarn / pnpm / npm / bun — detect from lockfile | session start |
|
|
8
|
+
| `post-change-lint.md` | `lint:js` + `lint:css` after changes (**required** on code edits) | `paths:` commands/team/agents + `app/**` |
|
|
9
|
+
| `code-quality.md` | Boy scout rule, refactoring, ESLint | session start |
|
|
10
|
+
| `agent-team-intake.md` | When to suggest `/task` and the router pipeline | `paths:` commands/team |
|
|
11
11
|
| `agent-team-orchestrator.md` | Dynamic agent team: router, pipeline, gates | `paths:` commands/team/agents |
|
|
12
|
-
| `code-review-mr.md` |
|
|
12
|
+
| `code-review-mr.md` | Merge-request review checklist + output contract | `paths:` review-related |
|
|
13
13
|
| `security-sveltekit.md` | Secrets, auth, XSS, Server Actions (coding-time) | `paths:` app/auth/env |
|
|
14
14
|
|
|
15
|
-
On-demand (
|
|
15
|
+
On-demand (not a rule): **`commands/technical-retro.md`** (retro facilitation).
|
|
@@ -12,6 +12,6 @@ When the user message looks like a **work request** (implement, add, fix, refact
|
|
|
12
12
|
|
|
13
13
|
1. Prefer **`/task <their request>`** or invoke **task-router** first.
|
|
14
14
|
2. Do not jump straight to coding without router + pipeline when scope is non-trivial.
|
|
15
|
-
3. Pure questions (
|
|
15
|
+
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`.
|
|
16
16
|
|
|
17
|
-
Exceptions: user explicitly says
|
|
17
|
+
Exceptions: user explicitly says “no pipeline”, “just do it”, or continues an active slug.
|
|
@@ -8,9 +8,9 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
# Agent team orchestrator
|
|
10
10
|
|
|
11
|
-
Parent agent = **manager**. Router plans; specialists execute. Artifacts: `.
|
|
11
|
+
Parent agent = **manager**. Router plans; specialists execute. Artifacts: `.claude/team/tasks/<slug>/`.
|
|
12
12
|
|
|
13
|
-
Work request
|
|
13
|
+
Work request without `/task` — see **`agent-team-intake.md`** (when to suggest the router instead of coding directly).
|
|
14
14
|
|
|
15
15
|
## Entry points
|
|
16
16
|
|
|
@@ -50,9 +50,9 @@ Work request без `/task` — см. **`agent-team-intake.mdc`** (когда п
|
|
|
50
50
|
| `playwright-test-healer` | e2e fixes | failing/flaky e2e fixes |
|
|
51
51
|
| `tech-writer` | docs / team | docs-only, feature/migration docs |
|
|
52
52
|
|
|
53
|
-
**Cursor frontmatter:** all team pipeline agents use `readonly: false` so they can write `.
|
|
53
|
+
**Cursor frontmatter:** all team pipeline agents use `readonly: false` so they can write `.claude/team/**`. Production/app restrictions live in the agent prompt body — do **not** set `readonly: true` (Cursor blocks *all* file writes, including team artifacts).
|
|
54
54
|
|
|
55
|
-
Full prompts: `.
|
|
55
|
+
Full prompts: `.claude/agents/*.md`. Artifact conventions: `.claude/team/README.md`; schema SoT: **agent-artifact-contracts**.
|
|
56
56
|
|
|
57
57
|
When editing `packages/ai-rules/presets/**`, follow **`preset-pr-checklist.mdc`** (+ twin-sync / layering / token-budget / leakage meta-rules).
|
|
58
58
|
|
|
@@ -88,7 +88,7 @@ Use the local `metrics.json` ledger described by **agent-task-metrics**: the orc
|
|
|
88
88
|
|
|
89
89
|
## Artifact context index and receipts
|
|
90
90
|
|
|
91
|
-
Each slug has one `artifact-manifest.json`: `.
|
|
91
|
+
Each slug has one `artifact-manifest.json`: `.claude/team/tasks/<slug>/` or `.claude/team/tasks/<slug>/`. Schema SoT: **agent-artifact-contracts**.
|
|
92
92
|
|
|
93
93
|
- 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.
|
|
94
94
|
- Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
|
|
@@ -154,7 +154,7 @@ On each `subagentStop`, the hook reconciles `status.state` from the completing p
|
|
|
154
154
|
|
|
155
155
|
## Team artifact I/O (Cursor Shell sandbox)
|
|
156
156
|
|
|
157
|
-
- Create/update `.
|
|
157
|
+
- Create/update `.claude/team/tasks/<slug>/**` with the **Write** tool (parents are created automatically). Do **not** bootstrap slug dirs with Shell `mkdir -p` — default sandbox returns `Operation not permitted` (worse on macOS Desktop/Documents with TCC `com.apple.macl`).
|
|
158
158
|
- If Shell must touch team paths and fails with EPERM, retry with `required_permissions: ["all"]`. Prefer Write for artifacts.
|
|
159
159
|
- Prefer repo under `~/Projects` / `WebstormProjects` over `~/Desktop` when using agent team heavily.
|
|
160
160
|
|
|
@@ -181,12 +181,12 @@ If `pipeline.json` is missing (old `/feature-start` tasks), fall back to fixed p
|
|
|
181
181
|
|
|
182
182
|
Do **not** run `/task` + router for:
|
|
183
183
|
|
|
184
|
-
- Pure questions (
|
|
184
|
+
- Pure questions (“how does X work?”, “explain”) — prefer agent **`codebase-analyzer`** for deep traces; inline OK for trivial one-liners.
|
|
185
185
|
- Typo / one-file fix / trivial config with no architecture risk.
|
|
186
|
-
- User explicitly says
|
|
186
|
+
- User explicitly says “no pipeline”, “just do it”, or continues an active slug.
|
|
187
187
|
- Single-line `docs-only` with no code impact.
|
|
188
188
|
|
|
189
|
-
Borderline work requests —
|
|
189
|
+
Borderline work requests — see **`agent-team-intake.md`**.
|
|
190
190
|
|
|
191
191
|
## Auto-detection (optional)
|
|
192
192
|
|
|
@@ -1,50 +1,51 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Maintain and improve 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: index/barrel
|
|
49
|
-
-
|
|
50
|
-
- Lint/stylelint —
|
|
48
|
+
- Before adding a new UI control, check existing Svelte UI code and project packages.
|
|
49
|
+
- Public API: index/barrel files and explicitly exported entities under `$lib` (`public-imports`, `layer-barrel-exports`).
|
|
50
|
+
- Allowed examples: shared facade/utility; typing `any`/`unknown`; splitting a large `.svelte`; CSS tokens instead of “magic” values.
|
|
51
|
+
- Lint/stylelint — only **`post-change-lint`**; ESLint (`eslint-plugin-svelte`) + Stylelint configs at SvelteKit root (e.g. `eslint.config.js` / `eslint.config.mjs`, `.stylelintrc*`). Disabling a rule (`eslint-disable`) — only **locally** with a short “why” comment.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Requirements for Cursor agents reviewing merge requests
|
|
3
3
|
paths:
|
|
4
4
|
- src/routes/**/*
|
|
5
5
|
- src/lib/components/**/*
|
|
@@ -28,9 +28,9 @@ On-demand rule for review flows. **Procedure and output format:** skill `code-re
|
|
|
28
28
|
- UI conventions of the stack
|
|
29
29
|
- Unit and e2e/UI test conventions
|
|
30
30
|
- Post-change lint/build gate before final report
|
|
31
|
-
- Design smells **in MR diff scope** — load `design-guidance`;
|
|
32
|
-
- Pattern name (GoF) —
|
|
33
|
-
- Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) —
|
|
31
|
+
- Design smells **in MR diff scope** — load `design-guidance`; do not expand the full Fowler catalog outside the diff
|
|
32
|
+
- Pattern name (GoF) — only if the repository already uses that shape or the match is minimal
|
|
33
|
+
- Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) — via always-on `code-quality-and-refactoring`, do not duplicate the essay in review
|
|
34
34
|
|
|
35
35
|
Concrete rule stems — in **Stack notes**.
|
|
36
36
|
|
|
@@ -39,7 +39,7 @@ Concrete rule stems — in **Stack notes**.
|
|
|
39
39
|
- Focus on MR diff, not the whole repo.
|
|
40
40
|
- Use local `git diff` — do not invent hosting metadata.
|
|
41
41
|
- Boy scout rule: suggest fixes feasible within the MR scope.
|
|
42
|
-
- No
|
|
42
|
+
- No “big refactors” without an explicit request (`code-quality-and-refactoring`).
|
|
43
43
|
|
|
44
44
|
## Output contract
|
|
45
45
|
|
|
@@ -8,98 +8,98 @@ paths:
|
|
|
8
8
|
|
|
9
9
|
# Design guidance (smells & patterns)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Glossary of **code smells** (Fowler) and **design patterns** (GoF) for agents during implement / review / debug.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Apply only within the task or MR scope. Light refactor — yes; a “big” rewrite without an explicit request — no.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Name a pattern **only if** the repository already does it that way or the match is minimal. Otherwise — extract/split/move without a GoF label.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Does not replace always-on Principles in `code-quality-and-refactoring` (KISS, DRY + Rule of Three, YAGNI, SOLID, CUPID, composition, Demeter).
|
|
18
18
|
|
|
19
19
|
## When to load
|
|
20
20
|
|
|
21
|
-
- **Feature delivery / implement** —
|
|
22
|
-
- **Code review** — smells
|
|
23
|
-
- **Debug** — root
|
|
24
|
-
- **Light refactor only** —
|
|
21
|
+
- **Feature delivery / implement** — assess module structure, boundaries, and duplication.
|
|
22
|
+
- **Code review** — smells and pattern fit **in the MR diff**, not across the whole repo.
|
|
23
|
+
- **Debug** — root cause looks like wrong abstraction, Feature Envy, Message Chains, Shotgun Surgery.
|
|
24
|
+
- **Light refactor only** — improvements within boy-scout / MR scope; do not expand the task for the catalog.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Agents and skills load this stem via one-liner wiring — do not copy this catalog into the agent prompt.
|
|
27
27
|
|
|
28
28
|
## How to use (agent rules of thumb)
|
|
29
29
|
|
|
30
|
-
1.
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
30
|
+
1. First check against Principles (always-on): is the solution simpler, is there no premature abstraction, is the public API respected.
|
|
31
|
+
2. Then mark smells **in the changed files** of the task/MR; propose a fix only if it fits a light refactor.
|
|
32
|
+
3. A GoF pattern is an optional label after the structure is already clear; do not start design by picking a pattern.
|
|
33
|
+
4. If a smell or pattern conflicts with stack layer boundaries — stack boundaries and existing repo patterns win.
|
|
34
|
+
5. Do not require renaming “for GoF” if behavior is already correct and readable.
|
|
35
35
|
|
|
36
36
|
## Code smells (Fowler, curated ≤12)
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Table: smell → detect hint → fix hint (one line each). No mechanical refactoring menus.
|
|
39
39
|
|
|
40
40
|
| # | Smell | Detect | Fix hint |
|
|
41
41
|
|---|-------|--------|----------|
|
|
42
|
-
| 1 | Duplicate Code |
|
|
43
|
-
| 2 | Long Method / Long Module |
|
|
44
|
-
| 3 | Feature Envy |
|
|
45
|
-
| 4 | Data Clumps |
|
|
46
|
-
| 5 | Primitive Obsession |
|
|
47
|
-
| 6 | Speculative Generality |
|
|
48
|
-
| 7 | Message Chains |
|
|
49
|
-
| 8 | Middle Man |
|
|
50
|
-
| 9 | Divergent Change |
|
|
51
|
-
| 10 | Shotgun Surgery |
|
|
52
|
-
| 11 | Inappropriate Intimacy |
|
|
53
|
-
| 12 | Refused Bequest / Parallel Inheritance |
|
|
54
|
-
|
|
55
|
-
**Skip Fowler (
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
| 1 | Duplicate Code | same logic in ≥2 places | dedupe after Rule of Three |
|
|
43
|
+
| 2 | Long Method / Long Module | unit does too much | extract within scope; no big rewrite |
|
|
44
|
+
| 3 | Feature Envy | method touches foreign data more than its own | move logic toward the data / public API |
|
|
45
|
+
| 4 | Data Clumps | the same argument groups travel together | group into a type / value object |
|
|
46
|
+
| 5 | Primitive Obsession | raw string/int instead of domain concepts | typed ids / value objects when the domain needs them |
|
|
47
|
+
| 6 | Speculative Generality | unused hooks, flags, “for later” abstractions | remove (YAGNI) |
|
|
48
|
+
| 7 | Message Chains | `a.b.c.d` chains | Demeter; facade / module public API |
|
|
49
|
+
| 8 | Middle Man | class almost only forwards calls | remove pass-through **or** keep as a boundary |
|
|
50
|
+
| 9 | Divergent Change | one module changes for different reasons | split by reasons to change |
|
|
51
|
+
| 10 | Shotgun Surgery | one semantic change spreads across many files | consolidate responsibility |
|
|
52
|
+
| 11 | Inappropriate Intimacy | access to foreign internals / private details | public API / ports / facades only |
|
|
53
|
+
| 12 | Refused Bequest / Parallel Inheritance | subtype ignores base; mirrored class hierarchies | composition; do not grow parallel trees |
|
|
54
|
+
|
|
55
|
+
**Skip Fowler (not in core):** Lazy Class, Incomplete Library Class, Comments-as-smell dogma, full 70+ catalog, step-by-step recipe menus.
|
|
56
|
+
|
|
57
|
+
Smell conflict priority: Inappropriate Intimacy and Message Chains (module boundaries) > Duplicate Code (after Rule of Three) > Long Method inside an already correct module.
|
|
58
58
|
|
|
59
59
|
## Design patterns (GoF, curated ≤8)
|
|
60
60
|
|
|
61
|
-
Suggest only when repo already uses the shape or the match is minimal. Prefer extract-function over naming Strategy
|
|
61
|
+
Suggest only when repo already uses the shape or the match is minimal. Prefer extract-function over naming Strategy for the label alone.
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Patterns below are the **allowed minimum** for agents; the rest of GoF is Skip by default.
|
|
64
64
|
|
|
65
65
|
| Pattern | When to suggest | Anti-trigger |
|
|
66
66
|
|---------|-----------------|--------------|
|
|
67
|
-
| Strategy |
|
|
68
|
-
| Adapter |
|
|
69
|
-
| Facade |
|
|
70
|
-
| Factory Method |
|
|
71
|
-
| Decorator |
|
|
72
|
-
| Observer | events / subscriptions
|
|
73
|
-
| Template Method |
|
|
74
|
-
| Composite |
|
|
67
|
+
| Strategy | interchangeable algorithms already (or clearly soon) chosen by policy | one algorithm with no policy branching |
|
|
68
|
+
| Adapter | wrap external / foreign API under a local port | extra wrapper around your own API |
|
|
69
|
+
| Facade | simplify a multi-step subsystem behind a public API | facade turns into a god-object |
|
|
70
|
+
| Factory Method | polymorphic creation already accepted in repo style | factory for every trivial `new` |
|
|
71
|
+
| Decorator | additive behavior without exploding subclass hierarchies | decorator “for layers” with no real need |
|
|
72
|
+
| Observer | events / subscriptions already exist in the architecture | homemade pub/sub with no repo precedent |
|
|
73
|
+
| Template Method | shared algorithm skeleton + variable hooks | inheritance for a couple of differing lines |
|
|
74
|
+
| Composite | tree of homogeneous nodes (UI/domain), as already in the repo | Composite on a flat list with no hierarchy |
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
If unsure between two patterns — choose the simpler extract/compose without a name; the label may be added on review if the repo already speaks that way.
|
|
77
77
|
|
|
78
78
|
## Skip / avoid by default
|
|
79
79
|
|
|
80
80
|
| Catalog | Skip |
|
|
81
81
|
|---------|------|
|
|
82
82
|
| GoF | Singleton, Abstract Factory, Flyweight, Memento, Interpreter, Visitor, Bridge, Prototype |
|
|
83
|
-
| GoF (conditional) | Command, Chain of Responsibility, State —
|
|
84
|
-
| Fowler |
|
|
85
|
-
| DDD | Aggregates, bounded-context maps, event sourcing, CQRS —
|
|
86
|
-
| DDD (pointer) | ubiquitous language anti-pattern —
|
|
87
|
-
| GRASP |
|
|
88
|
-
| Clean Code dogma |
|
|
83
|
+
| GoF (conditional) | Command, Chain of Responsibility, State — mention **only if** the repo already uses them |
|
|
84
|
+
| Fowler | everything beyond the 12 smells above |
|
|
85
|
+
| DDD | Aggregates, bounded-context maps, event sourcing, CQRS — **not in core** |
|
|
86
|
+
| DDD (pointer) | ubiquitous language anti-pattern — expand in `feature-delivery-workflow`, not here |
|
|
87
|
+
| GRASP | Larman list as separate rules — skip (covered by SOLID/CUPID) |
|
|
88
|
+
| Clean Code dogma | hard caps on function lines / “exactly one assert” — skip |
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
Do not introduce a second stem (`refactoring-smells` / `design-patterns-for-agents`) — one catalog: `design-guidance`.
|
|
91
91
|
|
|
92
92
|
## Out of scope for this stem
|
|
93
93
|
|
|
94
|
-
-
|
|
95
|
-
- Stack-specific
|
|
96
|
-
- Security, a11y, perf —
|
|
97
|
-
-
|
|
94
|
+
- Full GoF (23) and full Fowler catalog.
|
|
95
|
+
- Stack-specific recipes (module paths, lint commands) — only in the adapter **Stack notes**.
|
|
96
|
+
- Security, a11y, perf — separate review rules; here only structural smells/patterns.
|
|
97
|
+
- A fourth always-on rule — forbidden; this stem is requestable / agent-load only.
|
|
98
98
|
|
|
99
99
|
## Cross-refs
|
|
100
100
|
|
|
101
101
|
- Always-on Principles: `code-quality-and-refactoring`.
|
|
102
|
-
- DIP / ports vs adapters: stack `architecture-boundaries` (
|
|
102
|
+
- DIP / ports vs adapters: stack `architecture-boundaries` (stack details — in adapter Stack notes).
|
|
103
103
|
- Ubiquitous language: `feature-delivery-workflow` (lineage).
|
|
104
104
|
- MR checklist (smells in scope; pattern name only if repo uses it): `code-review-mr`.
|
|
105
105
|
- Token / twin policy for authors: `preset-token-budget`, `preset-twin-sync` (meta, not consumer always-on).
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Before terminal package commands, detect the repository package manager and use only that one
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Package manager (terminal)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Before **`npm install` / `yarn` / `pnpm` / `bun`** and **`… run …`**, detect the repository package manager and **use only that one**.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to detect
|
|
10
10
|
|
|
11
|
-
1. **`packageManager`**
|
|
12
|
-
2. **Lockfile**
|
|
13
|
-
3.
|
|
11
|
+
1. **`packageManager`** in `package.json` (SvelteKit root / workspace root where scripts / `svelte.config.*` live).
|
|
12
|
+
2. **Lockfile** beside it: `yarn.lock` → yarn; `pnpm-lock.yaml` → pnpm; `package-lock.json` → npm; `bun.lock(b)` → bun.
|
|
13
|
+
3. If ambiguous — where `node_modules` is and which lockfile CI uses.
|
|
14
14
|
|
|
15
15
|
## Stack notes
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Working directory for scripts — **SvelteKit root** (directory with `svelte.config.*`), **not** Next `app/` and do not assume `nuxt.config.*`. Examples: `yarn lint:js`, `pnpm run check`. Do not guess — check the files.
|