@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
package/CHANGELOG.md CHANGED
@@ -21,6 +21,26 @@
21
21
  - Human-gate resume is a hook action: `{"status":"completed","action":"end_human_gate","activateNext":true}` on the installed `hooks/chain-team-phases.sh` (`/task-continue`); optional wrapper `scripts/close-agent-task-human-gate.mjs`.
22
22
  - Added `aggregate-agent-task-metrics.mjs` (role/count/duration, gate wait, attribution confidence, and separate missing-ledger, malformed-JSON, duplicate-ID, unterminated, unmatched, and duplicate-terminal completeness categories), Next fixtures under `presets/cursor/next/team/fixtures/`, and a 14-fork lifecycle harness covering retry, concurrent parallel completion, skip, gate, and invalid-ledger scenarios. Technical-retro commands include a Metrics evidence section.
23
23
 
24
+ ### Nuxt preset (`nuxt`)
25
+
26
+ - New installable preset **`nuxt`** (Cursor + Claude twins): Nuxt 3 / Vue 3 / TypeScript / Pinia — standard root layout (`pages/`, `components/`, `composables/`, `stores/`, `api/`, `lib/clients/`, `server/api/`, `types/`, `tests/e2e/`); aliases prefer `~/`, accept `@/`, respect `#imports`.
27
+ - Always-on trio `nuxt-app-core`, `package-manager`, `code-quality-and-refactoring` (session-start body budget ≤140; shipped trio sum 70).
28
+ - Rule catalog (39 stems): Nuxt domain rules (`nuxt-pages-routing`, `vue-ui`, `vue-a11y-coding`, `store-pinia`, `security-nuxt`, `vue-nuxt-anti-hallucination`, `no-v-bind-spread`, `script-setup-conventions`, …); skill **`vue-performance`** (no `react-performance`); Playwright trio + `lint:js` / `lint:css` / `typecheck` (`nuxt typecheck`) at repo root (not next’s `type-check` or `app/` cwd).
29
+ - Agent-team surface parity with **`next`**: 22 agents, 9 skills, 5 commands + README, hooks + team fixtures; frontend handoffs mirror `next` (no xcuitest / xcodebuild / SwiftLint as required gates).
30
+ - Structure scripts include `nuxt` (`STACKS` + `NUXT_*` leakage mirrors `next`); meta shared-core + embed adapters list `nuxt` as 8th installable stack; chain forks pairwise vs all stacks.
31
+ - Install: `npx @bonesofspring/ai-rules init cursor|claude --preset nuxt`.
32
+ - Review follow-ups (non-blocking): rewrite `navigation-router-stack` (+ UI slim twin) for Nuxt 3 APIs; refresh stale Claude topic README indexes; optional `build-verifier` preset-packaging label “Leakage (next)” → “Leakage (nuxt)”; no dogfood switch from `next` in this monorepo.
33
+
34
+ ### Svelte preset (`svelte`)
35
+
36
+ - New installable preset **`svelte`** (Cursor + Claude twins): SvelteKit / Svelte 5 / TypeScript / `store-svelte` — standard `src/` layout (`src/routes/**`, `src/lib/{components,stores,api,clients,types}/**`, `tests/e2e/`); aliases prefer `$lib`, accept `@/`, respect `$app/*` / `$env/*`.
37
+ - Always-on trio `svelte-app-core`, `package-manager`, `code-quality-and-refactoring` (session-start body budget ≤140; shipped trio sum 70).
38
+ - Rule catalog (39 stems): SvelteKit domain rules (`sveltekit-routing`, `svelte-ui`, `svelte-a11y-coding`, `store-svelte`, `security-sveltekit`, `svelte-sveltekit-anti-hallucination`, `no-rest-props-spread`, `svelte-script-conventions`, …); skill **`svelte-performance`** (no `react-performance` / `vue-performance`); Playwright trio + `lint:js` / `lint:css` / `check` (`svelte-kit sync && svelte-check`) at SvelteKit project root (not next’s `type-check`, nuxt’s `typecheck`, or `app/` cwd).
39
+ - Agent-team surface parity with **`next`** / **`nuxt`**: 22 agents, 9 skills, 5 commands + README, hooks + team fixtures; frontend handoffs mirror next/nuxt (no xcuitest / xcodebuild / SwiftLint as required gates).
40
+ - Structure scripts include `svelte` (`STACKS` + `SVELTE_*` leakage mirrors `next`/`nuxt`); meta shared-core + embed adapters list `svelte` as 9th installable stack; chain forks pairwise vs all stacks.
41
+ - Install: `npx @bonesofspring/ai-rules init cursor|claude --preset svelte`.
42
+ - No dogfood switch from `next` in this monorepo.
43
+
24
44
  ### PHP Laravel preset (`php-laravel`)
