@bonesofspring/ai-rules 0.2.13 → 0.2.14

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.
Files changed (513) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +6 -2
  3. package/bin/cli.js +4 -0
  4. package/package.json +1 -1
  5. package/presets/_shared/README.md +1 -1
  6. package/presets/_shared/core/meta/preset-layering.md +1 -1
  7. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +15 -1
  8. package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
  9. package/presets/_shared/core/meta/preset-twin-sync.md +4 -0
  10. package/presets/claude/go/agents/build-verifier.md +1 -1
  11. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +2 -1
  12. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  13. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  14. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +1 -0
  15. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +5 -0
  16. package/presets/claude/ios-swift/agents/build-verifier.md +2 -2
  17. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +2 -1
  18. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  19. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  20. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +1 -0
  21. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +5 -0
  22. package/presets/claude/java/agents/build-verifier.md +1 -1
  23. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +2 -1
  24. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  25. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  26. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +1 -0
  27. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +5 -0
  28. package/presets/claude/mcp-ts/agents/build-verifier.md +1 -1
  29. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +2 -1
  30. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  31. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  32. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +1 -0
  33. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +5 -0
  34. package/presets/claude/next/agents/build-verifier.md +3 -3
  35. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +2 -1
  36. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  37. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  38. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +1 -0
  39. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +5 -0
  40. package/presets/claude/nuxt/CLAUDE.md +39 -0
  41. package/presets/claude/nuxt/MCP.md +16 -0
  42. package/presets/claude/nuxt/README.md +39 -0
  43. package/presets/claude/nuxt/REPO_AGENTS.md +49 -0
  44. package/presets/claude/nuxt/agents/README.md +199 -0
  45. package/presets/claude/nuxt/agents/accessibility-reviewer.md +59 -0
  46. package/presets/claude/nuxt/agents/api-contract-reviewer.md +63 -0
  47. package/presets/claude/nuxt/agents/build-verifier.md +89 -0
  48. package/presets/claude/nuxt/agents/ci-investigator.md +60 -0
  49. package/presets/claude/nuxt/agents/code-reviewer.md +62 -0
  50. package/presets/claude/nuxt/agents/codebase-analyzer.md +28 -0
  51. package/presets/claude/nuxt/agents/debugger.md +65 -0
  52. package/presets/claude/nuxt/agents/feature-developer.md +59 -0
  53. package/presets/claude/nuxt/agents/migration-specialist.md +67 -0
  54. package/presets/claude/nuxt/agents/performance-auditor.md +66 -0
  55. package/presets/claude/nuxt/agents/playwright-test-generator.md +75 -0
  56. package/presets/claude/nuxt/agents/playwright-test-healer.md +61 -0
  57. package/presets/claude/nuxt/agents/playwright-test-planner.md +67 -0
  58. package/presets/claude/nuxt/agents/qa-tester.md +54 -0
  59. package/presets/claude/nuxt/agents/security-reviewer.md +60 -0
  60. package/presets/claude/nuxt/agents/solution-architect.md +68 -0
  61. package/presets/claude/nuxt/agents/task-analyst.md +109 -0
  62. package/presets/claude/nuxt/agents/task-router.md +140 -0
  63. package/presets/claude/nuxt/agents/tech-writer.md +54 -0
  64. package/presets/claude/nuxt/agents/unit-test-generator.md +37 -0
  65. package/presets/claude/nuxt/agents/unit-test-healer.md +38 -0
  66. package/presets/claude/nuxt/agents/unit-test-planner.md +60 -0
  67. package/presets/claude/nuxt/commands/README.md +13 -0
  68. package/presets/claude/nuxt/commands/feature-continue.md +51 -0
  69. package/presets/claude/nuxt/commands/feature-start.md +30 -0
  70. package/presets/claude/nuxt/commands/task-continue.md +50 -0
  71. package/presets/claude/nuxt/commands/task.md +56 -0
  72. package/presets/claude/nuxt/commands/technical-retro.md +62 -0
  73. package/presets/claude/nuxt/hooks/README.md +14 -0
  74. package/presets/claude/nuxt/hooks/chain-team-phases.sh +723 -0
  75. package/presets/claude/nuxt/hooks/examples/README.md +18 -0
  76. package/presets/claude/nuxt/hooks/examples/format-edited.example.sh +11 -0
  77. package/presets/claude/nuxt/hooks/examples/secret-guard.example.sh +10 -0
  78. package/presets/claude/nuxt/hooks/examples/test-on-save.example.sh +8 -0
  79. package/presets/claude/nuxt/hooks/guard-shell-command.sh +77 -0
  80. package/presets/claude/nuxt/mcp.json +20 -0
  81. package/presets/claude/nuxt/rules/README.md +90 -0
  82. package/presets/claude/nuxt/rules/anti-hallucination/vue-nuxt-anti-hallucination.md +72 -0
  83. package/presets/claude/nuxt/rules/api-and-data/README.md +9 -0
  84. package/presets/claude/nuxt/rules/api-and-data/api-services.md +76 -0
  85. package/presets/claude/nuxt/rules/api-and-data/http-client.md +16 -0
  86. package/presets/claude/nuxt/rules/api-and-data/store-pinia.md +67 -0
  87. package/presets/claude/nuxt/rules/architecture/README.md +12 -0
  88. package/presets/claude/nuxt/rules/architecture/architecture-boundaries-ui.md +15 -0
  89. package/presets/claude/nuxt/rules/architecture/architecture-boundaries.md +98 -0
  90. package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +88 -0
  91. package/presets/claude/nuxt/rules/architecture/layer-barrel-exports.md +71 -0
  92. package/presets/claude/nuxt/rules/architecture/public-imports.md +60 -0
  93. package/presets/claude/nuxt/rules/architecture/reference-features.md +49 -0
  94. package/presets/claude/nuxt/rules/stack/README.md +12 -0
  95. package/presets/claude/nuxt/rules/stack/navigation-router-ui.md +14 -0
  96. package/presets/claude/nuxt/rules/stack/navigation-router.md +59 -0
  97. package/presets/claude/nuxt/rules/stack/no-type-assertion.md +61 -0
  98. package/presets/claude/nuxt/rules/stack/nuxt-app-core.md +43 -0
  99. package/presets/claude/nuxt/rules/stack/nuxt-pages-routing.md +39 -0
  100. package/presets/claude/nuxt/rules/stack/script-setup-conventions.md +12 -0
  101. package/presets/claude/nuxt/rules/stack/types-jsdoc.md +40 -0
  102. package/presets/claude/nuxt/rules/testing/README.md +11 -0
  103. package/presets/claude/nuxt/rules/testing/playwright-agents.md +78 -0
  104. package/presets/claude/nuxt/rules/testing/tests-e2e-structure.md +49 -0
  105. package/presets/claude/nuxt/rules/testing/tests-unit.md +75 -0
  106. package/presets/claude/nuxt/rules/tooling-and-review/README.md +15 -0
  107. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-intake.md +15 -0
  108. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +191 -0
  109. package/presets/claude/nuxt/rules/tooling-and-review/anti-sycophancy-discipline.md +33 -0
  110. package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +49 -0
  111. package/presets/claude/nuxt/rules/tooling-and-review/code-review-mr.md +63 -0
  112. package/presets/claude/nuxt/rules/tooling-and-review/design-guidance.md +114 -0
  113. package/presets/claude/nuxt/rules/tooling-and-review/package-manager.md +16 -0
  114. package/presets/claude/nuxt/rules/tooling-and-review/post-change-lint.md +43 -0
  115. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +32 -0
  116. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +79 -0
  117. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +35 -0
  118. package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +39 -0
  119. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +50 -0
  120. package/presets/claude/nuxt/rules/tooling-and-review/security-nuxt.md +37 -0
  121. package/presets/claude/nuxt/rules/tooling-and-review/technical-retro.md +15 -0
  122. package/presets/claude/nuxt/rules/ui-and-accessibility/README.md +12 -0
  123. package/presets/claude/nuxt/rules/ui-and-accessibility/css-property-order.md +11 -0
  124. package/presets/claude/nuxt/rules/ui-and-accessibility/no-v-bind-spread.md +12 -0
  125. package/presets/claude/nuxt/rules/ui-and-accessibility/vue-a11y-coding.md +16 -0
  126. package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +34 -0
  127. package/presets/claude/nuxt/skills/README.md +17 -0
  128. package/presets/claude/nuxt/skills/ci-investigation/SKILL.md +36 -0
  129. package/presets/claude/nuxt/skills/code-review/SKILL.md +38 -0
  130. package/presets/claude/nuxt/skills/debug-investigation/SKILL.md +32 -0
  131. package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +34 -0
  132. package/presets/claude/nuxt/skills/playwright-e2e/SKILL.md +37 -0
  133. package/presets/claude/nuxt/skills/technical-retro/SKILL.md +54 -0
  134. package/presets/claude/nuxt/skills/unit-testing/SKILL.md +32 -0
  135. package/presets/claude/nuxt/skills/vue-performance/SKILL.md +53 -0
  136. package/presets/claude/nuxt/skills/write-adr/SKILL.md +41 -0
  137. package/presets/claude/nuxt/team/README.md +136 -0
  138. package/presets/claude/nuxt/team/conventions.md +21 -0
  139. package/presets/claude/nuxt/team/fixtures/artifact-manifest.example.json +61 -0
  140. package/presets/claude/nuxt/team/fixtures/bugfix-standard.json +25 -0
  141. package/presets/claude/nuxt/team/fixtures/feature-full.json +28 -0
  142. package/presets/claude/nuxt/team/fixtures/feature-light.json +27 -0
  143. package/presets/claude/nuxt/team/tasks/.gitkeep +1 -0
  144. package/presets/claude/php-hexagonal/agents/build-verifier.md +1 -1
  145. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +2 -1
  146. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  147. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  148. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +1 -0
  149. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +5 -0
  150. package/presets/claude/php-laravel/agents/build-verifier.md +1 -1
  151. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +2 -1
  152. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +16 -1
  153. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +2 -1
  154. package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +1 -0
  155. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +5 -0
  156. package/presets/claude/svelte/CLAUDE.md +39 -0
  157. package/presets/claude/svelte/MCP.md +16 -0
  158. package/presets/claude/svelte/README.md +13 -0
  159. package/presets/claude/svelte/REPO_AGENTS.md +49 -0
  160. package/presets/claude/svelte/agents/README.md +199 -0
  161. package/presets/claude/svelte/agents/accessibility-reviewer.md +59 -0
  162. package/presets/claude/svelte/agents/api-contract-reviewer.md +63 -0
  163. package/presets/claude/svelte/agents/build-verifier.md +89 -0
  164. package/presets/claude/svelte/agents/ci-investigator.md +60 -0
  165. package/presets/claude/svelte/agents/code-reviewer.md +62 -0
  166. package/presets/claude/svelte/agents/codebase-analyzer.md +28 -0
  167. package/presets/claude/svelte/agents/debugger.md +65 -0
  168. package/presets/claude/svelte/agents/feature-developer.md +59 -0
  169. package/presets/claude/svelte/agents/migration-specialist.md +67 -0
  170. package/presets/claude/svelte/agents/performance-auditor.md +66 -0
  171. package/presets/claude/svelte/agents/playwright-test-generator.md +75 -0
  172. package/presets/claude/svelte/agents/playwright-test-healer.md +61 -0
  173. package/presets/claude/svelte/agents/playwright-test-planner.md +67 -0
  174. package/presets/claude/svelte/agents/qa-tester.md +54 -0
  175. package/presets/claude/svelte/agents/security-reviewer.md +60 -0
  176. package/presets/claude/svelte/agents/solution-architect.md +68 -0
  177. package/presets/claude/svelte/agents/task-analyst.md +109 -0
  178. package/presets/claude/svelte/agents/task-router.md +140 -0
  179. package/presets/claude/svelte/agents/tech-writer.md +54 -0
  180. package/presets/claude/svelte/agents/unit-test-generator.md +37 -0
  181. package/presets/claude/svelte/agents/unit-test-healer.md +38 -0
  182. package/presets/claude/svelte/agents/unit-test-planner.md +60 -0
  183. package/presets/claude/svelte/commands/README.md +13 -0
  184. package/presets/claude/svelte/commands/feature-continue.md +51 -0
  185. package/presets/claude/svelte/commands/feature-start.md +30 -0
  186. package/presets/claude/svelte/commands/task-continue.md +50 -0
  187. package/presets/claude/svelte/commands/task.md +56 -0
  188. package/presets/claude/svelte/commands/technical-retro.md +62 -0
  189. package/presets/claude/svelte/hooks/README.md +14 -0
  190. package/presets/claude/svelte/hooks/chain-team-phases.sh +723 -0
  191. package/presets/claude/svelte/hooks/examples/README.md +18 -0
  192. package/presets/claude/svelte/hooks/examples/format-edited.example.sh +13 -0
  193. package/presets/claude/svelte/hooks/examples/secret-guard.example.sh +10 -0
  194. package/presets/claude/svelte/hooks/examples/test-on-save.example.sh +14 -0
  195. package/presets/claude/svelte/hooks/guard-shell-command.sh +77 -0
  196. package/presets/claude/svelte/mcp.json +20 -0
  197. package/presets/claude/svelte/rules/README.md +90 -0
  198. package/presets/claude/svelte/rules/anti-hallucination/svelte-sveltekit-anti-hallucination.md +71 -0
  199. package/presets/claude/svelte/rules/api-and-data/README.md +9 -0
  200. package/presets/claude/svelte/rules/api-and-data/api-services.md +45 -0
  201. package/presets/claude/svelte/rules/api-and-data/http-client.md +17 -0
  202. package/presets/claude/svelte/rules/api-and-data/store-svelte.md +67 -0
  203. package/presets/claude/svelte/rules/architecture/README.md +12 -0
  204. package/presets/claude/svelte/rules/architecture/architecture-boundaries-ui.md +16 -0
  205. package/presets/claude/svelte/rules/architecture/architecture-boundaries.md +65 -0
  206. package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +61 -0
  207. package/presets/claude/svelte/rules/architecture/layer-barrel-exports.md +73 -0
  208. package/presets/claude/svelte/rules/architecture/public-imports.md +43 -0
  209. package/presets/claude/svelte/rules/architecture/reference-features.md +50 -0
  210. package/presets/claude/svelte/rules/stack/README.md +12 -0
  211. package/presets/claude/svelte/rules/stack/navigation-router-ui.md +26 -0
  212. package/presets/claude/svelte/rules/stack/navigation-router.md +41 -0
  213. package/presets/claude/svelte/rules/stack/no-type-assertion.md +59 -0
  214. package/presets/claude/svelte/rules/stack/svelte-app-core.md +44 -0
  215. package/presets/claude/svelte/rules/stack/svelte-script-conventions.md +33 -0
  216. package/presets/claude/svelte/rules/stack/sveltekit-routing.md +40 -0
  217. package/presets/claude/svelte/rules/stack/types-jsdoc.md +42 -0
  218. package/presets/claude/svelte/rules/testing/README.md +11 -0
  219. package/presets/claude/svelte/rules/testing/playwright-agents.md +80 -0
  220. package/presets/claude/svelte/rules/testing/tests-e2e-structure.md +51 -0
  221. package/presets/claude/svelte/rules/testing/tests-unit.md +40 -0
  222. package/presets/claude/svelte/rules/tooling-and-review/README.md +15 -0
  223. package/presets/claude/svelte/rules/tooling-and-review/agent-team-intake.md +17 -0
  224. package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +193 -0
  225. package/presets/claude/svelte/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
  226. package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +50 -0
  227. package/presets/claude/svelte/rules/tooling-and-review/code-review-mr.md +64 -0
  228. package/presets/claude/svelte/rules/tooling-and-review/design-guidance.md +110 -0
  229. package/presets/claude/svelte/rules/tooling-and-review/package-manager.md +17 -0
  230. package/presets/claude/svelte/rules/tooling-and-review/post-change-lint.md +44 -0
  231. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +36 -0
  232. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +83 -0
  233. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +39 -0
  234. package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +41 -0
  235. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +54 -0
  236. package/presets/claude/svelte/rules/tooling-and-review/security-sveltekit.md +41 -0
  237. package/presets/claude/svelte/rules/tooling-and-review/technical-retro.md +17 -0
  238. package/presets/claude/svelte/rules/ui-and-accessibility/README.md +12 -0
  239. package/presets/claude/svelte/rules/ui-and-accessibility/css-property-order.md +12 -0
  240. package/presets/claude/svelte/rules/ui-and-accessibility/no-rest-props-spread.md +32 -0
  241. package/presets/claude/svelte/rules/ui-and-accessibility/svelte-a11y-coding.md +28 -0
  242. package/presets/claude/svelte/rules/ui-and-accessibility/svelte-ui.md +38 -0
  243. package/presets/claude/svelte/skills/README.md +17 -0
  244. package/presets/claude/svelte/skills/ci-investigation/SKILL.md +36 -0
  245. package/presets/claude/svelte/skills/code-review/SKILL.md +38 -0
  246. package/presets/claude/svelte/skills/debug-investigation/SKILL.md +32 -0
  247. package/presets/claude/svelte/skills/feature-delivery/SKILL.md +34 -0
  248. package/presets/claude/svelte/skills/playwright-e2e/SKILL.md +37 -0
  249. package/presets/claude/svelte/skills/svelte-performance/SKILL.md +52 -0
  250. package/presets/claude/svelte/skills/technical-retro/SKILL.md +54 -0
  251. package/presets/claude/svelte/skills/unit-testing/SKILL.md +32 -0
  252. package/presets/claude/svelte/skills/write-adr/SKILL.md +41 -0
  253. package/presets/claude/svelte/team/README.md +136 -0
  254. package/presets/claude/svelte/team/conventions.md +21 -0
  255. package/presets/claude/svelte/team/fixtures/artifact-manifest.example.json +61 -0
  256. package/presets/claude/svelte/team/fixtures/bugfix-standard.json +25 -0
  257. package/presets/claude/svelte/team/fixtures/feature-full.json +28 -0
  258. package/presets/claude/svelte/team/fixtures/feature-light.json +27 -0
  259. package/presets/claude/svelte/team/tasks/.gitkeep +1 -0
  260. package/presets/cursor/go/agents/build-verifier.md +1 -1
  261. package/presets/cursor/go/rules/preset-layering.mdc +2 -1
  262. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +16 -1
  263. package/presets/cursor/go/rules/preset-pr-checklist.mdc +2 -1
  264. package/presets/cursor/go/rules/preset-token-budget.mdc +1 -0
  265. package/presets/cursor/go/rules/preset-twin-sync.mdc +5 -0
  266. package/presets/cursor/ios-swift/agents/build-verifier.md +2 -2
  267. package/presets/cursor/ios-swift/rules/preset-layering.mdc +2 -1
  268. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +16 -1
  269. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +2 -1
  270. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +1 -0
  271. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +5 -0
  272. package/presets/cursor/java/agents/build-verifier.md +1 -1
  273. package/presets/cursor/java/rules/preset-layering.mdc +2 -1
  274. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +16 -1
  275. package/presets/cursor/java/rules/preset-pr-checklist.mdc +2 -1
  276. package/presets/cursor/java/rules/preset-token-budget.mdc +1 -0
  277. package/presets/cursor/java/rules/preset-twin-sync.mdc +5 -0
  278. package/presets/cursor/mcp-ts/agents/build-verifier.md +1 -1
  279. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +2 -1
  280. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +16 -1
  281. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +2 -1
  282. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +1 -0
  283. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +5 -0
  284. package/presets/cursor/next/agents/build-verifier.md +3 -3
  285. package/presets/cursor/next/rules/preset-layering.mdc +2 -1
  286. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +16 -1
  287. package/presets/cursor/next/rules/preset-pr-checklist.mdc +2 -1
  288. package/presets/cursor/next/rules/preset-token-budget.mdc +1 -0
  289. package/presets/cursor/next/rules/preset-twin-sync.mdc +5 -0
  290. package/presets/cursor/nuxt/AGENTS.md +39 -0
  291. package/presets/cursor/nuxt/BUGBOT.md +14 -0
  292. package/presets/cursor/nuxt/MCP.md +16 -0
  293. package/presets/cursor/nuxt/README.md +47 -0
  294. package/presets/cursor/nuxt/REPO_AGENTS.md +49 -0
  295. package/presets/cursor/nuxt/agents/README.md +206 -0
  296. package/presets/cursor/nuxt/agents/accessibility-reviewer.md +60 -0
  297. package/presets/cursor/nuxt/agents/api-contract-reviewer.md +64 -0
  298. package/presets/cursor/nuxt/agents/build-verifier.md +90 -0
  299. package/presets/cursor/nuxt/agents/ci-investigator.md +61 -0
  300. package/presets/cursor/nuxt/agents/code-reviewer.md +63 -0
  301. package/presets/cursor/nuxt/agents/codebase-analyzer.md +28 -0
  302. package/presets/cursor/nuxt/agents/debugger.md +66 -0
  303. package/presets/cursor/nuxt/agents/feature-developer.md +60 -0
  304. package/presets/cursor/nuxt/agents/migration-specialist.md +68 -0
  305. package/presets/cursor/nuxt/agents/performance-auditor.md +67 -0
  306. package/presets/cursor/nuxt/agents/playwright-test-generator.md +27 -0
  307. package/presets/cursor/nuxt/agents/playwright-test-healer.md +27 -0
  308. package/presets/cursor/nuxt/agents/playwright-test-planner.md +28 -0
  309. package/presets/cursor/nuxt/agents/qa-tester.md +55 -0
  310. package/presets/cursor/nuxt/agents/security-reviewer.md +61 -0
  311. package/presets/cursor/nuxt/agents/solution-architect.md +69 -0
  312. package/presets/cursor/nuxt/agents/task-analyst.md +110 -0
  313. package/presets/cursor/nuxt/agents/task-router.md +141 -0
  314. package/presets/cursor/nuxt/agents/tech-writer.md +55 -0
  315. package/presets/cursor/nuxt/agents/unit-test-generator.md +38 -0
  316. package/presets/cursor/nuxt/agents/unit-test-healer.md +39 -0
  317. package/presets/cursor/nuxt/agents/unit-test-planner.md +61 -0
  318. package/presets/cursor/nuxt/commands/README.md +51 -0
  319. package/presets/cursor/nuxt/commands/feature-continue.md +19 -0
  320. package/presets/cursor/nuxt/commands/feature-start.md +33 -0
  321. package/presets/cursor/nuxt/commands/task-continue.md +50 -0
  322. package/presets/cursor/nuxt/commands/task.md +56 -0
  323. package/presets/cursor/nuxt/commands/technical-retro.md +85 -0
  324. package/presets/cursor/nuxt/hooks/README.md +12 -0
  325. package/presets/cursor/nuxt/hooks/chain-team-phases.sh +727 -0
  326. package/presets/cursor/nuxt/hooks/examples/README.md +18 -0
  327. package/presets/cursor/nuxt/hooks/examples/format-edited.example.sh +11 -0
  328. package/presets/cursor/nuxt/hooks/examples/secret-guard.example.sh +10 -0
  329. package/presets/cursor/nuxt/hooks/examples/test-on-save.example.sh +8 -0
  330. package/presets/cursor/nuxt/hooks/guard-shell-command.sh +77 -0
  331. package/presets/cursor/nuxt/hooks.json +17 -0
  332. package/presets/cursor/nuxt/mcp.json +19 -0
  333. package/presets/cursor/nuxt/rules/README.md +108 -0
  334. package/presets/cursor/nuxt/rules/agent-team-intake.mdc +16 -0
  335. package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +192 -0
  336. package/presets/cursor/nuxt/rules/anti-sycophancy-discipline.mdc +30 -0
  337. package/presets/cursor/nuxt/rules/api-services.mdc +79 -0
  338. package/presets/cursor/nuxt/rules/architecture-boundaries-ui.mdc +15 -0
  339. package/presets/cursor/nuxt/rules/architecture-boundaries.mdc +97 -0
  340. package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +51 -0
  341. package/presets/cursor/nuxt/rules/code-review-mr.mdc +58 -0
  342. package/presets/cursor/nuxt/rules/css-property-order-stylelint.mdc +12 -0
  343. package/presets/cursor/nuxt/rules/design-guidance.mdc +111 -0
  344. package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +83 -0
  345. package/presets/cursor/nuxt/rules/http-client.mdc +15 -0
  346. package/presets/cursor/nuxt/rules/layer-barrel-exports.mdc +74 -0
  347. package/presets/cursor/nuxt/rules/navigation-router-stack.mdc +61 -0
  348. package/presets/cursor/nuxt/rules/navigation-router-ui.mdc +16 -0
  349. package/presets/cursor/nuxt/rules/no-type-assertion-as-import-export.mdc +60 -0
  350. package/presets/cursor/nuxt/rules/no-v-bind-spread.mdc +13 -0
  351. package/presets/cursor/nuxt/rules/nuxt-app-core.mdc +45 -0
  352. package/presets/cursor/nuxt/rules/nuxt-pages-routing.mdc +37 -0
  353. package/presets/cursor/nuxt/rules/package-manager.mdc +18 -0
  354. package/presets/cursor/nuxt/rules/playwright-agents.mdc +80 -0
  355. package/presets/cursor/nuxt/rules/post-change-lint.mdc +42 -0
  356. package/presets/cursor/nuxt/rules/preset-layering.mdc +37 -0
  357. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +84 -0
  358. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +40 -0
  359. package/presets/cursor/nuxt/rules/preset-token-budget.mdc +42 -0
  360. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +55 -0
  361. package/presets/cursor/nuxt/rules/public-imports.mdc +62 -0
  362. package/presets/cursor/nuxt/rules/reference-features.mdc +49 -0
  363. package/presets/cursor/nuxt/rules/script-setup-conventions.mdc +13 -0
  364. package/presets/cursor/nuxt/rules/security-nuxt.mdc +34 -0
  365. package/presets/cursor/nuxt/rules/store-pinia.mdc +68 -0
  366. package/presets/cursor/nuxt/rules/technical-retro.mdc +16 -0
  367. package/presets/cursor/nuxt/rules/tests-e2e-structure.mdc +51 -0
  368. package/presets/cursor/nuxt/rules/tests-unit.mdc +78 -0
  369. package/presets/cursor/nuxt/rules/types-jsdoc.mdc +42 -0
  370. package/presets/cursor/nuxt/rules/vue-a11y-coding.mdc +15 -0
  371. package/presets/cursor/nuxt/rules/vue-nuxt-anti-hallucination.mdc +68 -0
  372. package/presets/cursor/nuxt/rules/vue-ui.mdc +33 -0
  373. package/presets/cursor/nuxt/skills/README.md +17 -0
  374. package/presets/cursor/nuxt/skills/ci-investigation/SKILL.md +36 -0
  375. package/presets/cursor/nuxt/skills/code-review/SKILL.md +38 -0
  376. package/presets/cursor/nuxt/skills/debug-investigation/SKILL.md +32 -0
  377. package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +34 -0
  378. package/presets/cursor/nuxt/skills/playwright-e2e/SKILL.md +37 -0
  379. package/presets/cursor/nuxt/skills/technical-retro/SKILL.md +54 -0
  380. package/presets/cursor/nuxt/skills/unit-testing/SKILL.md +32 -0
  381. package/presets/cursor/nuxt/skills/vue-performance/SKILL.md +53 -0
  382. package/presets/cursor/nuxt/skills/write-adr/SKILL.md +41 -0
  383. package/presets/cursor/nuxt/team/README.md +140 -0
  384. package/presets/cursor/nuxt/team/conventions.md +21 -0
  385. package/presets/cursor/nuxt/team/fixtures/artifact-manifest.example.json +61 -0
  386. package/presets/cursor/nuxt/team/fixtures/bugfix-standard.json +25 -0
  387. package/presets/cursor/nuxt/team/fixtures/feature-full.json +28 -0
  388. package/presets/cursor/nuxt/team/fixtures/feature-light.json +27 -0
  389. package/presets/cursor/nuxt/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
  390. package/presets/cursor/nuxt/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
  391. package/presets/cursor/nuxt/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
  392. package/presets/cursor/nuxt/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
  393. package/presets/cursor/nuxt/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
  394. package/presets/cursor/nuxt/team/fixtures/metrics.example.json +54 -0
  395. package/presets/cursor/nuxt/team/tasks/.gitkeep +0 -0
  396. package/presets/cursor/php-hexagonal/agents/build-verifier.md +1 -1
  397. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +2 -1
  398. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +16 -1
  399. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +2 -1
  400. package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +1 -0
  401. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +5 -0
  402. package/presets/cursor/php-laravel/agents/build-verifier.md +1 -1
  403. package/presets/cursor/php-laravel/rules/preset-layering.mdc +2 -1
  404. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +16 -1
  405. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +2 -1
  406. package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +1 -0
  407. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +5 -0
  408. package/presets/cursor/svelte/AGENTS.md +39 -0
  409. package/presets/cursor/svelte/BUGBOT.md +14 -0
  410. package/presets/cursor/svelte/MCP.md +16 -0
  411. package/presets/cursor/svelte/README.md +47 -0
  412. package/presets/cursor/svelte/REPO_AGENTS.md +49 -0
  413. package/presets/cursor/svelte/agents/README.md +206 -0
  414. package/presets/cursor/svelte/agents/accessibility-reviewer.md +60 -0
  415. package/presets/cursor/svelte/agents/api-contract-reviewer.md +64 -0
  416. package/presets/cursor/svelte/agents/build-verifier.md +90 -0
  417. package/presets/cursor/svelte/agents/ci-investigator.md +61 -0
  418. package/presets/cursor/svelte/agents/code-reviewer.md +63 -0
  419. package/presets/cursor/svelte/agents/codebase-analyzer.md +28 -0
  420. package/presets/cursor/svelte/agents/debugger.md +66 -0
  421. package/presets/cursor/svelte/agents/feature-developer.md +60 -0
  422. package/presets/cursor/svelte/agents/migration-specialist.md +68 -0
  423. package/presets/cursor/svelte/agents/performance-auditor.md +67 -0
  424. package/presets/cursor/svelte/agents/playwright-test-generator.md +27 -0
  425. package/presets/cursor/svelte/agents/playwright-test-healer.md +27 -0
  426. package/presets/cursor/svelte/agents/playwright-test-planner.md +28 -0
  427. package/presets/cursor/svelte/agents/qa-tester.md +55 -0
  428. package/presets/cursor/svelte/agents/security-reviewer.md +61 -0
  429. package/presets/cursor/svelte/agents/solution-architect.md +69 -0
  430. package/presets/cursor/svelte/agents/task-analyst.md +110 -0
  431. package/presets/cursor/svelte/agents/task-router.md +141 -0
  432. package/presets/cursor/svelte/agents/tech-writer.md +55 -0
  433. package/presets/cursor/svelte/agents/unit-test-generator.md +38 -0
  434. package/presets/cursor/svelte/agents/unit-test-healer.md +39 -0
  435. package/presets/cursor/svelte/agents/unit-test-planner.md +61 -0
  436. package/presets/cursor/svelte/commands/README.md +51 -0
  437. package/presets/cursor/svelte/commands/feature-continue.md +19 -0
  438. package/presets/cursor/svelte/commands/feature-start.md +33 -0
  439. package/presets/cursor/svelte/commands/task-continue.md +50 -0
  440. package/presets/cursor/svelte/commands/task.md +56 -0
  441. package/presets/cursor/svelte/commands/technical-retro.md +85 -0
  442. package/presets/cursor/svelte/hooks/README.md +12 -0
  443. package/presets/cursor/svelte/hooks/chain-team-phases.sh +727 -0
  444. package/presets/cursor/svelte/hooks/examples/README.md +18 -0
  445. package/presets/cursor/svelte/hooks/examples/format-edited.example.sh +13 -0
  446. package/presets/cursor/svelte/hooks/examples/secret-guard.example.sh +10 -0
  447. package/presets/cursor/svelte/hooks/examples/test-on-save.example.sh +14 -0
  448. package/presets/cursor/svelte/hooks/guard-shell-command.sh +77 -0
  449. package/presets/cursor/svelte/hooks.json +17 -0
  450. package/presets/cursor/svelte/mcp.json +19 -0
  451. package/presets/cursor/svelte/rules/README.md +86 -0
  452. package/presets/cursor/svelte/rules/agent-team-intake.mdc +16 -0
  453. package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +192 -0
  454. package/presets/cursor/svelte/rules/anti-sycophancy-discipline.mdc +30 -0
  455. package/presets/cursor/svelte/rules/api-services.mdc +46 -0
  456. package/presets/cursor/svelte/rules/architecture-boundaries-ui.mdc +15 -0
  457. package/presets/cursor/svelte/rules/architecture-boundaries.mdc +61 -0
  458. package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +51 -0
  459. package/presets/cursor/svelte/rules/code-review-mr.mdc +58 -0
  460. package/presets/cursor/svelte/rules/css-property-order-stylelint.mdc +12 -0
  461. package/presets/cursor/svelte/rules/design-guidance.mdc +111 -0
  462. package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +55 -0
  463. package/presets/cursor/svelte/rules/http-client.mdc +16 -0
  464. package/presets/cursor/svelte/rules/layer-barrel-exports.mdc +74 -0
  465. package/presets/cursor/svelte/rules/navigation-router-stack.mdc +40 -0
  466. package/presets/cursor/svelte/rules/navigation-router-ui.mdc +25 -0
  467. package/presets/cursor/svelte/rules/no-rest-props-spread.mdc +32 -0
  468. package/presets/cursor/svelte/rules/no-type-assertion-as-import-export.mdc +60 -0
  469. package/presets/cursor/svelte/rules/package-manager.mdc +18 -0
  470. package/presets/cursor/svelte/rules/playwright-agents.mdc +80 -0
  471. package/presets/cursor/svelte/rules/post-change-lint.mdc +42 -0
  472. package/presets/cursor/svelte/rules/preset-layering.mdc +37 -0
  473. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +84 -0
  474. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +40 -0
  475. package/presets/cursor/svelte/rules/preset-token-budget.mdc +42 -0
  476. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +55 -0
  477. package/presets/cursor/svelte/rules/public-imports.mdc +45 -0
  478. package/presets/cursor/svelte/rules/reference-features.mdc +51 -0
  479. package/presets/cursor/svelte/rules/security-sveltekit.mdc +38 -0
  480. package/presets/cursor/svelte/rules/store-svelte.mdc +66 -0
  481. package/presets/cursor/svelte/rules/svelte-a11y-coding.mdc +27 -0
  482. package/presets/cursor/svelte/rules/svelte-app-core.mdc +45 -0
  483. package/presets/cursor/svelte/rules/svelte-script-conventions.mdc +33 -0
  484. package/presets/cursor/svelte/rules/svelte-sveltekit-anti-hallucination.mdc +69 -0
  485. package/presets/cursor/svelte/rules/svelte-ui.mdc +37 -0
  486. package/presets/cursor/svelte/rules/sveltekit-routing.mdc +39 -0
  487. package/presets/cursor/svelte/rules/technical-retro.mdc +16 -0
  488. package/presets/cursor/svelte/rules/tests-e2e-structure.mdc +51 -0
  489. package/presets/cursor/svelte/rules/tests-unit.mdc +42 -0
  490. package/presets/cursor/svelte/rules/types-jsdoc.mdc +42 -0
  491. package/presets/cursor/svelte/skills/README.md +17 -0
  492. package/presets/cursor/svelte/skills/ci-investigation/SKILL.md +36 -0
  493. package/presets/cursor/svelte/skills/code-review/SKILL.md +38 -0
  494. package/presets/cursor/svelte/skills/debug-investigation/SKILL.md +32 -0
  495. package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +34 -0
  496. package/presets/cursor/svelte/skills/playwright-e2e/SKILL.md +37 -0
  497. package/presets/cursor/svelte/skills/svelte-performance/SKILL.md +52 -0
  498. package/presets/cursor/svelte/skills/technical-retro/SKILL.md +54 -0
  499. package/presets/cursor/svelte/skills/unit-testing/SKILL.md +32 -0
  500. package/presets/cursor/svelte/skills/write-adr/SKILL.md +41 -0
  501. package/presets/cursor/svelte/team/README.md +140 -0
  502. package/presets/cursor/svelte/team/conventions.md +21 -0
  503. package/presets/cursor/svelte/team/fixtures/artifact-manifest.example.json +61 -0
  504. package/presets/cursor/svelte/team/fixtures/bugfix-standard.json +25 -0
  505. package/presets/cursor/svelte/team/fixtures/feature-full.json +28 -0
  506. package/presets/cursor/svelte/team/fixtures/feature-light.json +27 -0
  507. package/presets/cursor/svelte/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
  508. package/presets/cursor/svelte/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
  509. package/presets/cursor/svelte/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
  510. package/presets/cursor/svelte/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
  511. package/presets/cursor/svelte/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
  512. package/presets/cursor/svelte/team/fixtures/metrics.example.json +54 -0
  513. package/presets/cursor/svelte/team/tasks/.gitkeep +0 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ description: Preset authoring: forbid cross-stack agent/path leakage in hooks and agents.
