@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
|
@@ -3,59 +3,59 @@ name: technical-retro
|
|
|
3
3
|
description: Facilitate a technical retrospective for a period, incident, release, or completed agent-team task slug.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Technical retrospective — agent role
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
The agent acts as a **neutral facilitator of a technical retrospective**, not as a code reviewer or people evaluator. Goal — extract lessons, align actions, and improve the development process. Use skill **`technical-retro`** as the primary scenario.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## When to use
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
12
|
+
- User asks: "retro", "technical retro", "sprint/iteration review", "what went well / poorly", "action items after release" — also common RU phrasing: «ретро» (retro), «техническое ретро» (technical retro), «разбор спринта/итерации» (sprint/iteration review) <!-- i18n-keep: E4 -->.
|
|
13
|
+
- Context available: period (sprint, quarter), topic (release, incident, migration), or attached notes/links.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Inputs (request when missing)
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
17
|
+
- **Period and focus** (for example: two weeks, release X, postmortem).
|
|
18
|
+
- **Participants/roles** (if relevant for wording): development only or full cross-functional flow.
|
|
19
|
+
- **Constraints**: time (15 / 30 / 60 min), format (async in chat vs sync agenda).
|
|
20
|
+
- Optional: deliverables list, metrics, ticket/MR links — **without inventing** facts not in the message or repository.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
If context is thin — ask **1–3 short clarifying questions**, then continue with explicit assumptions in the output header.
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Facilitation principles
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
26
|
+
- **Safety and neutrality**: wording about process and system, not "blame"; avoid labeling people.
|
|
27
|
+
- **Specificity**: from abstract "communicate better" to observable events and agreements.
|
|
28
|
+
- **Balance**: capture positives (what to amplify) and growth areas.
|
|
29
|
+
- **One owner and deadline** per action item; avoid "the team will do it" without a name/role.
|
|
30
|
+
- **Do not mix with code review**: retro does not replace line-by-line diff review; if both are requested — separate two blocks in the response.
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Recommended session structure (default)
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Adjust to the time given. For a short async format — compress to steps 2–4.
|
|
35
35
|
|
|
36
|
-
1.
|
|
37
|
-
2.
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
3.
|
|
42
|
-
4.
|
|
43
|
-
5.
|
|
44
|
-
6. **Action items**:
|
|
36
|
+
1. **Goal and scope** (1–2 sentences): why the session, what is in / out of scope.
|
|
37
|
+
2. **Fact gathering** (async in chat — user lists; agent structures):
|
|
38
|
+
- what went well,
|
|
39
|
+
- what blocked / caused risk,
|
|
40
|
+
- surprises (tech debt, bottlenecks, dependencies).
|
|
41
|
+
3. **Theme grouping**: merge duplicates, pick 3–7 themes (priority — impact × changeability).
|
|
42
|
+
4. **Root causes (light)**: for 1–2 most painful themes — brief "5 whys" or "what in process/artifacts allowed this", without moralizing.
|
|
43
|
+
5. **Experiments for next cycle**: at most 1–3 process/tool changes; each measurable or with explicit success/failure criteria.
|
|
44
|
+
6. **Action items**: table or list with **what / owner / by when / how we know it worked**.
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Agent response format
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- **Action items**
|
|
48
|
+
- Brief **header**: period, focus, assumptions (if any).
|
|
49
|
+
- **Agenda** or outcome by stages above.
|
|
50
|
+
- **Themes** — bullets; disputed points — **questions for the team**, not final conclusions without data.
|
|
51
|
+
- **Decisions and experiments** in a separate block.
|
|
52
|
+
- **Action items** at the end, each with owner and deadline (or "assign in meeting").
|
|
53
53
|
|
|
54
|
-
##
|
|
54
|
+
## Constraints
|
|
55
55
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
56
|
+
- Do not attribute quotes or facts not in the input.
|
|
57
|
+
- No legal/HR recommendations; on clear conflict or toxicity — gently suggest escalation to the person responsible for the team, without "punishment" details.
|
|
58
|
+
- If only a template is requested — **agenda and board template** (columns, timeboxes) without invented content.
|
|
59
59
|
|
|
60
60
|
### Metrics evidence
|
|
61
61
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `.claude/rules` (preset next)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
In Claude Code all `.md` files under `rules/` are **discovered recursively**. Bodies are **derived** from Cursor SoT; indexes are not a second SoT.
|
|
4
4
|
|
|
5
5
|
## SoT sync
|
|
6
6
|
|
|
@@ -14,22 +14,22 @@
|
|
|
14
14
|
|
|
15
15
|
## Loading strategy
|
|
16
16
|
|
|
17
|
-
- **Session start (no `paths:`):**
|
|
18
|
-
- **On-demand (`paths:` or via commands):** `post-change-lint` (
|
|
17
|
+
- **Session start (no `paths:`):** exactly **3** — `next-app-core`, `package-manager`, `code-quality`
|
|
18
|
+
- **On-demand (`paths:` or via commands):** `post-change-lint` (**must after code edits**), `agent-team-intake`, `agent-team-orchestrator`, `code-review-mr`, `security-next`, architecture, imports, UI, tests, feature-delivery-workflow, `design-guidance`, `anti-sycophancy-discipline`, `react-next-anti-hallucination`, reference-features, next-app-router, react-a11y-coding, `technical-retro`, **preset-*** meta (paths on `packages/ai-rules/presets/**`)
|
|
19
19
|
- **Skills:** long workflows (`feature-delivery`, `code-review`, …)
|
|
20
20
|
|
|
21
21
|
### UI edit bundle (consolidated paths)
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
When editing `app/src/ui/**/*.tsx`, a **reduced** set loads:
|
|
24
24
|
|
|
25
|
-
| Rule |
|
|
25
|
+
| Rule | Purpose |
|
|
26
26
|
|------|------------|
|
|
27
|
-
| `ui-and-accessibility/react-ui.md` |
|
|
28
|
-
| `architecture/architecture-boundaries-ui.md` | Slim
|
|
27
|
+
| `ui-and-accessibility/react-ui.md` | Structure, styles, props |
|
|
28
|
+
| `architecture/architecture-boundaries-ui.md` | Slim UI layer boundaries |
|
|
29
29
|
| `ui-and-accessibility/react-a11y-coding.md` | A11y |
|
|
30
|
-
| `stack/navigation-router-ui.md` |
|
|
30
|
+
| `stack/navigation-router-ui.md` | Short navigation guide |
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
**Not loaded on a typical UI edit:** `architecture/architecture-boundaries.md` (api/store/types/lib), `architecture/layer-barrel-exports.md` (only `index.ts`), `stack/navigation-router.md` (only `app/src/app/**`). Colocated styles — in `react-ui.md` (not a separate stub).
|
|
33
33
|
|
|
34
34
|
## Cursor → Claude mapping
|
|
35
35
|
|
|
@@ -92,17 +92,17 @@
|
|
|
92
92
|
|
|
93
93
|
## Folders
|
|
94
94
|
|
|
95
|
-
|
|
|
95
|
+
| Folder | About |
|
|
96
96
|
|-------|--------|
|
|
97
97
|
| `stack/` | Next core, router, conventions |
|
|
98
|
-
| `architecture/` |
|
|
98
|
+
| `architecture/` | Boundaries, feature-delivery, reference-features, imports |
|
|
99
99
|
| `api-and-data/` | HTTP, services, store |
|
|
100
100
|
| `anti-hallucination/` | Next/React/RTK phantom-import banlists |
|
|
101
101
|
| `testing/` | Unit, e2e, Playwright |
|
|
102
102
|
| `ui-and-accessibility/` | React UI, a11y, props |
|
|
103
103
|
| `tooling-and-review/` | Quality, review, lint, agent-team, retro, **preset meta** |
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
**Collisions:** type and API imports — **`architecture/public-imports.md`**.
|
|
106
106
|
|
|
107
107
|
## Metrics policy mapping
|
|
108
108
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# API and data
|
|
2
2
|
|
|
3
|
-
HTTP
|
|
3
|
+
HTTP transport, services, Redux store.
|
|
4
4
|
|
|
5
|
-
|
|
|
6
|
-
|
|
7
|
-
| `http-client.md` |
|
|
8
|
-
| `api-services.md` |
|
|
9
|
-
| `store-rtk.md` | Redux Toolkit,
|
|
5
|
+
| File | Contents | `paths:` |
|
|
6
|
+
|------|----------|----------|
|
|
7
|
+
| `http-client.md` | Single HTTP client, errors, store integration | `app/src/lib/clients/**`, `app/src/api/clients/**` |
|
|
8
|
+
| `api-services.md` | Services, mappers, DTO → domain | `app/src/api/services/**` |
|
|
9
|
+
| `store-rtk.md` | Redux Toolkit, thunks, typing | `app/src/store/**` |
|
|
@@ -4,58 +4,58 @@ paths:
|
|
|
4
4
|
impact: HIGH
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# Role of the API layer
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
- HTTP
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
9
|
+
- Encapsulate everything related to:
|
|
10
|
+
- HTTP requests through **application API client instances** in `app/src/api/clients/**`, built on the **shared implementation** from `app/src/lib/clients/**` (as in existing code); details — **`api-and-data/http-client.md`**; layer placement in the **ports and adapters** scheme — `architecture/architecture-boundaries.md`;
|
|
11
|
+
- URLs/paths,
|
|
12
|
+
- headers and response codes,
|
|
13
|
+
- backend DTOs.
|
|
14
|
+
- Provide UI and store with a **stable domain interface**:
|
|
15
|
+
- functions that work with domain types from `@/types` (`architecture/public-imports.md`).
|
|
16
|
+
- mappers between DTOs and domain types.
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# Module structure
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
20
|
+
- For each domain area (for example, orders, billing, account settings):
|
|
21
|
+
- a separate directory in `app/src/api/services/<ServiceName or feature>/**` following repository convention.
|
|
22
|
+
- Inside a module:
|
|
23
|
+
- files with API calls (`index.ts` or `*.service.ts`);
|
|
24
|
+
- mapper files (`*responseMappers.ts`);
|
|
25
|
+
- request/response-specific types (if not moved to `app/src/types/**` with export through the `@/types` barrel).
|
|
26
|
+
- when needed — local `index.ts` / barrel inside the module for structure **within** `app/src/api/**`; **outside** this layer UI, store, and other code import only from the root barrel `app/src/api/index.ts` (`import … from '@/api'`, **`architecture/public-imports.md`**).
|
|
27
27
|
|
|
28
|
-
#
|
|
28
|
+
# Mappers and types
|
|
29
29
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
- UI
|
|
38
|
-
-
|
|
30
|
+
- For each request/endpoint:
|
|
31
|
+
- describe the **response type (DTO)** that exactly matches the backend contract;
|
|
32
|
+
- define the **target domain type** in `app/src/types/**` that the application will use (including computed/aggregated fields).
|
|
33
|
+
- Mappers (for example, `*responseMappers.ts`):
|
|
34
|
+
- pure functions, no side effects;
|
|
35
|
+
- perform all necessary data computations and transformations (boolean flags, string concatenation, aggregates, etc.) when converting from DTO to domain models;
|
|
36
|
+
- when needed, provide reverse conversion (domain models → transport types).
|
|
37
|
+
- UI and store work only with domain types (from `@/types` or exported from the API layer public API), not with "raw" DTOs.
|
|
38
|
+
- **Do not call `fetch` directly** in API method bodies: only through the client; exceptions — narrow modules (for example JSON-RPC), if that is how the repository is already structured.
|
|
39
39
|
|
|
40
|
-
#
|
|
40
|
+
# Error handling
|
|
41
41
|
|
|
42
|
-
- API
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
42
|
+
- The API layer:
|
|
43
|
+
- must not "swallow" errors without a trace;
|
|
44
|
+
- either throws domain/unified errors;
|
|
45
|
+
- or returns a result in a `Result<T, E>`-like form (if that pattern is adopted in the project).
|
|
46
|
+
- APM/tracing integration (if present in the project):
|
|
47
|
+
- centrally (HTTP client, wrappers), not in every service method.
|
|
48
48
|
|
|
49
|
-
#
|
|
49
|
+
# Agent requirement
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
When adding/changing an API method:
|
|
52
52
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
- store
|
|
58
|
-
-
|
|
53
|
+
- Follow existing services and mappers as the reference.
|
|
54
|
+
- Complete the barrel-export checklist (**`architecture/layer-barrel-exports.md`**): local `index.ts` → layer facade → root barrel.
|
|
55
|
+
- Do not mix the API layer and UI/store:
|
|
56
|
+
- components must not depend on DTOs;
|
|
57
|
+
- store must not assemble URLs/endpoint codes itself or bypass services; **transport response type** and **error contract** from `@/types` (as with the application client) are acceptable in thunks when parsing `catch`/payload, if the service is structured that way (see `api-and-data/store-rtk.md`, `api-and-data/http-client.md`).
|
|
58
|
+
- When using API services in UI, store, and utilities **outside** `app/src/api/**`, import **only** from `@/api` (root barrel), see **`architecture/public-imports.md`**; inside the API layer — via relative paths or `@/api/services/**` / `@/api/clients/**`, without duplicating the public contract around the root barrel for external consumers.
|
|
59
59
|
## Incorrect
|
|
60
60
|
|
|
61
61
|
```ts
|
|
@@ -5,40 +5,41 @@ paths:
|
|
|
5
5
|
impact: HIGH
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# HTTP
|
|
8
|
+
# HTTP transport
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
**Names** of factories, error classes, response types, and config — **as in the current repo code** and in the barrel `app/src/types/index.ts`. Below are **architectural rules**, not a rename specification.
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Layer role
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
14
|
+
- Typical REST calls to the backend go through **one implementation** in `app/src/lib/clients/**` (shared client module) and **preconfigured instances** in `app/src/api/clients/**`, following the pattern already adopted in the project.
|
|
15
|
+
- Where transport fits in the **ports and adapters** picture — `architecture/architecture-boundaries.md` (section **“Ports and adapters”**).
|
|
16
|
+
- **Do not** call `fetch` directly from `app/src/api/services/**`, store, or UI (see `architecture/architecture-boundaries.md`, `api-and-data/api-services.md`); from store/UI — only calls via services from `@/api` (`architecture/public-imports.md`).
|
|
17
|
+
- **Exceptions** (narrow protocols, separate transport) — only where the repo already has an example; repeat it, do not invent ad-hoc bypasses of the shared client.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Types
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
21
|
+
- Everything related to the **request/response/error contract** of the app and re-exported for the HTTP layer must be imported **only** from the `@/types` barrel, without deep imports from internal `app/src/types/**` files (see `architecture/public-imports.md`).
|
|
22
|
+
- Do not introduce **types or dependencies on an external HTTP client** the project has moved away from; use **`package.json`** and existing calls as the guide.
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Error contract
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
26
|
+
- Network and HTTP errors must arrive in the **single shape** defined by the shared client (typically a class/wrapper with a field like `response` for body and status).
|
|
27
|
+
- In **`catch`**, rely on the **actual error shape** in this repo (as in neighboring slices/services): access body, status, diagnostic code — **via fields of the current implementation**, without inventing a second format.
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Behavior that stays in the client
|
|
30
30
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
31
|
+
- Shared headers, `credentials`, file uploads (**FormData** / stripping extra headers), binary responses (**blob** and equivalents), uniform parsing of JSON and other bodies.
|
|
32
|
+
- **401 / refresh** interception, **404** handling, etc. — **centrally**, if already done in the client; do not duplicate the same logic in every service.
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## Store relationship
|
|
35
35
|
|
|
36
|
-
-
|
|
36
|
+
- A thunk may return the **successful response wrapper type** if the service is structured that way; in **state**, prefer **domain** types after mapping. See `api-and-data/store-rtk.md`.
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Agent requirement
|
|
39
|
+
|
|
40
|
+
- When changing the shared client implementation — **update or add behavior tests** next to the client module (`testing/tests-unit.md`).
|
|
41
|
+
- Do not introduce a **second full HTTP stack** without an explicit task and alignment with repo architecture.
|
|
39
42
|
|
|
40
|
-
- Меняя реализацию общего клиента — **обновить или добавить behavior‑тесты** рядом с модулем клиента (`testing/tests-unit.md`).
|
|
41
|
-
- Не вводить **второй полноценный HTTP‑стек** без явной задачи и согласования с архитектурой репозитория.
|
|
42
43
|
## Incorrect
|
|
43
44
|
|
|
44
45
|
```ts
|
|
@@ -4,66 +4,66 @@ paths:
|
|
|
4
4
|
impact: HIGH
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
- `createSlice`, `createAsyncThunk`, RTK Query (
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
#
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- `reducer
|
|
22
|
-
- `actions`
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
- **HTTP
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
#
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
#
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
7
|
+
# General principles
|
|
8
|
+
|
|
9
|
+
- Use **Redux Toolkit**:
|
|
10
|
+
- `createSlice`, `createAsyncThunk`, RTK Query (if used).
|
|
11
|
+
- Store **domain models**, not "raw" DTOs from the API.
|
|
12
|
+
- All data computations and transformations (including computed fields, boolean flags, aggregates, human-readable strings, etc.) must happen **between the API response and writing to store** — in mappers or a separate data-preparation layer. Store holds the prepared domain model.
|
|
13
|
+
- Separate:
|
|
14
|
+
- "server" state (data from API) and
|
|
15
|
+
- local UI state (selection/filters/flags).
|
|
16
|
+
|
|
17
|
+
# Slice structure
|
|
18
|
+
|
|
19
|
+
- Each domain module — its own slice in `app/src/store/slices/**`.
|
|
20
|
+
- A slice exports:
|
|
21
|
+
- default `reducer`;
|
|
22
|
+
- `actions` as named exports;
|
|
23
|
+
- selectors `selectSomething(state: RootState): Type`.
|
|
24
|
+
- State:
|
|
25
|
+
- explicit state type;
|
|
26
|
+
- careful `initialState` initialization.
|
|
27
|
+
|
|
28
|
+
# Async and side effects
|
|
29
|
+
|
|
30
|
+
- Async requests:
|
|
31
|
+
- via `createAsyncThunk` or RTK Query.
|
|
32
|
+
- inside thunks:
|
|
33
|
+
- call API through services imported from `@/api` (**`architecture/public-imports.md`**);
|
|
34
|
+
- do not call the HTTP client directly — only through those services.
|
|
35
|
+
- Side effects (logging, analytics, file handling):
|
|
36
|
+
- move to middleware (`app/src/store/middleware/**`) or specialized slices.
|
|
37
|
+
|
|
38
|
+
# Typing
|
|
39
|
+
|
|
40
|
+
- Use `RootState`, `AppDispatch`, and typed hooks `useAppDispatch`, `useAppSelector` (if present).
|
|
41
|
+
- **HTTP and API errors**:
|
|
42
|
+
- do not import types from **third-party HTTP libraries** that are not in current dependencies and existing slices (guide — **`package.json`** and neighboring files);
|
|
43
|
+
- when a service returns the application client's **response wrapper** — use the **matching type from `@/types`** (as in the barrel and similar thunks);
|
|
44
|
+
- on errors after a service call — rely on the **same transport error class/contract** the shared client uses (from `@/types`), and parse body/status **by fields of the current implementation**, not an imagined API;
|
|
45
|
+
- in **`catch`**, prefer **`instanceof`** on the transport error class from `@/types` (if present in code) over bare `as`, when expressible without noise (see `stack/no-type-assertion.md`).
|
|
46
|
+
- For entities:
|
|
47
|
+
- define domain types (including computed fields) in `app/src/types/**`, export through barrel, import in slices from `@/types` as **source of truth** for data shape (`architecture/public-imports.md`);
|
|
48
|
+
- avoid duplicating entity descriptions in multiple places.
|
|
49
|
+
- **Domain boundary**: in **state**, store domain models; the client **response wrapper** type is acceptable as a thunk **return type** or interim before mapping — without duplicating DTOs in state fields unnecessarily (aligned with `api-and-data/api-services.md` and `api-and-data/http-client.md`).
|
|
50
|
+
|
|
51
|
+
# Slice testing
|
|
52
|
+
|
|
53
|
+
- For important slices:
|
|
54
|
+
- test reducers (initialization, main state transitions).
|
|
55
|
+
- test selectors (including edge cases).
|
|
56
|
+
- Thunks:
|
|
57
|
+
- cover with tests and API-layer mocks when possible.
|
|
58
|
+
|
|
59
|
+
# Agent requirement
|
|
60
|
+
|
|
61
|
+
When changing/creating a slice:
|
|
62
|
+
|
|
63
|
+
- Do not put API logic inside reducers/components.
|
|
64
|
+
- Strictly type state and actions.
|
|
65
|
+
- Use a **consistent naming style for actions and selectors**, as in existing slices.
|
|
66
|
+
- For HTTP errors and responses, rely on **`api-and-data/http-client.md`** and contracts from `@/types`, not external HTTP library types outside project dependencies.
|
|
67
67
|
## Incorrect
|
|
68
68
|
|
|
69
69
|
```ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Architecture rules
|
|
2
2
|
|
|
3
|
-
|
|
|
4
|
-
|
|
5
|
-
| `public-imports.md` |
|
|
6
|
-
| `architecture-boundaries-ui.md` | Slim
|
|
7
|
-
| `architecture-boundaries.md` |
|
|
8
|
-
| `layer-barrel-exports.md` |
|
|
9
|
-
| `feature-delivery-workflow.md` |
|
|
10
|
-
| `reference-features.md` |
|
|
3
|
+
| File | Purpose |
|
|
4
|
+
|------|---------|
|
|
5
|
+
| `public-imports.md` | Imports of `@/types`, `@/types/enums`, `@/api` (outside `app/src/api/**`) |
|
|
6
|
+
| `architecture-boundaries-ui.md` | Slim UI boundaries when editing components |
|
|
7
|
+
| `architecture-boundaries.md` | Full UI / store / API map (api, store, types, lib) |
|
|
8
|
+
| `layer-barrel-exports.md` | Two-level barrels for layers with a public API |
|
|
9
|
+
| `feature-delivery-workflow.md` | End-to-end checklist for a new feature |
|
|
10
|
+
| `reference-features.md` | Reference paths for UI/store/API/types |
|
|
11
11
|
|
|
12
12
|
Deprecated stubs `types-public-imports.md` / `api-public-imports.md` **removed** — use `public-imports.md`.
|
|
@@ -6,10 +6,10 @@ paths:
|
|
|
6
6
|
|
|
7
7
|
# UI layer boundaries (slim)
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- **Barrel:**
|
|
9
|
+
- **Imports:** `@/ui/**`, `@/store/**`, types from `@/types` and enums from `@/types/enums`, API — only `from '@/api'` (`architecture/public-imports.md`).
|
|
10
|
+
- **Forbidden:** direct HTTP client; DTO knowledge — domain types only.
|
|
11
|
+
- **State:** write scenarios and multi-step coordination — via store/thunk; narrow direct `@/api` reads — only as in neighboring features.
|
|
12
|
+
- **Organization:** `@/` alias; no deep imports into other features; public API only.
|
|
13
|
+
- **Barrel:** for new public symbols — re-export per `architecture/layer-barrel-exports.md` (rule loads on `index.ts`).
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Full layer map (store, API, ports/adapters): **`architecture/architecture-boundaries.md`** — when editing `app/src/api`, `store`, `types`, `lib`.
|