25
45
 
26
46
  - New installable preset **`php-laravel`** (Cursor + Claude twins): Laravel backend/API projects — flat `app/` layout, Eloquent, Form Requests, Policies, Actions/Services, Service Providers, Jobs/Queues/Events; thin controllers with clean-architecture leanings (repositories only when justified).
package/README.md CHANGED
@@ -51,11 +51,15 @@ Where things go on `init`:
51
51
  | tool map | `AGENTS.md` → `.cursor/AGENTS.md`, `BUGBOT.md` | `CLAUDE.md` → `.claude/CLAUDE.md` |
52
52
  | **repo-root agents** | `REPO_AGENTS.md` → **`<cwd>/AGENTS.md`** | same |
53
53
 
54
- Skills of note: `write-adr` (all stacks); `react-performance` (**next only**). Living gotchas: `team/conventions.md`. Opt-in rule samples eval: `yarn check:rule-eval` (workflow `rule-eval.yml`; not part of `check:preset-structure`).
54
+ Skills of note: `write-adr` (all stacks); `react-performance` (**next only**); `vue-performance` (**nuxt only**); `svelte-performance` (**svelte only**). Living gotchas: `team/conventions.md`. Opt-in rule samples eval: `yarn check:rule-eval` (workflow `rule-eval.yml`; not part of `check:preset-structure`).
55
55
 