3
+ paths:
4
+ - packages/ai-rules/presets/**/*
5
+ - .cursor/rules/**/*
6
+ - .cursor/team/tasks/**/*
7
+ ---
8
+
9
+ <!-- shared-core: meta/preset-no-cross-stack-leakage.md -->
10
+
11
+
12
+ # Preset no cross-stack leakage
13
+
14
+ Запрет протекания stack-specific имён, путей и handoff stems между пресетами.
15
+
16
+ ## Principles
17
+
18
+ - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
+ - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
+ - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
21
+ - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
22
+ - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
23
+ - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
24
+ - Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
25
+
26
+ ## Forbidden in ios-swift hooks/agents (FAIL)
27
+
28
+ In ios-swift `chain-team-phases.sh` / agent handoffs (Cursor + Claude):
29
+
30
+ - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`
31
+ - `app/__tests__/e2e` as a required path
32
+ - Positive yarn recipes `lint:js` / `lint:css` as commands to run (negation prose alone is weak — prefer zero occurrences)
33
+
34
+ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild` or `post-change-build` / `xcode-tooling`.
35
+
36
+ ## Forbidden in next hooks/agents (FAIL when present as required)
37
+
38
+ - `xcuitest-test-` as handoff stems
39
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
40
+
41
+ ## Forbidden in nuxt hooks/agents (FAIL when present as required)
42
+
43
+ - `xcuitest-test-` as handoff stems
44
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
45
+ - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
46
+
47
+ ## Forbidden in svelte hooks/agents (FAIL when present as required)
48
+
49
+ - `xcuitest-test-` as handoff stems
50
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
51
+ - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
52
+
53
+ ## Forbidden in go / java / php-hexagonal / php-laravel hooks/agents (FAIL)
54
+
55
+ Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
56
+
57
+ - `playwright-test-`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
58
+ - Positive yarn recipes `lint:js` / `lint:css`
59
+ - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
60
+ - Agent file `accessibility-reviewer` (no UI surface)
61
+
62
+ Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`), `java-tooling` (`mvn test` / `./gradlew test`), or `php-tooling` (`php artisan test` / `composer test` / `vendor/bin/phpunit`).
63
+
64
+ ## Forbidden in mcp-ts hooks/agents (FAIL)
65
+
66
+ Same UI/mobile bans as backend stacks, plus:
67
+
68
+ - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
69
+ - Positive yarn recipes `lint:js` / `lint:css` as required gates
70
+ - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
71
+ - Go tool commands as required MCP delivery gates: `go test`, `go vet`, `golangci-lint`
72
+ - Agent files: `playwright-test-*`, `xcuitest-test-*`, `integration-test-*`, `accessibility-reviewer`
73
+
74
+ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`, `post-change-test`); Phase 1 gates `build-verifier` + `security-reviewer`.
75
+
76
+ ## Soft / document
77
+
78
+ - Mentioning the other stack in **docs** comparing presets is OK.
79
+ - `build-verifier` may reference other stacks when validating **preset packaging** (`scope: preset-structure-validation`).
80
+
81
+ ## Chain fork
82
+
83
+ `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `nuxt`, `svelte`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
@@ -0,0 +1,39 @@
1
+ ---
2
+ description: Preset authoring: PR checklist for twin sync, budget, leakage, README. Use on preset PRs.
3
+ paths:
4
+ - packages/ai-rules/presets/**/*
5
+ - .cursor/rules/**/*
6
+ - .cursor/team/tasks/**/*
7
+ ---
8
+
9
+ <!-- shared-core: meta/preset-pr-checklist.md -->
10
+
11
+
12
+ # Preset PR checklist
13
+
14
+ Чеклист для PR, затрагивающих `packages/ai-rules/presets/**` (и dogfood `.cursor/` sync).
15
+
16
+ ## Before merge
17
+
18
+ - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
19
+ - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
20
+ - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, nuxt, svelte, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — см. `preset-twin-sync`)
21
+ - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
22
+ - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
23
+ - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
24
+ - [ ] **Twin depth:** domain ≥15 lines; thin aliases documented
25
+ - [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
26
+ - [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
27
+ - [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh` (or document intentional skip) when maintaining this monorepo
28
+ - [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
29
+
30
+ ## Pointers
31
+
32
+ - Layering: `preset-layering`
33
+ - Sync: `preset-twin-sync`
34
+ - Budget: `preset-token-budget`
35
+ - Leakage: `preset-no-cross-stack-leakage`
36
+ - Validation: stack `agents/build-verifier.md` → preset-structure section
37
+ - Dogfood script: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
38
+ - Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
39
+ - Orchestrator: when editing presets, load this checklist + twin-sync
@@ -0,0 +1,41 @@
1
+ ---
2
+ description: Preset authoring: ≤3 always-on / session-start; meta rules never alwaysApply.
3
+ paths:
4
+ - packages/ai-rules/presets/**/*
5
+ - .cursor/rules/**/*
6
+ - .cursor/team/tasks/**/*
7
+ ---
8
+
9
+ <!-- shared-core: meta/preset-token-budget.md -->
10
+
11
+
12
+ # Preset token budget
13
+
14
+ Инварианты загрузки правил в **установленном** пресете (consumer app).
15
+
16
+ ## Hard caps
17
+
18
+ | Platform | Always-on | Cap |
19
+ |----------|-----------|-----|
20
+ | Cursor | `alwaysApply: true` | **≤ 3** |
21
+ | Claude | rules **without** `paths:` | **ровно 3** |
22
+
23
+ **Claude Option A (README exclusion):** when counting Claude rules without `paths:` / session-start, **exclude `**/README.md`** (topic indexes are not session-start rules). The intended session-start trio remains **exactly 3**; body budget sums **only those 3** rules.
24
+
25
+ Session-start body budget (где задокументировано): ≤140 строк суммарно (stretch ≤120).
26
+
27
+ ## Meta / author rules
28
+
29
+ Rules for preset authors (`preset-layering`, `preset-twin-sync`, …):
30
+
31
+ - **Never** `alwaysApply: true` on consumer installs.
32
+ - Cursor: `globs` limited to `packages/ai-rules/presets/**` (and dogfood `.cursor/**` where useful).
33
+ - Claude: `paths:` limited to `packages/ai-rules/presets/**` (and `.claude/**` dogfood if present).
34
+
35
+ ## Heavy workflows
36
+
37
+ Orchestrator, feature-delivery, code-review, post-change gates, domain globs — **requestable / paths**, not always-on.
38
+
39
+ ## Verifier
40
+
41
+ build-verifier **FAIL** if alwaysApply / session-start count exceeds 3 (Claude count **excludes `**/README.md`**), or if a `preset-*` meta rule is marked always-on.
@@ -0,0 +1,54 @@
1
+ ---
2
+ description: Preset authoring: Cursor SoT → Claude twin same PR. Use when editing preset rules.
3
+ paths:
4
+ - packages/ai-rules/presets/**/*
5
+ - .cursor/rules/**/*
6
+ - .cursor/team/tasks/**/*
7
+ ---
8
+
9
+ <!-- shared-core: meta/preset-twin-sync.md -->
10
+
11
+
12
+ # Preset twin sync
13
+
14
+ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
15
+
16
+ ## Matrix
17
+
18
+ | Stack | Cursor SoT | Claude derive | Mapping table |
19
+ |-------|------------|---------------|---------------|
20
+ | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
21
+ | `nuxt` | `presets/cursor/nuxt/rules/*.mdc` | `presets/claude/nuxt/rules/<topic>/` | **Required** in `claude/nuxt/rules/README.md` |
22
+ | `svelte` | `presets/cursor/svelte/rules/*.mdc` | `presets/claude/svelte/rules/<topic>/` | **Required** in `claude/svelte/rules/README.md` |
23
+ | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
24
+ | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
25
+ | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
26
+ | `mcp-ts` | `presets/cursor/mcp-ts/rules/*.mdc` | `presets/claude/mcp-ts/rules/<topic>/` | Keep in `claude/mcp-ts/rules/README.md` |
27
+ | `php-hexagonal` | `presets/cursor/php-hexagonal/rules/*.mdc` | `presets/claude/php-hexagonal/rules/<topic>/` | Keep in `claude/php-hexagonal/rules/README.md` |
28
+ | `php-laravel` | `presets/cursor/php-laravel/rules/*.mdc` | `presets/claude/php-laravel/rules/<topic>/` | Keep in `claude/php-laravel/rules/README.md` |
29
+
30
+ ## Same-PR checklist
31
+
32
+ 1. Edit Cursor rule first (body + frontmatter).
33
+ 2. Update Claude twin: body + `paths:` (from Cursor `globs:` / requestable triggers); drop `alwaysApply`.
34
+ 3. Update mapping table row if stem/path changed.
35
+ 4. If body embeds core (`<!-- shared-core: … -->`), sync core consumers across stacks when core changed.
36
+
37
+ ## Twin depth
38
+
39
+ - **Domain** rules: ≥15 body lines (FAIL if thin without documented alias reason).
40
+ - **Thin aliases** (`agent-team-intake`, `technical-retro`): may be shorter (soft) if they only point to a command/skill.
41
+
42
+ ## Severity (build-verifier)
43
+
44
+ - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
45
+ - **nuxt:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
46
+ - **svelte:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
47
+ - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
48
+ - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
49
+ - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
50
+ - **mcp-ts:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java; mapping table required).
51
+ - **php-hexagonal:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts; mapping table required).
52
+ - **php-laravel:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts / php-hexagonal; mapping table required).
53
+
54
+ Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.
@@ -0,0 +1,41 @@
1
+ ---
2
+ description: SvelteKit security — env, SSR secrets, CSRF, XSS, hooks, +server
3
+ paths:
4
+ - src/routes/**/*
5
+ - src/hooks.server.ts
6
+ - src/hooks.client.ts
7
+ - src/lib/**/*
8
+ ---
9
+
10
+ # Security (SvelteKit)
11
+
12
+ ## Secrets & env
13
+
14
+ - Private secrets: `$env/static/private` / server-only modules — **never** import into client `.svelte` / universal modules that ship to browser.
15
+ - Public config: `$env/static/public` (prefixed per project convention).
16
+ - Do not commit `.env` with secrets; do not log tokens.
17
+
18
+ ## Server boundaries
19
+
20
+ - `+server.ts`, `+page.server.ts`, `hooks.server.ts` may touch private env and privileged backends.
21
+ - Do not import `.svelte` UI into server handlers by default.
22
+ - Prefer `$lib/api` for domain client services; keep BFF thin.
23
+
24
+ ## XSS / HTML
25
+
26
+ - Prefer text interpolation; `{@html …}` only with sanitized/trusted content.
27
+ - Follow `svelte-a11y-coding` and eslint-plugin-svelte a11y where configured.
28
+
29
+ ## CSRF / forms
30
+
31
+ - Prefer Kit form actions + progressive enhancement patterns already in the repo.
32
+ - Validate/authorize on the server; never trust client-only checks for authz.
33
+
34
+ ## HTTP client
35
+
36
+ - Use project `fetch` wrapper (`http-client`); forward cookies via `load`/`event.fetch` for same-origin SSR when required.
37
+ - Do not put credentials in public env or client bundles.
38
+
39
+ ## Agent discipline
40
+
41
+ - If unsure whether a module is server-only, check filename (`.server.ts`), imports, and siblings — mark `// VERIFY` rather than guessing.
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Роль агента для проведения технического ретроспективы (retro) команды / спринта. On-demand — предпочтительнее slash-команда /technical-retro.
3
+ paths:
4
+ - .claude/team/**
5
+ ---
6
+
7
+ <!-- shared-core: review/technical-retro.md -->
8
+
9
+ # Техническое ретро — rule alias
10
+
11
+ Полный сценарий (включая блок **«Работа агентов»** для slug из team tasks) — в slash-команде:
12
+
13
+ **`commands/technical-retro.md`** → `/technical-retro`
14
+
15
+ When a task has `metrics.json`, use the local aggregation script and state the cohort, sample size, incomplete artifacts, attribution confidence, active attempt duration, and human-gate wait separately. Do not score malformed artifacts or gate wait as agent work.
16
+
17
+ Используй rule только если command недоступен. Не дублируй содержимое command в ответе — следуй command-файлу и skill `technical-retro`.
@@ -0,0 +1,12 @@
1
+ # UI and accessibility
2
+
3
+ Компоненты, стили, пропсы.
4
+
5
+ | Файл | Содержание | Загрузка |
6
+ |------|------------|----------|
7
+ | `no-rest-props-spread.md` | Явные пропсы, без `{...props}` / `$$restProps` | `paths: **/*.svelte` |
8
+ | `css-property-order.md` | Порядок CSS (Stylelint idiomatic-order) | `paths: **/*.{css,scss,svelte}` |
9
+ | `svelte-ui.md` | Структура SFC, стили, lib facades | `paths: src/lib/components/**,src/routes/**` |
10
+ | `svelte-a11y-coding.md` | A11y при написании UI | `paths: src/lib/components/**,src/routes/**` |
11
+
12
+ Deprecated stub `component-styles.md` **removed** — styles colocation lives in `svelte-ui.md`.
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: CSS property order via Stylelint (Svelte SFC styles included)
3
+ paths:
4
+ - "**/*.{css,scss,svelte}"
5
+ ---
6
+
7
+ # CSS property order
8
+
9
+ - Follow the repo Stylelint config (property order plugin if present).
10
+ - Applies to plain CSS/SCSS and `<style>` blocks in `.svelte` SFCs.
11
+ - Do not hand-resort entire files unrelated to the task; fix order in touched rulesets.
12
+ - Run via **`post-change-lint`** (`lint:css`).
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Ban undisciplined rest props / $$restProps bulk spread in Svelte
3
+ paths:
4
+ - **/*.svelte
5
+ ---
6
+
7
+ # No rest-props spread
8
+
9
+ - Prefer **explicit props** via `$props()` (Svelte 5) or typed props — name what the component accepts.
10
+ - Do **not** default to `{...props}` / `$$restProps` / bulk forwarding of unknown bags onto DOM or child components.
11
+ - Narrow exceptions OK when following an established neighbor pattern (e.g. design-system polymorphic wrapper) — document why in a short comment.
12
+ - Analogue of next `no-props-spread` / nuxt `no-v-bind-spread` — **do not** ship those stems in this preset.
13
+
14
+ ## Incorrect
15
+
16
+ ```svelte
17
+ <script lang="ts">
18
+ let props = $props()
19
+ </script>
20
+
21
+ <button {...props}>…</button>
22
+ ```
23
+
24
+ ## Correct
25
+
26
+ ```svelte
27
+ <script lang="ts">
28
+ let { label, onclick }: { label: string; onclick?: () => void } = $props()
29
+ </script>
30
+
31
+ <button type="button" {onclick}>{label}</button>
32
+ ```
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: Accessibility conventions for Svelte components and routes
3
+ paths:
4
+ - src/lib/components/**/*
5
+ - src/routes/**/*
6
+ ---
7
+
8
+ # Svelte a11y coding
9
+
10
+ - Prefer semantic HTML (`button`, `a`, `label`, landmarks) over clickable `div`/`span`.
11
+ - Interactive elements need keyboard support and visible focus — follow neighbors and design system.
12
+ - Images: meaningful `alt` (or empty alt for decorative).
13
+ - Forms: associate labels; surface errors accessibly.
14
+ - Respect `eslint-plugin-svelte` a11y rules when configured; do not blanket-disable without why.
15
+ - Dynamic UI (dialogs, menus): focus trap / restore patterns already used in the repo — do not invent a second a11y stack.
16
+ - Pair with `svelte-ui` and `architecture-boundaries-ui`.
17
+
18
+ ## Incorrect
19
+
20
+ ```svelte
21
+ <div onclick={submit}>Save</div>
22
+ ```
23
+
24
+ ## Correct
25
+
26
+ ```svelte
27
+ <button type="submit">Save</button>
28
+ ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ description: Svelte SFC UI conventions (components, routes)
3
+ paths:
4
+ - src/lib/components/**/*
5
+ - src/routes/**/*
6
+ ---
7
+
8
+ # Svelte UI (SvelteKit)
9
+
10
+ - Предпочитать **`.svelte` SFC** с `<script lang="ts">` (`svelte-script-conventions`).
11
+ - Явные props (`$props()` / typed props); без массового `{...props}` / `$$restProps` (`no-rest-props-spread`).
12
+ - Svelte 5: snippets / `{@render …}` preferred for new code; legacy slots OK when following neighbors.
13
+ - Стили: scoped `<style>` / tokens — как у соседей; порядок свойств — `css-property-order-stylelint`.
14
+ - Данные: читать stores / runes / `load` data; **не** вызывать HTTP из `.svelte` — только через `$lib/api` / store actions.
15
+ - Навигация: `<a href>`, `goto`, `invalidate`, `$app/navigation` — не `next/link`, не `<NuxtLink>`, не `navigateTo`.
16
+ - A11y: `svelte-a11y-coding`.
17
+ - Границы UI: `architecture-boundaries-ui` — no DTO in markup; map in `src/lib/api/**`.
18
+
19
+ ## Incorrect
20
+
21
+ ```svelte
22
+ <script lang="ts">
23
+ const data = await fetch('/api/items').then((r) => r.json())
24
+ </script>
25
+ ```
26
+
27
+ ## Correct
28
+
29
+ ```svelte
30
+ <script lang="ts">
31
+ import { onMount } from 'svelte'
32
+ import { loadItems } from '$lib/stores/items'
33
+
34
+ onMount(() => {
35
+ void loadItems()
36
+ })
37
+ </script>
38
+ ```
@@ -0,0 +1,17 @@
1
+ # `.claude/skills` (preset svelte)
2
+
3
+ [Skills](https://code.claude.com/docs/en/skills) в Claude Code — сценарии, которые подгружаются по необходимости, а не в каждой сессии целиком. Они синхронизированы по смыслу с `.cursor/skills` из Cursor-пресета.
4
+
5
+ | Skill | Когда использовать |
6
+ |-------|--------------------|
7
+ | `feature-delivery` | End-to-end feature work across types, API, store, UI, tests |
8
+ | `code-review` | MR/diff review using project architecture and test standards |
9
+ | `debug-investigation` | Reproducing and fixing bugs with root-cause evidence |
10
+ | `ci-investigation` | Diagnosing and fixing failing CI checks on PRs/branches |
11
+ | `unit-testing` | Planning, generating, or healing unit test coverage |
12
+ | `playwright-e2e` | Planning, generating, or healing Playwright e2e coverage |
13
+ | `technical-retro` | Technical retrospective for a task, sprint, incident, or agent pipeline |
14
+ | `write-adr` | Author an Architecture Decision Record (context / decision / consequences) |
15
+ | `svelte-performance` | Implementer checklist: bundle, SSR/payload/client, memo, waterfalls, CWV (not a perf audit agent) |
16
+
17
+ Папка копируется в `.claude/skills/` при `ai-rules init claude --preset svelte`, если существует.
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: ci-investigation
3
+ description: Investigates failing CI checks on PRs and branches — lint, typecheck, unit, e2e — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
4
+ ---
5
+
6
+ # CI Investigation
7
+
8
+ ## Workflow
9
+
10
+ 1. Identify the **first failing check** (lint, typecheck, unit, e2e, build).
11
+ 2. Capture error output — ignore cascading failures until root cause is found.
12
+ 3. Reproduce locally with the same commands CI uses from repository root:
13
+ - `lint:js`, `lint:css`, `check`
14
+ - targeted unit test file or suite
15
+ - affected Playwright spec if e2e failed
16
+ 4. Inspect git diff for changed files related to the failure.
17
+ 5. Apply **minimal fix** — no unrelated refactors.
18
+
19
+ ## Artifact
20
+
21
+ Write `ci-report.md` under the task slug folder:
22
+
23
+ - Failed check name and link/log excerpt
24
+ - Root cause classification
25
+ - Fix applied (or handoff to feature-developer)
26
+ - Validation commands and results
27
+
28
+ ## Handoff Rules
29
+
30
+ - Config-only or one-line fixes → fix in place, re-run check.
31
+ - Missing tests or architecture work → document and route to `feature-developer` or `qa-tester`.
32
+ - Flaky e2e → prefer `playwright-test-healer` after ci-investigator identifies the spec.
33
+
34
+ ## Validation
35
+
36
+ Always re-run the failing command locally before marking complete. If environment blocks execution, state the exact command and blocker.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: code-review
3
+ description: Reviews pull requests, merge requests, git diffs, and branch changes using the preset's architecture, import, UI, API, and testing standards. Use when the user asks for review or when code-reviewer runs in an agent pipeline.
4
+ ---
5
+
6
+ # Code Review
7
+
8
+ ## Inputs
9
+
10
+ Use the local repository as the source of truth: `git status`, `git diff`, task artifacts under `.claude/team/tasks/<slug>/` when present, and opened files. Do not invent hosting metadata such as labels, CI status, or reviewers.
11
+
12
+ ## Review Order
13
+
14
+ 1. Understand the intent and affected layers.
15
+ 2. Check correctness and regressions first.
16
+ 3. Verify architecture boundaries: UI does not know DTO/transport, store does not depend on UI, API services do not pull UI/store.
17
+ 4. Check public imports through `@/types` and `@/api`, plus barrel updates for new public symbols.
18
+ 5. Review UI consistency, styling conventions, and prop shape.
19
+ 6. Check tests: unit for mapper/domain logic, behavior tests for HTTP client changes, e2e plan/spec updates for user flows.
20
+ 7. **Reuse lens:** flag new helpers that duplicate existing utilities; prefer adjacent shared modules over copy-paste.
21
+ 8. **Efficiency lens:** unnecessary work, sequential ops that should be parallel, hot-path bloat, no-op store updates, overly broad reads.
22
+ 9. Report validation gaps: lint, stylelint, typecheck, or relevant tests not run.
23
+
24
+ ## Output
25
+
26
+ Lead with findings ordered by severity. Required shape (also in `code-review-mr`):
27
+
28
+ - Each finding: **`path:line`** — problem — impact — concrete fix direction.
29
+ - Severity: **`blocker` | `important` | `nit`** (list blocker → nit).
30
+ - Vague («looks risky») is not a finding — cite evidence or ask for surrounding context.
31
+ - End with a verdict line: **`Safe to merge | needs changes | reject`**.
32
+ - If there are no findings, say so and call out remaining test or validation risk.
33
+
34
+ For agent team tasks, write `.claude/team/tasks/<slug>/review.md` and set `status.json` to `completed` or `changes_requested`.
35
+
36
+ ## Design guidance
37
+
38
+ - Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: debug-investigation
3
+ description: Investigates bugs, failing tests, crashes, and incorrect behavior with runtime evidence before applying minimal fixes. Use for bugfix tasks, debugger agent runs, regressions, and flaky test diagnosis.
4
+ ---
5
+
6
+ # Debug Investigation
7
+
8
+ ## Process
9
+
10
+ 1. Reproduce the issue or collect the closest available evidence: error output, failing test, browser snapshot, logs, or user steps.
11
+ 2. Define expected vs actual behavior in one sentence.
12
+ 3. Trace the failing path through the smallest relevant slice of the codebase.
13
+ 4. Identify the root cause before editing. Avoid broad refactors during bugfixes.
14
+ 5. Apply the smallest fix that preserves existing architecture and public contracts.
15
+ 6. Add or update a regression test when the behavior is user-facing or likely to recur.
16
+ 7. Run the narrow failing check first, then relevant lint/type/test validation.
17
+
18
+ ## Artifacts
19
+
20
+ For agent team tasks, write `.claude/team/tasks/<slug>/debug-report.md` with:
21
+
22
+ - Reproduction steps or evidence source.
23
+ - Root cause.
24
+ - Fix scope.
25
+ - Regression coverage.
26
+ - Remaining risk.
27
+
28
+ Update `status.json` when complete.
29
+
30
+ ## Design guidance
31
+
32
+ - Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: feature-delivery
3
+ description: Delivers SvelteKit frontend features end-to-end across domain types, API services, store, UI, mocks, tests, and validation. Use when implementing or extending a feature, especially through /task or feature-developer.
4
+ ---
5
+
6
+ # Feature Delivery
7
+
8
+ 1. Read task brief, acceptance criteria, and decomposition if present.
9
+ 2. Read **`feature-delivery-workflow`** and **`reference-features`** — follow layer order and mirror closest reference feature.
10
+ 3. Add or update focused tests for changed behavior.
11
+ 4. Validation from SvelteKit root: **invoke** **`post-change-lint`** after code edits (requestable, not always-on — but mandatory when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
12
+
13
+ ## Scope discipline
14
+
15
+ Implement only the current AC / decomposition task. Clarify ambiguity before coding; do not add unrelated hardening, polish, or refactors. See `feature-developer` → **Zero improvisation**.
16
+
17
+ ## Handoff
18
+
19
+ Summarize by layer, validation results, and known gaps. Agent team: update `.cursor/team/tasks/<slug>/status.json`.
20
+
21
+ ## Design guidance
22
+
23
+ - Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
24
+
25
+ ## Anti-hallucination
26
+
27
+ - When editing Svelte/TS under `src/**`, load `svelte-sveltekit-anti-hallucination` (phantom Kit/Svelte/React/Vue imports).
28
+
29
+ ## Stack notes (SvelteKit)
30
+
31
+ - Layers: `src/routes` / `src/lib/components` → facades → `src/lib/stores` (store-svelte) → `src/lib/api` → `src/lib/clients`; server via `+server.ts` / hooks.
32
+ - Anti-hallucination: `svelte-sveltekit-anti-hallucination`.
33
+ - Scripts cwd: SvelteKit root (`svelte.config.*`); gates: `lint:js`, `lint:css`, `check`.
34
+ - E2E: `tests/e2e/` (Playwright).
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: playwright-e2e
3
+ description: Plans, generates, and heals Playwright e2e tests using this preset's tests/e2e layout, *.cases.md plans, page objects, and shared helpers. Use for e2e planning, test generation, or fixing failing browser tests.
4
+ ---
5
+
6
+ # Playwright E2E
7
+
8
+ ## Project Layout
9
+
10
+ - Test root: `tests/e2e`.
11
+ - Test plans: `*.cases.md` files under the matching feature folder.
12
+ - Executable specs: `*.spec.ts` files in the same folder.
13
+ - Seed/setup reference: `tests/e2e/seed.spec.ts`.
14
+
15
+ Do not introduce top-level `specs/` or `tests/` folders for real coverage unless the user explicitly asks for a sandbox.
16
+
17
+ ## Planner
18
+
19
+ Create or update the relevant `*.cases.md` file. Each scenario should include title, preconditions, steps, and expected result. Cover happy path, important edge cases, validation, and error states.
20
+
21
+ ## Generator
22
+
23
+ Generate specs from `*.cases.md` into the same folder. Reuse existing page objects and `_shared/` helpers. Keep test names aligned with scenario names.
24
+
25
+ ## Healer
26
+
27
+ Fix selectors, waits, setup, or page-object details without weakening business assertions. Use the matching `*.cases.md` file as the behavior contract.
28
+
29
+ ## Validation
30
+
31
+ Run the affected spec when feasible. If the environment blocks execution, report the command that should be run and the blocker.
32
+
33
+
34
+ ## Stack notes (SvelteKit)
35
+
36
+ - E2E root: `tests/e2e/`.
37
+ - Default baseURL `http://localhost:3000`; prefer `webServer` → `svelte dev` or `svelte preview`.