56
- The package ships presets including **`next`** (Next.js stack), **`ios-swift`** (iOS apps on Swift / SwiftUI), **`go`** (Go backends with hexagonal architecture), **`java`** (Java / Spring Boot hexagonal backends), **`mcp-ts`** (TypeScript MCP servers with `@modelcontextprotocol/sdk`), **`php-hexagonal`** (PHP / Composer hexagonal backends), and **`php-laravel`** (Laravel backend/API with Eloquent, Form Requests, Policies, Actions/Services). Other preset names: see `presets/` in the [repo](https://github.com/bonesofspring/ai-rules). Name is a single path segment, no `/` or `..`.
56
+ The package ships presets including **`next`** (Next.js stack), **`nuxt`** (Nuxt 3 / Vue 3 / Pinia), **`svelte`** (SvelteKit / Svelte 5 / TypeScript / `store-svelte`), **`ios-swift`** (iOS apps on Swift / SwiftUI), **`go`** (Go backends with hexagonal architecture), **`java`** (Java / Spring Boot hexagonal backends), **`mcp-ts`** (TypeScript MCP servers with `@modelcontextprotocol/sdk`), **`php-hexagonal`** (PHP / Composer hexagonal backends), and **`php-laravel`** (Laravel backend/API with Eloquent, Form Requests, Policies, Actions/Services). Other preset names: see `presets/` in the [repo](https://github.com/bonesofspring/ai-rules). Name is a single path segment, no `/` or `.`.
57
57
 
58
58
  ```bash
59
+ npx @bonesofspring/ai-rules init cursor --preset nuxt
60
+ npx @bonesofspring/ai-rules init claude --preset nuxt
61
+ npx @bonesofspring/ai-rules init cursor --preset svelte
62
+ npx @bonesofspring/ai-rules init claude --preset svelte
59
63
  npx @bonesofspring/ai-rules init cursor --preset ios-swift
60
64
  npx @bonesofspring/ai-rules init claude --preset ios-swift
61
65
  npx @bonesofspring/ai-rules init cursor --preset go
package/bin/cli.js CHANGED
@@ -70,6 +70,8 @@ Notes:
70
70
  Examples:
71
71
  npx @bonesofspring/ai-rules init cursor --preset next
72
72
  npx @bonesofspring/ai-rules init cursor next
73
+ npx @bonesofspring/ai-rules init cursor --preset nuxt
74
+ npx @bonesofspring/ai-rules init cursor --preset svelte
73
75
  npx @bonesofspring/ai-rules init cursor --preset ios-swift
74
76
  npx @bonesofspring/ai-rules init cursor --preset go
75
77
  npx @bonesofspring/ai-rules init cursor --preset java
@@ -77,6 +79,8 @@ Examples:
77
79
  npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
78
80
  npx @bonesofspring/ai-rules init cursor --preset php-laravel
79
81
  npx @bonesofspring/ai-rules init claude
82
+ npx @bonesofspring/ai-rules init claude --preset nuxt
83
+ npx @bonesofspring/ai-rules init claude --preset svelte
80
84
  npx @bonesofspring/ai-rules init claude --preset ios-swift
81
85
  npx @bonesofspring/ai-rules init claude --preset go
82
86
  npx @bonesofspring/ai-rules init claude --preset java
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonesofspring/ai-rules",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "description": "Presets of Cursor and Claude rules/commands for Revy Ross personal use",
5
5
  "license": "MIT",
6
6
  "author": "Revy Ross",
@@ -1,6 +1,6 @@
1
1
  # Shared preset core (`presets/_shared`)
2
2
 
3
- Stack-agnostic **prose and checklists** for all installable presets: `next`, `ios-swift`, `go`, `java`, `mcp-ts`, and `php-hexagonal` (`cursor/<stack>`, `claude/<stack>`).
3
+ Stack-agnostic **prose and checklists** for all installable presets: `next`, `nuxt`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (`cursor/<stack>`, `claude/<stack>`).
4
4
 
5
5
  **Not an installable preset.** CLI `init` copies only under `presets/cursor/<name>/` or `presets/claude/<name>/` — this sibling is never shipped to consumer apps.
6
6
 
@@ -13,7 +13,7 @@
13
13
  ## Куда класть новое правило
14
14
 
15
15
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
16
- 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
16
+ 2. Только один из installable стеков (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
17
17
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
18
18
 
19
19
  ## SoT
@@ -5,6 +5,8 @@
5
5
  ## Principles
6
6
 
7
7
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
8
+ - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
9
+ - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
8
10
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
9
11
  - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
10
12
  - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
@@ -25,6 +27,18 @@ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild`
25
27
  - `xcuitest-test-` as handoff stems
26
28
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
27
29
 
30
+ ## Forbidden in nuxt hooks/agents (FAIL when present as required)
31
+
32
+ - `xcuitest-test-` as handoff stems
33
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
34
+ - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
35
+
36
+ ## Forbidden in svelte 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 SvelteKit app work
40
+ - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
41
+
28
42
  ## Forbidden in go / java / php-hexagonal / php-laravel hooks/agents (FAIL)
29
43
 
30
44
  Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
@@ -55,4 +69,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
55
69
 
56
70
  ## Chain fork
57
71
 
58
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
72
+ `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).
@@ -6,7 +6,7 @@
6
6
 
7
7
  - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
8
8
  - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
9
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — см. `preset-twin-sync`)
9
+ - [ ] **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`)
10
10
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
11
11
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
12
12
  - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -7,6 +7,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
7
7
  | Stack | Cursor SoT | Claude derive | Mapping table |
8
8
  |-------|------------|---------------|---------------|
9
9
  | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
10
+ | `nuxt` | `presets/cursor/nuxt/rules/*.mdc` | `presets/claude/nuxt/rules/<topic>/` | **Required** in `claude/nuxt/rules/README.md` |
11
+ | `svelte` | `presets/cursor/svelte/rules/*.mdc` | `presets/claude/svelte/rules/<topic>/` | **Required** in `claude/svelte/rules/README.md` |
10
12
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
11
13
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
12
14
  | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
@@ -29,6 +31,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
29
31
  ## Severity (build-verifier)
30
32
 
31
33
  - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
34
+ - **nuxt:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
35
+ - **svelte:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
32
36
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
33
37
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
34
38
  - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
@@ -29,7 +29,7 @@ Hard gates: twin-map (stacks include **go**), token-budget (alwaysApply/session-
29
29
 
30
30
  Document PASS/FAIL in `validation-report.md`.
31
31
 
32
- 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|ios-swift|go|java|mcp-ts|php-hexagonal`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
32
+ 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|nuxt|svelte|ios-swift|go|java|mcp-ts|php-hexagonal|php-laravel`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
33
33
  2. **Hooks cookbook:** default `hooks.json` must **not** reference `hooks/examples/` → **FAIL** if it does.
34
34
  3. **No react-performance on ios/go/java:** skill directory / required handoff must be absent under ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel → **FAIL** (leakage). Prefer `check:preset-leakage`.
35
35
  4. **Rule eval (WARN):** `scripts/check-rule-eval.mjs` / `yarn check:rule-eval` should exist for maintainers; smoke optional. Hard fail only when the opt-in eval job runs — not part of default `check:preset-structure`.
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-layering.md -->
11
11
 
12
+
12
13
  # Preset layering
13
14
 
14
15
  Правила для **авторов пресетов** (`packages/ai-rules/presets/**`). Не always-on в consumer apps.
@@ -24,7 +25,7 @@ paths:
24
25
  ## Куда класть новое правило
25
26
 
26
27
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
27
- 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
+ 2. Только один из installable стеков (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
29
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
29
30
 
30
31
  ## SoT
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-no-cross-stack-leakage.md -->
11
11
 
12
+
12
13
  # Preset no cross-stack leakage
13
14
 
14
15
  Запрет протекания stack-specific имён, путей и handoff stems между пресетами.
@@ -16,6 +17,8 @@ paths:
16
17
  ## Principles
17
18
 
18
19
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
+ - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
21
+ - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
22
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
20
23
  - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
21
24
  - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
@@ -36,6 +39,18 @@ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild`
36
39
  - `xcuitest-test-` as handoff stems
37
40
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
38
41
 
42
+ ## Forbidden in nuxt hooks/agents (FAIL when present as required)
43
+
44
+ - `xcuitest-test-` as handoff stems
45
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
46
+ - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
47
+
48
+ ## Forbidden in svelte hooks/agents (FAIL when present as required)
49
+
50
+ - `xcuitest-test-` as handoff stems
51
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
52
+ - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
53
+
39
54
  ## Forbidden in go / java / php-hexagonal / php-laravel hooks/agents (FAIL)
40
55
 
41
56
  Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
@@ -66,4 +81,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
66
81
 
67
82
  ## Chain fork
68
83
 
69
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
84
+ `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).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-pr-checklist.md -->
11
11
 
12
+
12
13
  # Preset PR checklist
13
14
 
14
15
  Чеклист для PR, затрагивающих `packages/ai-rules/presets/**` (и dogfood `.cursor/` sync).
@@ -17,7 +18,7 @@ paths:
17
18
 
18
19
  - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
19
20
  - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
20
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — см. `preset-twin-sync`)
21
+ - [ ] **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
22
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
22
23
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
23
24
  - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-token-budget.md -->
11
11
 
12
+
12
13
  # Preset token budget
13
14
 
14
15
  Инварианты загрузки правил в **установленном** пресете (consumer app).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-twin-sync.md -->
11
11
 
12
+
12
13
  # Preset twin sync
13
14
 
14
15
  Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
@@ -18,6 +19,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
18
19
  | Stack | Cursor SoT | Claude derive | Mapping table |
19
20
  |-------|------------|---------------|---------------|
20
21
  | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
22
+ | `nuxt` | `presets/cursor/nuxt/rules/*.mdc` | `presets/claude/nuxt/rules/<topic>/` | **Required** in `claude/nuxt/rules/README.md` |
23
+ | `svelte` | `presets/cursor/svelte/rules/*.mdc` | `presets/claude/svelte/rules/<topic>/` | **Required** in `claude/svelte/rules/README.md` |
21
24
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
22
25
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
23
26
  | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
@@ -40,6 +43,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
40
43
  ## Severity (build-verifier)
41
44
 
42
45
  - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
46
+ - **nuxt:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
47
+ - **svelte:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
43
48
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
44
49
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
45
50
  - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
@@ -35,7 +35,7 @@ When validating **ios-swift preset** changes (or `scope: preset-structure-valida
35
35
  3. **Forbidden handoff strings** in ios-swift `chain-team-phases.sh`: `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`, positive `lint:js` / `lint:css` recipes. See `tooling-and-review/preset-no-cross-stack-leakage.md`.
36
36
  4. **Required handoff stems:** `AGENT_HANDOFF` must include `xcuitest-test-planner` (or generator/healer); build-verifier mentions `xcodebuild` or `post-change-build` / `xcode-tooling`.
37
37
  5. **Roster:** 21 agent stems; no `playwright-test-*` under ios-swift `agents/`.
38
- 6. **Twin presence (hard):** Cursor rule change → Claude twin same PR — **FAIL** if missing (next, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel).
38
+ 6. **Twin presence (hard):** Cursor rule change → Claude twin same PR — **FAIL** if missing (next, nuxt, svelte, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel).
39
39
  7. **Mapping / README:** Cursor→Claude mapping table present; core→stack mapping when `_shared` consumers exist.
40
40
  8. **shared-core consumers:** if `_shared/core/**` changed, update all `<!-- shared-core: … -->` consumers (or document intentional fork).
41
41
  9. **Session-start body budget:** sum of the **3** intended session-start rule bodies ≤ **140** lines (stretch ≤120); do **not** include `**/README.md` — record in report.
@@ -47,7 +47,7 @@ When validating **ios-swift preset** changes (or `scope: preset-structure-valida
47
47
  - **Thin aliases:** `agent-team-intake`, `technical-retro` may be &lt;15 body lines. Enforce ≥15 on **domain** rules.
48
48
  - Embed vs lineage: `docs/PRESET-CONTRIBUTION.md`, `_shared/README.md`.
49
49
 
50
- 12. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|ios-swift|go|java|mcp-ts|php-hexagonal`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
50
+ 12. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|nuxt|svelte|ios-swift|go|java|mcp-ts|php-hexagonal|php-laravel`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
51
51
  13. **Hooks cookbook:** default `hooks.json` must **not** reference `hooks/examples/` → **FAIL** if it does.
52
52
  14. **No react-performance on ios/go/java:** skill directory / required handoff must be absent under ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel → **FAIL** (leakage). Prefer `check:preset-leakage`.
53
53
  15. **Rule eval (WARN):** `scripts/check-rule-eval.mjs` / `yarn check:rule-eval` should exist for maintainers; smoke optional. Hard fail only when the opt-in eval job runs — not part of default `check:preset-structure`.
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-layering.md -->
11
11
 
12
+
12
13
  # Preset layering
13
14
 
14
15
  Правила для **авторов пресетов** (`packages/ai-rules/presets/**`). Не always-on в consumer apps.
@@ -24,7 +25,7 @@ paths:
24
25
  ## Куда класть новое правило
25
26
 
26
27
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
27
- 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
+ 2. Только один из installable стеков (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
29
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
29
30
 
30
31
  ## SoT
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-no-cross-stack-leakage.md -->
11
11
 
12
+
12
13
  # Preset no cross-stack leakage
13
14
 
14
15
  Запрет протекания stack-specific имён, путей и handoff stems между пресетами.
@@ -16,6 +17,8 @@ paths:
16
17
  ## Principles
17
18
 
18
19
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
+ - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
21
+ - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
22
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
20
23
  - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
21
24
  - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
@@ -36,6 +39,18 @@ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild`
36
39
  - `xcuitest-test-` as handoff stems
37
40
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
38
41
 
42
+ ## Forbidden in nuxt hooks/agents (FAIL when present as required)
43
+
44
+ - `xcuitest-test-` as handoff stems
45
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
46
+ - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
47
+
48
+ ## Forbidden in svelte hooks/agents (FAIL when present as required)
49
+
50
+ - `xcuitest-test-` as handoff stems
51
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
52
+ - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
53
+
39
54
  ## Forbidden in go / java / php-hexagonal / php-laravel hooks/agents (FAIL)
40
55
 
41
56
  Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
@@ -66,4 +81,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
66
81
 
67
82
  ## Chain fork
68
83
 
69
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
84
+ `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).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-pr-checklist.md -->
11
11
 
12
+
12
13
  # Preset PR checklist
13
14
 
14
15
  Чеклист для PR, затрагивающих `packages/ai-rules/presets/**` (и dogfood `.cursor/` sync).
@@ -17,7 +18,7 @@ paths:
17
18
 
18
19
  - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
19
20
  - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
20
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — см. `preset-twin-sync`)
21
+ - [ ] **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
22
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
22
23
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
23
24
  - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-token-budget.md -->
11
11
 
12
+
12
13
  # Preset token budget
13
14
 
14
15
  Инварианты загрузки правил в **установленном** пресете (consumer app).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-twin-sync.md -->
11
11
 
12
+
12
13
  # Preset twin sync
13
14
 
14
15
  Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
@@ -18,6 +19,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
18
19
  | Stack | Cursor SoT | Claude derive | Mapping table |
19
20
  |-------|------------|---------------|---------------|
20
21
  | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
22
+ | `nuxt` | `presets/cursor/nuxt/rules/*.mdc` | `presets/claude/nuxt/rules/<topic>/` | **Required** in `claude/nuxt/rules/README.md` |
23
+ | `svelte` | `presets/cursor/svelte/rules/*.mdc` | `presets/claude/svelte/rules/<topic>/` | **Required** in `claude/svelte/rules/README.md` |
21
24
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
22
25
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
23
26
  | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
@@ -40,6 +43,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
40
43
  ## Severity (build-verifier)
41
44
 
42
45
  - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
46
+ - **nuxt:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
47
+ - **svelte:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
43
48
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
44
49
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
45
50
  - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
@@ -36,7 +36,7 @@ Hard gates for the **java** stack:
36
36
 
37
37
  Also document:
38
38
 
39
- 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|ios-swift|go|java|mcp-ts|php-hexagonal`) must ship `REPO_AGENTS.md` → **FAIL** if missing.
39
+ 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|nuxt|svelte|ios-swift|go|java|mcp-ts|php-hexagonal|php-laravel`) must ship `REPO_AGENTS.md` → **FAIL** if missing.
40
40
  2. **Hooks cookbook:** default `hooks.json` must **not** reference `hooks/examples/` → **FAIL** if it does.
41
41
  3. **No react-performance on ios/go/java:** skill directory / required handoff must be absent under ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel → **FAIL** (leakage). Prefer `check:preset-leakage`.
42
42
  4. **Shared-core drift (hard in `check:preset-structure`):** `check-shared-core-drift` with `AI_RULES_DRIFT_FAIL=1`.
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-layering.md -->
11
11
 
12
+
12
13
  # Preset layering
13
14
 
14
15
  Правила для **авторов пресетов** (`packages/ai-rules/presets/**`). Не always-on в consumer apps.
@@ -24,7 +25,7 @@ paths:
24
25
  ## Куда класть новое правило
25
26
 
26
27
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
27
- 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
+ 2. Только один из installable стеков (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
29
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
29
30
 
30
31
  ## SoT
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-no-cross-stack-leakage.md -->
11
11
 
12
+
12
13
  # Preset no cross-stack leakage
13
14
 
14
15
  Запрет протекания stack-specific имён, путей и handoff stems между пресетами.
@@ -16,6 +17,8 @@ paths:
16
17
  ## Principles
17
18
 
18
19
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
+ - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
21
+ - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
22
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
20
23
  - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
21
24
  - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
@@ -36,6 +39,18 @@ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild`
36
39
  - `xcuitest-test-` as handoff stems
37
40
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
38
41
 
42
+ ## Forbidden in nuxt hooks/agents (FAIL when present as required)
43
+
44
+ - `xcuitest-test-` as handoff stems
45
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
46
+ - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
47
+
48
+ ## Forbidden in svelte hooks/agents (FAIL when present as required)
49
+
50
+ - `xcuitest-test-` as handoff stems
51
+ - Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
52
+ - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
53
+
39
54
  ## Forbidden in go / java / php-hexagonal / php-laravel hooks/agents (FAIL)
40
55
 
41
56
  Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
@@ -66,4 +81,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
66
81
 
67
82
  ## Chain fork
68
83
 
69
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
84
+ `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).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-pr-checklist.md -->
11
11
 
12
+
12
13
  # Preset PR checklist
13
14
 
14
15
  Чеклист для PR, затрагивающих `packages/ai-rules/presets/**` (и dogfood `.cursor/` sync).
@@ -17,7 +18,7 @@ paths:
17
18
 
18
19
  - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
19
20
  - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
20
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — см. `preset-twin-sync`)
21
+ - [ ] **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
22
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
22
23
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
23
24
  - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-token-budget.md -->
11
11
 
12
+
12
13
  # Preset token budget
13
14
 
14
15
  Инварианты загрузки правил в **установленном** пресете (consumer app).
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-twin-sync.md -->
11
11
 
12
+
12
13
  # Preset twin sync
13
14
 
14
15
  Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
@@ -18,6 +19,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
18
19
  | Stack | Cursor SoT | Claude derive | Mapping table |
19
20
  |-------|------------|---------------|---------------|
20
21
  | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
22
+ | `nuxt` | `presets/cursor/nuxt/rules/*.mdc` | `presets/claude/nuxt/rules/<topic>/` | **Required** in `claude/nuxt/rules/README.md` |
23
+ | `svelte` | `presets/cursor/svelte/rules/*.mdc` | `presets/claude/svelte/rules/<topic>/` | **Required** in `claude/svelte/rules/README.md` |
21
24
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
22
25
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
23
26
  | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
@@ -40,6 +43,8 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
40
43
  ## Severity (build-verifier)
41
44
 
42
45
  - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
46
+ - **nuxt:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
47
+ - **svelte:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
43
48
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
44
49
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
45
50
  - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
@@ -33,7 +33,7 @@ Document PASS/FAIL in `validation-report.md`. Soft leakage output:
33
33
  - **Negation** of forbidden stems in agents → suppressed (INFO count). **Not** a merge blocker.
34
34
  - **WARN** only for non-negation packaging mentions in this verifier (and rare chain-skip WARNs). Do not treat INFO/WARN counts as FAIL.
35
35
 
36
- 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|ios-swift|go|java|mcp-ts|php-hexagonal`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
36
+ 1. **Root AGENTS template:** each installable preset (`cursor|claude` × `next|nuxt|svelte|ios-swift|go|java|mcp-ts|php-hexagonal|php-laravel`) must ship `REPO_AGENTS.md` when validating preset packaging → **FAIL** if missing.
37
37
  2. **Hooks cookbook:** default `hooks.json` must **not** reference `hooks/examples/` → **FAIL** if it does.
38
38
  3. **Forbidden agent filenames** (Playwright / XCUITest / integration-test / accessibility-reviewer / contract-test): must be absent → **FAIL** via `check:preset-leakage`.
39
39
  4. **Rule eval (WARN):** optional maintainer smoke — not part of default `check:preset-structure`.
@@ -9,6 +9,7 @@ paths:
9
9
 
10
10
  <!-- shared-core: meta/preset-layering.md -->
11
11
 
12
+
12
13
  # Preset layering
13
14
 
14
15
  Правила для **авторов пресетов** (`packages/ai-rules/presets/**`). Не always-on в consumer apps.
@@ -24,7 +25,7 @@ paths:
24
25
  ## Куда класть новое правило
25
26
 
26
27
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
27
- 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
+ 2. Только один из installable стеков (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (не в `_shared`).
28
29
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
29
30
 
30
31
  ## SoT