@bonesofspring/ai-rules 0.2.14 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/package.json +2 -1
  3. package/presets/_shared/core/agent-team/agent-team-intake.md +2 -2
  4. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +4 -4
  5. package/presets/_shared/core/architecture/feature-delivery-workflow.md +27 -27
  6. package/presets/_shared/core/architecture/reference-features.template.md +23 -23
  7. package/presets/_shared/core/meta/preset-layering.md +12 -12
  8. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +1 -1
  9. package/presets/_shared/core/meta/preset-pr-checklist.md +6 -6
  10. package/presets/_shared/core/meta/preset-token-budget.md +3 -3
  11. package/presets/_shared/core/quality/code-quality-and-refactoring.md +19 -19
  12. package/presets/_shared/core/quality/design-guidance.md +54 -54
  13. package/presets/_shared/core/review/code-review-mr.md +4 -4
  14. package/presets/_shared/core/review/technical-retro.md +3 -3
  15. package/presets/claude/go/MCP.md +7 -7
  16. package/presets/claude/go/README.md +3 -3
  17. package/presets/claude/go/agents/README.md +2 -2
  18. package/presets/claude/go/agents/task-router.md +13 -13
  19. package/presets/claude/go/commands/README.md +8 -8
  20. package/presets/claude/go/commands/feature-continue.md +21 -21
  21. package/presets/claude/go/commands/feature-start.md +16 -16
  22. package/presets/claude/go/commands/task-continue.md +14 -14
  23. package/presets/claude/go/commands/task.md +32 -32
  24. package/presets/claude/go/commands/technical-retro.md +38 -38
  25. package/presets/claude/go/rules/architecture/boundaries.md +10 -10
  26. package/presets/claude/go/rules/stack/README.md +1 -1
  27. package/presets/claude/go/rules/stack/go-app-core.md +11 -11
  28. package/presets/claude/go/rules/tooling-and-review/README.md +1 -1
  29. package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +2 -2
  30. package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  31. package/presets/claude/go/rules/tooling-and-review/code-quality.md +21 -20
  32. package/presets/claude/go/rules/tooling-and-review/code-review.md +4 -4
  33. package/presets/claude/go/rules/tooling-and-review/design-guidance.md +54 -54
  34. package/presets/claude/go/rules/tooling-and-review/post-change-test.md +1 -1
  35. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +12 -13
  36. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  37. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  38. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +3 -4
  39. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +0 -1
  40. package/presets/claude/go/rules/tooling-and-review/technical-retro.md +3 -3
  41. package/presets/claude/go/team/README.md +1 -1
  42. package/presets/claude/ios-swift/CLAUDE.md +16 -16
  43. package/presets/claude/ios-swift/MCP.md +10 -8
  44. package/presets/claude/ios-swift/README.md +8 -8
  45. package/presets/claude/ios-swift/agents/README.md +11 -11
  46. package/presets/claude/ios-swift/agents/feature-developer.md +1 -1
  47. package/presets/claude/ios-swift/agents/task-analyst.md +1 -1
  48. package/presets/claude/ios-swift/agents/task-router.md +18 -18
  49. package/presets/claude/ios-swift/commands/README.md +48 -10
  50. package/presets/claude/ios-swift/commands/feature-continue.md +9 -41
  51. package/presets/claude/ios-swift/commands/feature-start.md +19 -16
  52. package/presets/claude/ios-swift/commands/task-continue.md +14 -14
  53. package/presets/claude/ios-swift/commands/task.md +33 -33
  54. package/presets/claude/ios-swift/commands/technical-retro.md +61 -38
  55. package/presets/claude/ios-swift/rules/README.md +7 -7
  56. package/presets/claude/ios-swift/rules/api-and-data/README.md +1 -1
  57. package/presets/claude/ios-swift/rules/api-and-data/networking.md +31 -31
  58. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +13 -13
  59. package/presets/claude/ios-swift/rules/architecture/README.md +1 -1
  60. package/presets/claude/ios-swift/rules/architecture/boundaries.md +20 -20
  61. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +31 -30
  62. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +11 -11
  63. package/presets/claude/ios-swift/rules/architecture/reference-features.md +25 -22
  64. package/presets/claude/ios-swift/rules/stack/README.md +1 -1
  65. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +10 -10
  66. package/presets/claude/ios-swift/rules/stack/swift-conventions.md +17 -17
  67. package/presets/claude/ios-swift/rules/testing/README.md +1 -1
  68. package/presets/claude/ios-swift/rules/testing/ui.md +27 -27
  69. package/presets/claude/ios-swift/rules/testing/unit.md +25 -25
  70. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +5 -2
  71. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +2 -2
  72. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +51 -21
  73. package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +25 -24
  74. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +40 -39
  75. package/presets/claude/ios-swift/rules/tooling-and-review/design-guidance.md +54 -54
  76. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +18 -18
  77. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +12 -13
  78. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  79. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  80. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +3 -4
  81. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +0 -1
  82. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +14 -14
  83. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +4 -4
  84. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +11 -11
  85. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +1 -1
  86. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +13 -13
  87. package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +39 -39
  88. package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +24 -24
  89. package/presets/claude/ios-swift/skills/README.md +3 -3
  90. package/presets/claude/ios-swift/team/README.md +6 -2
  91. package/presets/claude/java/MCP.md +5 -5
  92. package/presets/claude/java/agents/README.md +2 -2
  93. package/presets/claude/java/agents/task-router.md +13 -13
  94. package/presets/claude/java/commands/README.md +8 -8
  95. package/presets/claude/java/commands/feature-continue.md +21 -21
  96. package/presets/claude/java/commands/feature-start.md +16 -16
  97. package/presets/claude/java/commands/task-continue.md +14 -14
  98. package/presets/claude/java/commands/task.md +32 -32
  99. package/presets/claude/java/commands/technical-retro.md +38 -38
  100. package/presets/claude/java/rules/architecture/boundaries.md +10 -10
  101. package/presets/claude/java/rules/stack/README.md +1 -1
  102. package/presets/claude/java/rules/stack/java-app-core.md +9 -9
  103. package/presets/claude/java/rules/tooling-and-review/README.md +1 -1
  104. package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +2 -2
  105. package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  106. package/presets/claude/java/rules/tooling-and-review/code-quality.md +21 -20
  107. package/presets/claude/java/rules/tooling-and-review/code-review.md +5 -4
  108. package/presets/claude/java/rules/tooling-and-review/design-guidance.md +55 -54
  109. package/presets/claude/java/rules/tooling-and-review/post-change-test.md +1 -1
  110. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +12 -13
  111. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  112. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  113. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +3 -4
  114. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +0 -1
  115. package/presets/claude/java/rules/tooling-and-review/technical-retro.md +3 -3
  116. package/presets/claude/java/team/README.md +1 -1
  117. package/presets/claude/mcp-ts/MCP.md +5 -5
  118. package/presets/claude/mcp-ts/agents/task-router.md +7 -7
  119. package/presets/claude/mcp-ts/commands/README.md +1 -1
  120. package/presets/claude/mcp-ts/commands/feature-continue.md +8 -8
  121. package/presets/claude/mcp-ts/commands/feature-start.md +17 -17
  122. package/presets/claude/mcp-ts/commands/task-continue.md +14 -14
  123. package/presets/claude/mcp-ts/commands/task.md +32 -32
  124. package/presets/claude/mcp-ts/commands/technical-retro.md +54 -54
  125. package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +2 -2
  126. package/presets/claude/mcp-ts/rules/stack/mcp-ts-app-core.md +9 -9
  127. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +3 -3
  128. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  129. package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +21 -20
  130. package/presets/claude/mcp-ts/rules/tooling-and-review/code-review.md +5 -4
  131. package/presets/claude/mcp-ts/rules/tooling-and-review/design-guidance.md +55 -54
  132. package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +1 -1
  133. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +12 -13
  134. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  135. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  136. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +3 -4
  137. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +0 -1
  138. package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +3 -3
  139. package/presets/claude/next/CLAUDE.md +17 -17
  140. package/presets/claude/next/MCP.md +8 -8
  141. package/presets/claude/next/README.md +16 -16
  142. package/presets/claude/next/agents/README.md +19 -19
  143. package/presets/claude/next/agents/feature-developer.md +1 -1
  144. package/presets/claude/next/agents/task-analyst.md +1 -1
  145. package/presets/claude/next/agents/task-router.md +16 -16
  146. package/presets/claude/next/commands/README.md +9 -9
  147. package/presets/claude/next/commands/feature-continue.md +21 -21
  148. package/presets/claude/next/commands/feature-start.md +16 -16
  149. package/presets/claude/next/commands/task-continue.md +14 -14
  150. package/presets/claude/next/commands/task.md +33 -33
  151. package/presets/claude/next/commands/technical-retro.md +38 -38
  152. package/presets/claude/next/rules/README.md +12 -12
  153. package/presets/claude/next/rules/api-and-data/README.md +6 -6
  154. package/presets/claude/next/rules/api-and-data/api-services.md +42 -42
  155. package/presets/claude/next/rules/api-and-data/http-client.md +22 -21
  156. package/presets/claude/next/rules/api-and-data/store-rtk.md +60 -60
  157. package/presets/claude/next/rules/architecture/README.md +8 -8
  158. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +6 -6
  159. package/presets/claude/next/rules/architecture/architecture-boundaries.md +44 -44
  160. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +39 -39
  161. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +30 -29
  162. package/presets/claude/next/rules/architecture/public-imports.md +13 -13
  163. package/presets/claude/next/rules/architecture/reference-features.md +16 -16
  164. package/presets/claude/next/rules/stack/README.md +9 -9
  165. package/presets/claude/next/rules/stack/arrow-functions.md +7 -7
  166. package/presets/claude/next/rules/stack/navigation-router-ui.md +6 -6
  167. package/presets/claude/next/rules/stack/navigation-router.md +37 -37
  168. package/presets/claude/next/rules/stack/next-app-core.md +17 -17
  169. package/presets/claude/next/rules/stack/next-app-router.md +17 -17
  170. package/presets/claude/next/rules/stack/no-type-assertion.md +28 -28
  171. package/presets/claude/next/rules/stack/types-jsdoc.md +31 -20
  172. package/presets/claude/next/rules/testing/README.md +5 -5
  173. package/presets/claude/next/rules/testing/playwright-agents.md +1 -1
  174. package/presets/claude/next/rules/testing/tests-e2e-structure.md +48 -47
  175. package/presets/claude/next/rules/testing/tests-unit.md +50 -51
  176. package/presets/claude/next/rules/tooling-and-review/README.md +9 -9
  177. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +2 -2
  178. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  179. package/presets/claude/next/rules/tooling-and-review/code-quality.md +25 -24
  180. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +4 -4
  181. package/presets/claude/next/rules/tooling-and-review/design-guidance.md +54 -54
  182. package/presets/claude/next/rules/tooling-and-review/package-manager.md +7 -7
  183. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +22 -22
  184. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +12 -13
  185. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  186. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  187. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +3 -4
  188. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +0 -1
  189. package/presets/claude/next/rules/tooling-and-review/technical-retro.md +4 -4
  190. package/presets/claude/next/rules/ui-and-accessibility/README.md +7 -7
  191. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +3 -3
  192. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +18 -18
  193. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +20 -20
  194. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +63 -63
  195. package/presets/claude/next/skills/README.md +4 -4
  196. package/presets/claude/next/skills/feature-delivery/SKILL.md +1 -1
  197. package/presets/claude/next/team/README.md +2 -2
  198. package/presets/claude/nuxt/CLAUDE.md +19 -19
  199. package/presets/claude/nuxt/MCP.md +8 -8
  200. package/presets/claude/nuxt/README.md +18 -18
  201. package/presets/claude/nuxt/agents/README.md +38 -31
  202. package/presets/claude/nuxt/agents/feature-developer.md +1 -1
  203. package/presets/claude/nuxt/agents/task-analyst.md +1 -1
  204. package/presets/claude/nuxt/agents/task-router.md +22 -22
  205. package/presets/claude/nuxt/commands/README.md +48 -10
  206. package/presets/claude/nuxt/commands/feature-continue.md +9 -41
  207. package/presets/claude/nuxt/commands/feature-start.md +19 -16
  208. package/presets/claude/nuxt/commands/task-continue.md +14 -14
  209. package/presets/claude/nuxt/commands/task.md +33 -33
  210. package/presets/claude/nuxt/commands/technical-retro.md +61 -38
  211. package/presets/claude/nuxt/rules/README.md +5 -5
  212. package/presets/claude/nuxt/rules/api-and-data/README.md +6 -6
  213. package/presets/claude/nuxt/rules/api-and-data/api-services.md +44 -43
  214. package/presets/claude/nuxt/rules/api-and-data/store-pinia.md +27 -26
  215. package/presets/claude/nuxt/rules/architecture/README.md +8 -8
  216. package/presets/claude/nuxt/rules/architecture/architecture-boundaries-ui.md +8 -7
  217. package/presets/claude/nuxt/rules/architecture/architecture-boundaries.md +59 -58
  218. package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +45 -44
  219. package/presets/claude/nuxt/rules/architecture/layer-barrel-exports.md +32 -31
  220. package/presets/claude/nuxt/rules/architecture/public-imports.md +15 -14
  221. package/presets/claude/nuxt/rules/architecture/reference-features.md +18 -17
  222. package/presets/claude/nuxt/rules/stack/README.md +8 -8
  223. package/presets/claude/nuxt/rules/stack/navigation-router-ui.md +6 -6
  224. package/presets/claude/nuxt/rules/stack/navigation-router.md +37 -37
  225. package/presets/claude/nuxt/rules/stack/no-type-assertion.md +30 -29
  226. package/presets/claude/nuxt/rules/stack/nuxt-app-core.md +17 -16
  227. package/presets/claude/nuxt/rules/stack/types-jsdoc.md +23 -22
  228. package/presets/claude/nuxt/rules/testing/README.md +5 -5
  229. package/presets/claude/nuxt/rules/testing/tests-e2e-structure.md +45 -45
  230. package/presets/claude/nuxt/rules/testing/tests-unit.md +52 -52
  231. package/presets/claude/nuxt/rules/tooling-and-review/README.md +9 -9
  232. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-intake.md +3 -2
  233. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +5 -4
  234. package/presets/claude/nuxt/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -0
  235. package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +26 -24
  236. package/presets/claude/nuxt/rules/tooling-and-review/code-review-mr.md +6 -5
  237. package/presets/claude/nuxt/rules/tooling-and-review/design-guidance.md +55 -54
  238. package/presets/claude/nuxt/rules/tooling-and-review/package-manager.md +9 -8
  239. package/presets/claude/nuxt/rules/tooling-and-review/post-change-lint.md +24 -23
  240. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +13 -13
  241. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
  242. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +7 -7
  243. package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +3 -4
  244. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +1 -1
  245. package/presets/claude/nuxt/rules/tooling-and-review/technical-retro.md +5 -4
  246. package/presets/claude/nuxt/rules/ui-and-accessibility/README.md +7 -7
  247. package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +7 -6
  248. package/presets/claude/nuxt/skills/README.md +4 -4
  249. package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +1 -1
  250. package/presets/claude/nuxt/team/README.md +8 -4
  251. package/presets/claude/php-hexagonal/MCP.md +7 -7
  252. package/presets/claude/php-hexagonal/agents/README.md +3 -3
  253. package/presets/claude/php-hexagonal/agents/task-router.md +12 -12
  254. package/presets/claude/php-hexagonal/commands/README.md +9 -9
  255. package/presets/claude/php-hexagonal/commands/feature-continue.md +21 -21
  256. package/presets/claude/php-hexagonal/commands/feature-start.md +16 -16
  257. package/presets/claude/php-hexagonal/commands/task-continue.md +14 -14
  258. package/presets/claude/php-hexagonal/commands/task.md +32 -32
  259. package/presets/claude/php-hexagonal/commands/technical-retro.md +38 -38
  260. package/presets/claude/php-hexagonal/rules/architecture/boundaries.md +11 -10
  261. package/presets/claude/php-hexagonal/rules/stack/README.md +1 -1
  262. package/presets/claude/php-hexagonal/rules/stack/php-app-core.md +11 -10
  263. package/presets/claude/php-hexagonal/rules/tooling-and-review/README.md +1 -1
  264. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-intake.md +2 -2
  265. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  266. package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +21 -21
  267. package/presets/claude/php-hexagonal/rules/tooling-and-review/code-review.md +4 -4
  268. package/presets/claude/php-hexagonal/rules/tooling-and-review/design-guidance.md +54 -54
  269. package/presets/claude/php-hexagonal/rules/tooling-and-review/post-change-test.md +1 -1
  270. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +12 -13
  271. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  272. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  273. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +3 -4
  274. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +0 -1
  275. package/presets/claude/php-hexagonal/rules/tooling-and-review/technical-retro.md +3 -3
  276. package/presets/claude/php-hexagonal/team/README.md +1 -1
  277. package/presets/claude/php-laravel/agents/README.md +3 -3
  278. package/presets/claude/php-laravel/agents/task-router.md +14 -14
  279. package/presets/claude/php-laravel/commands/README.md +9 -9
  280. package/presets/claude/php-laravel/commands/feature-continue.md +21 -21
  281. package/presets/claude/php-laravel/commands/feature-start.md +16 -16
  282. package/presets/claude/php-laravel/commands/task-continue.md +14 -14
  283. package/presets/claude/php-laravel/commands/task.md +32 -32
  284. package/presets/claude/php-laravel/commands/technical-retro.md +38 -38
  285. package/presets/claude/php-laravel/rules/api-and-data/events-listeners.md +1 -1
  286. package/presets/claude/php-laravel/rules/architecture/boundaries.md +11 -11
  287. package/presets/claude/php-laravel/rules/stack/laravel-app-core.md +8 -8
  288. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-intake.md +3 -2
  289. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  290. package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +21 -20
  291. package/presets/claude/php-laravel/rules/tooling-and-review/code-review.md +4 -5
  292. package/presets/claude/php-laravel/rules/tooling-and-review/design-guidance.md +54 -54
  293. package/presets/claude/php-laravel/rules/tooling-and-review/post-change-test.md +1 -1
  294. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +13 -13
  295. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +2 -2
  296. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +7 -7
  297. package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +4 -4
  298. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +1 -1
  299. package/presets/claude/php-laravel/rules/tooling-and-review/technical-retro.md +4 -3
  300. package/presets/claude/php-laravel/team/README.md +1 -1
  301. package/presets/claude/svelte/CLAUDE.md +17 -17
  302. package/presets/claude/svelte/MCP.md +8 -8
  303. package/presets/claude/svelte/README.md +1 -1
  304. package/presets/claude/svelte/agents/README.md +37 -30
  305. package/presets/claude/svelte/agents/feature-developer.md +1 -1
  306. package/presets/claude/svelte/agents/task-analyst.md +1 -1
  307. package/presets/claude/svelte/agents/task-router.md +19 -18
  308. package/presets/claude/svelte/commands/README.md +48 -10
  309. package/presets/claude/svelte/commands/feature-continue.md +9 -41
  310. package/presets/claude/svelte/commands/feature-start.md +19 -16
  311. package/presets/claude/svelte/commands/task-continue.md +14 -14
  312. package/presets/claude/svelte/commands/task.md +33 -33
  313. package/presets/claude/svelte/commands/technical-retro.md +61 -38
  314. package/presets/claude/svelte/rules/README.md +2 -2
  315. package/presets/claude/svelte/rules/api-and-data/README.md +6 -6
  316. package/presets/claude/svelte/rules/api-and-data/api-services.md +14 -14
  317. package/presets/claude/svelte/rules/api-and-data/store-svelte.md +26 -26
  318. package/presets/claude/svelte/rules/architecture/README.md +8 -8
  319. package/presets/claude/svelte/rules/architecture/architecture-boundaries-ui.md +7 -7
  320. package/presets/claude/svelte/rules/architecture/architecture-boundaries.md +19 -19
  321. package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +26 -26
  322. package/presets/claude/svelte/rules/architecture/layer-barrel-exports.md +31 -31
  323. package/presets/claude/svelte/rules/architecture/public-imports.md +8 -8
  324. package/presets/claude/svelte/rules/architecture/reference-features.md +18 -18
  325. package/presets/claude/svelte/rules/stack/README.md +8 -8
  326. package/presets/claude/svelte/rules/stack/navigation-router-ui.md +1 -1
  327. package/presets/claude/svelte/rules/stack/navigation-router.md +6 -6
  328. package/presets/claude/svelte/rules/stack/no-type-assertion.md +29 -29
  329. package/presets/claude/svelte/rules/stack/svelte-app-core.md +16 -16
  330. package/presets/claude/svelte/rules/stack/types-jsdoc.md +22 -22
  331. package/presets/claude/svelte/rules/testing/README.md +5 -5
  332. package/presets/claude/svelte/rules/testing/tests-e2e-structure.md +45 -46
  333. package/presets/claude/svelte/rules/testing/tests-unit.md +17 -17
  334. package/presets/claude/svelte/rules/tooling-and-review/README.md +9 -9
  335. package/presets/claude/svelte/rules/tooling-and-review/agent-team-intake.md +2 -2
  336. package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +9 -9
  337. package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +25 -24
  338. package/presets/claude/svelte/rules/tooling-and-review/code-review-mr.md +5 -5
  339. package/presets/claude/svelte/rules/tooling-and-review/design-guidance.md +54 -54
  340. package/presets/claude/svelte/rules/tooling-and-review/package-manager.md +8 -8
  341. package/presets/claude/svelte/rules/tooling-and-review/post-change-lint.md +23 -23
  342. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +12 -13
  343. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -2
  344. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  345. package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +3 -4
  346. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +0 -1
  347. package/presets/claude/svelte/rules/tooling-and-review/technical-retro.md +4 -4
  348. package/presets/claude/svelte/rules/ui-and-accessibility/README.md +7 -7
  349. package/presets/claude/svelte/rules/ui-and-accessibility/svelte-ui.md +6 -6
  350. package/presets/claude/svelte/skills/README.md +4 -4
  351. package/presets/claude/svelte/skills/feature-delivery/SKILL.md +1 -1
  352. package/presets/claude/svelte/team/README.md +8 -4
  353. package/presets/cursor/go/AGENTS.md +10 -10
  354. package/presets/cursor/go/MCP.md +7 -7
  355. package/presets/cursor/go/README.md +4 -4
  356. package/presets/cursor/go/agents/README.md +3 -3
  357. package/presets/cursor/go/agents/task-router.md +13 -13
  358. package/presets/cursor/go/commands/README.md +23 -23
  359. package/presets/cursor/go/commands/feature-continue.md +8 -8
  360. package/presets/cursor/go/commands/feature-start.md +17 -17
  361. package/presets/cursor/go/commands/task-continue.md +14 -14
  362. package/presets/cursor/go/commands/task.md +32 -32
  363. package/presets/cursor/go/commands/technical-retro.md +49 -49
  364. package/presets/cursor/go/rules/README.md +3 -3
  365. package/presets/cursor/go/rules/agent-team-intake.mdc +2 -2
  366. package/presets/cursor/go/rules/agent-team-orchestrator.mdc +4 -4
  367. package/presets/cursor/go/rules/architecture-boundaries.mdc +10 -10
  368. package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +21 -20
  369. package/presets/cursor/go/rules/code-review-mr.mdc +4 -4
  370. package/presets/cursor/go/rules/design-guidance.mdc +54 -54
  371. package/presets/cursor/go/rules/go-app-core.mdc +11 -11
  372. package/presets/cursor/go/rules/post-change-test.mdc +1 -1
  373. package/presets/cursor/go/rules/preset-layering.mdc +12 -13
  374. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +1 -2
  375. package/presets/cursor/go/rules/preset-pr-checklist.mdc +6 -7
  376. package/presets/cursor/go/rules/preset-token-budget.mdc +3 -4
  377. package/presets/cursor/go/rules/preset-twin-sync.mdc +0 -1
  378. package/presets/cursor/go/rules/technical-retro.mdc +3 -3
  379. package/presets/cursor/go/team/README.md +1 -1
  380. package/presets/cursor/ios-swift/AGENTS.md +20 -20
  381. package/presets/cursor/ios-swift/MCP.md +8 -8
  382. package/presets/cursor/ios-swift/README.md +9 -9
  383. package/presets/cursor/ios-swift/agents/README.md +7 -7
  384. package/presets/cursor/ios-swift/agents/feature-developer.md +1 -1
  385. package/presets/cursor/ios-swift/agents/task-analyst.md +1 -1
  386. package/presets/cursor/ios-swift/agents/task-router.md +16 -16
  387. package/presets/cursor/ios-swift/commands/README.md +23 -23
  388. package/presets/cursor/ios-swift/commands/feature-continue.md +8 -8
  389. package/presets/cursor/ios-swift/commands/feature-start.md +17 -17
  390. package/presets/cursor/ios-swift/commands/task-continue.md +14 -14
  391. package/presets/cursor/ios-swift/commands/task.md +33 -33
  392. package/presets/cursor/ios-swift/commands/technical-retro.md +50 -50
  393. package/presets/cursor/ios-swift/rules/README.md +23 -23
  394. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +2 -2
  395. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +2 -2
  396. package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +20 -20
  397. package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +25 -24
  398. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +40 -40
  399. package/presets/cursor/ios-swift/rules/design-guidance.mdc +54 -54
  400. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +30 -30
  401. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +10 -10
  402. package/presets/cursor/ios-swift/rules/module-public-api.mdc +11 -11
  403. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +13 -13
  404. package/presets/cursor/ios-swift/rules/networking-services.mdc +31 -31
  405. package/presets/cursor/ios-swift/rules/persistence-data.mdc +13 -13
  406. package/presets/cursor/ios-swift/rules/post-change-build.mdc +18 -18
  407. package/presets/cursor/ios-swift/rules/preset-layering.mdc +12 -13
  408. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +1 -2
  409. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +6 -7
  410. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +3 -4
  411. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +0 -1
  412. package/presets/cursor/ios-swift/rules/reference-features.mdc +22 -22
  413. package/presets/cursor/ios-swift/rules/security-ios.mdc +14 -14
  414. package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +24 -24
  415. package/presets/cursor/ios-swift/rules/swift-conventions.mdc +17 -17
  416. package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +39 -39
  417. package/presets/cursor/ios-swift/rules/technical-retro.mdc +4 -4
  418. package/presets/cursor/ios-swift/rules/tests-ui.mdc +27 -26
  419. package/presets/cursor/ios-swift/rules/tests-unit.mdc +25 -25
  420. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +11 -11
  421. package/presets/cursor/ios-swift/skills/README.md +3 -3
  422. package/presets/cursor/ios-swift/team/README.md +1 -1
  423. package/presets/cursor/java/AGENTS.md +10 -10
  424. package/presets/cursor/java/MCP.md +6 -6
  425. package/presets/cursor/java/agents/README.md +3 -3
  426. package/presets/cursor/java/agents/task-router.md +13 -13
  427. package/presets/cursor/java/commands/README.md +23 -23
  428. package/presets/cursor/java/commands/feature-continue.md +8 -8
  429. package/presets/cursor/java/commands/feature-start.md +17 -17
  430. package/presets/cursor/java/commands/task-continue.md +14 -14
  431. package/presets/cursor/java/commands/task.md +32 -32
  432. package/presets/cursor/java/commands/technical-retro.md +49 -49
  433. package/presets/cursor/java/rules/README.md +2 -2
  434. package/presets/cursor/java/rules/agent-team-intake.mdc +2 -2
  435. package/presets/cursor/java/rules/agent-team-orchestrator.mdc +4 -4
  436. package/presets/cursor/java/rules/architecture-boundaries.mdc +10 -10
  437. package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +21 -20
  438. package/presets/cursor/java/rules/code-review-mr.mdc +4 -4
  439. package/presets/cursor/java/rules/design-guidance.mdc +54 -54
  440. package/presets/cursor/java/rules/java-app-core.mdc +9 -9
  441. package/presets/cursor/java/rules/post-change-test.mdc +1 -1
  442. package/presets/cursor/java/rules/preset-layering.mdc +12 -13
  443. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +1 -2
  444. package/presets/cursor/java/rules/preset-pr-checklist.mdc +6 -7
  445. package/presets/cursor/java/rules/preset-token-budget.mdc +3 -4
  446. package/presets/cursor/java/rules/preset-twin-sync.mdc +0 -1
  447. package/presets/cursor/java/rules/technical-retro.mdc +3 -3
  448. package/presets/cursor/java/team/README.md +1 -1
  449. package/presets/cursor/mcp-ts/AGENTS.md +6 -6
  450. package/presets/cursor/mcp-ts/MCP.md +5 -5
  451. package/presets/cursor/mcp-ts/agents/task-router.md +7 -7
  452. package/presets/cursor/mcp-ts/commands/README.md +1 -1
  453. package/presets/cursor/mcp-ts/commands/feature-continue.md +8 -8
  454. package/presets/cursor/mcp-ts/commands/feature-start.md +17 -17
  455. package/presets/cursor/mcp-ts/commands/task-continue.md +14 -14
  456. package/presets/cursor/mcp-ts/commands/task.md +32 -32
  457. package/presets/cursor/mcp-ts/commands/technical-retro.md +50 -50
  458. package/presets/cursor/mcp-ts/rules/README.md +1 -1
  459. package/presets/cursor/mcp-ts/rules/agent-team-intake.mdc +3 -3
  460. package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +4 -4
  461. package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +21 -20
  462. package/presets/cursor/mcp-ts/rules/code-review-mr.mdc +5 -4
  463. package/presets/cursor/mcp-ts/rules/design-guidance.mdc +55 -54
  464. package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +2 -2
  465. package/presets/cursor/mcp-ts/rules/mcp-ts-app-core.mdc +9 -9
  466. package/presets/cursor/mcp-ts/rules/post-change-test.mdc +1 -1
  467. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +12 -13
  468. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +1 -2
  469. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +6 -7
  470. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +3 -4
  471. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +0 -1
  472. package/presets/cursor/mcp-ts/rules/technical-retro.mdc +3 -3
  473. package/presets/cursor/next/AGENTS.md +15 -15
  474. package/presets/cursor/next/MCP.md +9 -9
  475. package/presets/cursor/next/README.md +9 -9
  476. package/presets/cursor/next/agents/README.md +22 -22
  477. package/presets/cursor/next/agents/feature-developer.md +1 -1
  478. package/presets/cursor/next/agents/task-analyst.md +1 -1
  479. package/presets/cursor/next/agents/task-router.md +16 -16
  480. package/presets/cursor/next/commands/README.md +22 -22
  481. package/presets/cursor/next/commands/feature-continue.md +8 -8
  482. package/presets/cursor/next/commands/feature-start.md +17 -17
  483. package/presets/cursor/next/commands/task-continue.md +14 -14
  484. package/presets/cursor/next/commands/task.md +33 -33
  485. package/presets/cursor/next/commands/technical-retro.md +49 -49
  486. package/presets/cursor/next/rules/README.md +52 -52
  487. package/presets/cursor/next/rules/agent-team-intake.mdc +2 -2
  488. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +4 -4
  489. package/presets/cursor/next/rules/api-services.mdc +43 -43
  490. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +7 -7
  491. package/presets/cursor/next/rules/architecture-boundaries.mdc +45 -45
  492. package/presets/cursor/next/rules/arrow-functions.mdc +8 -8
  493. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +25 -24
  494. package/presets/cursor/next/rules/code-review-mr.mdc +5 -5
  495. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +4 -4
  496. package/presets/cursor/next/rules/design-guidance.mdc +54 -54
  497. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +43 -43
  498. package/presets/cursor/next/rules/http-client.mdc +23 -22
  499. package/presets/cursor/next/rules/layer-barrel-exports.mdc +31 -30
  500. package/presets/cursor/next/rules/navigation-router-stack.mdc +37 -37
  501. package/presets/cursor/next/rules/navigation-router-ui.mdc +7 -7
  502. package/presets/cursor/next/rules/next-app-core.mdc +16 -16
  503. package/presets/cursor/next/rules/next-app-router.mdc +17 -17
  504. package/presets/cursor/next/rules/no-props-spread.mdc +20 -20
  505. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +29 -29
  506. package/presets/cursor/next/rules/package-manager.mdc +8 -8
  507. package/presets/cursor/next/rules/post-change-lint.mdc +22 -22
  508. package/presets/cursor/next/rules/preset-layering.mdc +12 -13
  509. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +1 -2
  510. package/presets/cursor/next/rules/preset-pr-checklist.mdc +6 -7
  511. package/presets/cursor/next/rules/preset-token-budget.mdc +3 -4
  512. package/presets/cursor/next/rules/preset-twin-sync.mdc +0 -1
  513. package/presets/cursor/next/rules/public-imports.mdc +14 -14
  514. package/presets/cursor/next/rules/react-a11y-coding.mdc +21 -21
  515. package/presets/cursor/next/rules/react-ui.mdc +66 -66
  516. package/presets/cursor/next/rules/reference-features.mdc +17 -17
  517. package/presets/cursor/next/rules/store-rtk.mdc +60 -60
  518. package/presets/cursor/next/rules/technical-retro.mdc +4 -4
  519. package/presets/cursor/next/rules/tests-e2e-structure.mdc +46 -46
  520. package/presets/cursor/next/rules/tests-unit.mdc +51 -52
  521. package/presets/cursor/next/rules/types-jsdoc.mdc +29 -22
  522. package/presets/cursor/next/skills/feature-delivery/SKILL.md +1 -1
  523. package/presets/cursor/next/team/README.md +2 -2
  524. package/presets/cursor/nuxt/AGENTS.md +15 -15
  525. package/presets/cursor/nuxt/MCP.md +9 -9
  526. package/presets/cursor/nuxt/README.md +10 -10
  527. package/presets/cursor/nuxt/agents/README.md +30 -30
  528. package/presets/cursor/nuxt/agents/feature-developer.md +1 -1
  529. package/presets/cursor/nuxt/agents/task-analyst.md +1 -1
  530. package/presets/cursor/nuxt/agents/task-router.md +16 -16
  531. package/presets/cursor/nuxt/commands/README.md +24 -24
  532. package/presets/cursor/nuxt/commands/feature-continue.md +8 -8
  533. package/presets/cursor/nuxt/commands/feature-start.md +17 -17
  534. package/presets/cursor/nuxt/commands/task-continue.md +14 -14
  535. package/presets/cursor/nuxt/commands/task.md +33 -33
  536. package/presets/cursor/nuxt/commands/technical-retro.md +50 -50
  537. package/presets/cursor/nuxt/rules/README.md +53 -53
  538. package/presets/cursor/nuxt/rules/agent-team-intake.mdc +2 -2
  539. package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +4 -4
  540. package/presets/cursor/nuxt/rules/api-services.mdc +43 -43
  541. package/presets/cursor/nuxt/rules/architecture-boundaries-ui.mdc +7 -7
  542. package/presets/cursor/nuxt/rules/architecture-boundaries.mdc +58 -58
  543. package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +25 -24
  544. package/presets/cursor/nuxt/rules/code-review-mr.mdc +5 -5
  545. package/presets/cursor/nuxt/rules/design-guidance.mdc +54 -54
  546. package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +44 -44
  547. package/presets/cursor/nuxt/rules/layer-barrel-exports.mdc +31 -31
  548. package/presets/cursor/nuxt/rules/navigation-router-stack.mdc +38 -38
  549. package/presets/cursor/nuxt/rules/navigation-router-ui.mdc +7 -7
  550. package/presets/cursor/nuxt/rules/no-type-assertion-as-import-export.mdc +29 -29
  551. package/presets/cursor/nuxt/rules/nuxt-app-core.mdc +16 -16
  552. package/presets/cursor/nuxt/rules/package-manager.mdc +8 -8
  553. package/presets/cursor/nuxt/rules/post-change-lint.mdc +23 -23
  554. package/presets/cursor/nuxt/rules/preset-layering.mdc +12 -13
  555. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +1 -2
  556. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +6 -7
  557. package/presets/cursor/nuxt/rules/preset-token-budget.mdc +3 -4
  558. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +0 -1
  559. package/presets/cursor/nuxt/rules/public-imports.mdc +14 -14
  560. package/presets/cursor/nuxt/rules/reference-features.mdc +17 -17
  561. package/presets/cursor/nuxt/rules/store-pinia.mdc +26 -26
  562. package/presets/cursor/nuxt/rules/technical-retro.mdc +4 -4
  563. package/presets/cursor/nuxt/rules/tests-e2e-structure.mdc +45 -46
  564. package/presets/cursor/nuxt/rules/tests-unit.mdc +51 -52
  565. package/presets/cursor/nuxt/rules/types-jsdoc.mdc +22 -22
  566. package/presets/cursor/nuxt/rules/vue-ui.mdc +6 -6
  567. package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +1 -1
  568. package/presets/cursor/nuxt/team/README.md +2 -2
  569. package/presets/cursor/php-hexagonal/AGENTS.md +11 -11
  570. package/presets/cursor/php-hexagonal/MCP.md +7 -7
  571. package/presets/cursor/php-hexagonal/agents/README.md +4 -4
  572. package/presets/cursor/php-hexagonal/agents/task-router.md +12 -12
  573. package/presets/cursor/php-hexagonal/commands/README.md +25 -25
  574. package/presets/cursor/php-hexagonal/commands/feature-continue.md +8 -8
  575. package/presets/cursor/php-hexagonal/commands/feature-start.md +17 -17
  576. package/presets/cursor/php-hexagonal/commands/task-continue.md +14 -14
  577. package/presets/cursor/php-hexagonal/commands/task.md +32 -32
  578. package/presets/cursor/php-hexagonal/commands/technical-retro.md +49 -49
  579. package/presets/cursor/php-hexagonal/rules/README.md +2 -2
  580. package/presets/cursor/php-hexagonal/rules/agent-team-intake.mdc +2 -2
  581. package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +4 -4
  582. package/presets/cursor/php-hexagonal/rules/architecture-boundaries.mdc +10 -10
  583. package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +20 -20
  584. package/presets/cursor/php-hexagonal/rules/code-review-mr.mdc +4 -4
  585. package/presets/cursor/php-hexagonal/rules/design-guidance.mdc +54 -54
  586. package/presets/cursor/php-hexagonal/rules/php-app-core.mdc +10 -10
  587. package/presets/cursor/php-hexagonal/rules/post-change-test.mdc +1 -1
  588. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +12 -13
  589. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +1 -2
  590. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +6 -7
  591. package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +3 -4
  592. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +0 -1
  593. package/presets/cursor/php-hexagonal/rules/technical-retro.mdc +3 -3
  594. package/presets/cursor/php-hexagonal/team/README.md +1 -1
  595. package/presets/cursor/php-laravel/AGENTS.md +10 -10
  596. package/presets/cursor/php-laravel/agents/README.md +4 -4
  597. package/presets/cursor/php-laravel/agents/task-router.md +14 -14
  598. package/presets/cursor/php-laravel/commands/README.md +25 -25
  599. package/presets/cursor/php-laravel/commands/feature-continue.md +8 -8
  600. package/presets/cursor/php-laravel/commands/feature-start.md +17 -17
  601. package/presets/cursor/php-laravel/commands/task-continue.md +14 -14
  602. package/presets/cursor/php-laravel/commands/task.md +32 -32
  603. package/presets/cursor/php-laravel/commands/technical-retro.md +50 -50
  604. package/presets/cursor/php-laravel/rules/README.md +2 -2
  605. package/presets/cursor/php-laravel/rules/agent-team-intake.mdc +2 -2
  606. package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +4 -4
  607. package/presets/cursor/php-laravel/rules/architecture-boundaries.mdc +11 -11
  608. package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +20 -20
  609. package/presets/cursor/php-laravel/rules/code-review-mr.mdc +4 -5
  610. package/presets/cursor/php-laravel/rules/design-guidance.mdc +54 -54
  611. package/presets/cursor/php-laravel/rules/events-listeners.mdc +1 -1
  612. package/presets/cursor/php-laravel/rules/laravel-app-core.mdc +8 -8
  613. package/presets/cursor/php-laravel/rules/post-change-test.mdc +1 -1
  614. package/presets/cursor/php-laravel/rules/preset-layering.mdc +12 -13
  615. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +1 -2
  616. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +6 -7
  617. package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +3 -4
  618. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +0 -1
  619. package/presets/cursor/php-laravel/rules/technical-retro.mdc +3 -3
  620. package/presets/cursor/php-laravel/team/README.md +1 -1
  621. package/presets/cursor/svelte/AGENTS.md +15 -15
  622. package/presets/cursor/svelte/MCP.md +9 -9
  623. package/presets/cursor/svelte/README.md +9 -9
  624. package/presets/cursor/svelte/agents/README.md +29 -29
  625. package/presets/cursor/svelte/agents/feature-developer.md +1 -1
  626. package/presets/cursor/svelte/agents/task-analyst.md +1 -1
  627. package/presets/cursor/svelte/agents/task-router.md +16 -16
  628. package/presets/cursor/svelte/commands/README.md +24 -24
  629. package/presets/cursor/svelte/commands/feature-continue.md +8 -8
  630. package/presets/cursor/svelte/commands/feature-start.md +17 -17
  631. package/presets/cursor/svelte/commands/task-continue.md +14 -14
  632. package/presets/cursor/svelte/commands/task.md +33 -33
  633. package/presets/cursor/svelte/commands/technical-retro.md +50 -50
  634. package/presets/cursor/svelte/rules/README.md +34 -34
  635. package/presets/cursor/svelte/rules/agent-team-intake.mdc +2 -2
  636. package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +4 -4
  637. package/presets/cursor/svelte/rules/api-services.mdc +14 -14
  638. package/presets/cursor/svelte/rules/architecture-boundaries-ui.mdc +7 -7
  639. package/presets/cursor/svelte/rules/architecture-boundaries.mdc +19 -19
  640. package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +25 -24
  641. package/presets/cursor/svelte/rules/code-review-mr.mdc +5 -5
  642. package/presets/cursor/svelte/rules/design-guidance.mdc +54 -54
  643. package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +26 -26
  644. package/presets/cursor/svelte/rules/layer-barrel-exports.mdc +31 -31
  645. package/presets/cursor/svelte/rules/navigation-router-stack.mdc +6 -6
  646. package/presets/cursor/svelte/rules/navigation-router-ui.mdc +1 -1
  647. package/presets/cursor/svelte/rules/no-type-assertion-as-import-export.mdc +29 -29
  648. package/presets/cursor/svelte/rules/package-manager.mdc +8 -8
  649. package/presets/cursor/svelte/rules/post-change-lint.mdc +23 -23
  650. package/presets/cursor/svelte/rules/preset-layering.mdc +12 -13
  651. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +1 -2
  652. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +6 -7
  653. package/presets/cursor/svelte/rules/preset-token-budget.mdc +3 -4
  654. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +0 -1
  655. package/presets/cursor/svelte/rules/public-imports.mdc +8 -8
  656. package/presets/cursor/svelte/rules/reference-features.mdc +17 -17
  657. package/presets/cursor/svelte/rules/store-svelte.mdc +26 -26
  658. package/presets/cursor/svelte/rules/svelte-app-core.mdc +16 -16
  659. package/presets/cursor/svelte/rules/svelte-ui.mdc +6 -6
  660. package/presets/cursor/svelte/rules/technical-retro.mdc +4 -4
  661. package/presets/cursor/svelte/rules/tests-e2e-structure.mdc +45 -46
  662. package/presets/cursor/svelte/rules/tests-unit.mdc +17 -17
  663. package/presets/cursor/svelte/rules/types-jsdoc.mdc +22 -22
  664. package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +1 -1
  665. package/presets/cursor/svelte/team/README.md +2 -2
@@ -2,58 +2,58 @@
2
2
  paths: pages/**/*,layouts/**/*,middleware/**/*,nuxt.config.*
3
3
  ---
4
4
 
5
- # Навигация и роутинг: сначала стек проекта
5
+ # Navigation and routing: project stack first
6
6
 
7
- **При любой задаче, связанной с навигацией, переходами между страницами, URL, редиректами, хлебными крошками, защищёнными маршрутами или программной сменой маршрута** перед предложением кода или импортов **нельзя** опираться на «типичный Vue SPA» по умолчанию. Нужно **явно свериться со стеком целевого репозитория** и использовать **один** согласованный с проектом механизм.
7
+ **For any task involving navigation, page transitions, URLs, redirects, breadcrumbs, protected routes, or programmatic route changes** before proposing code or imports, **do not** default to a “typical Vue SPA”. You must **explicitly check the target repository stack** and use **one** mechanism consistent with the project.
8
8
 
9
- ## Зависимости: что проверить в первую очередь
9
+ ## Dependencies: what to check first
10
10
 
11
- 1. **`package.json`** в корне приложения (тот пакет, где `nuxt.config.*` / который собирается и деплоится). Смотреть **`dependencies`** и при необходимости **`peerDependencies`**:
12
- - **`nuxt`** — Nuxt 3 (file-based routing); версия важна для нюансов API (сверяться с документацией под эту major).
13
- - **`vue-router`** без Nuxt — отдельный SPA-роутинг; не подменять его API вызовами Nuxt (`navigateTo`, `<NuxtLink>`) без проверки.
14
- - **`nuxt`** и отдельный ручной `createRouter` одновременновозможно легаси или гибрид; **не** выбирать API по умолчаниюсмотреть раздел «Реализация в коде» ниже.
11
+ 1. **`package.json`** at the app root (the package with `nuxt.config.*` / the one that builds and deploys). Inspect **`dependencies`** and, if needed, **`peerDependencies`**:
12
+ - **`nuxt`** — Nuxt 3 (file-based routing); version matters for API nuances (check docs for that major).
13
+ - **`vue-router`** without Nuxt — separate SPA routing; do not replace its API with Nuxt calls (`navigateTo`, `<NuxtLink>`) without checking.
14
+ - **`nuxt`** and a separate manual `createRouter` at once may be legacy or hybrid; **do not** pick an API by defaultsee “Routing implementation in the project” below.
15
15
 
16
- 2. **Монорепо / workspaces** — роутинг может жить не в корневом `package.json`. Открыть **`package.json` того workspace**, где лежат `pages/` и `nuxt.config.*`.
16
+ 2. **Monorepo / workspaces** — routing may not live in the root `package.json`. Open **`package.json` of the workspace** that holds `pages/` and `nuxt.config.*`.
17
17
 
18
- 3. **Факт установки**при сомнениях смотреть lockfile (`bun.lock`, `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`) или `node_modules`: убедиться, что заявленный пакет реально установлен.
18
+ 3. **Installation fact**when in doubt, check the lockfile (`bun.lock`, `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`) or `node_modules`: confirm the declared package is actually installed.
19
19
 
20
- ## Реализация роутинга в проекте (код и структура)
20
+ ## Routing implementation in the project (code and structure)
21
21
 
22
- Перед предложением паттерна навигации **свериться с тем, как уже сделано в репозитории**:
22
+ Before proposing a navigation pattern, **check how it is already done in the repository**:
23
23
 
24
- 1. **Дерево маршрутов**
25
- - **Nuxt 3 file-based routing:** каталог **`pages/`** (`.vue`), layouts в **`layouts/`**, middleware в **`middleware/`**, `definePageMeta`.
26
- - **Nuxt 4 note:** возможен `app/` как `srcDir` — уточнить по `nuxt.config`; **не** путать с Next `app/` + `page.tsx`.
27
- - Чистый **Vue Router SPA:** конфиг маршрутов (`router/index.ts`, `createRouter`) без Nuxt file routing.
24
+ 1. **Route tree**
25
+ - **Nuxt 3 file-based routing:** **`pages/`** directory (`.vue`), layouts in **`layouts/`**, middleware in **`middleware/`**, `definePageMeta`.
26
+ - **Nuxt 4 note:** `app/` may be `srcDir` — confirm via `nuxt.config`; **do not** confuse with Next `app/` + `page.tsx`.
27
+ - Plain **Vue Router SPA:** route config (`router/index.ts`, `createRouter`) without Nuxt file routing.
28
28
 
29
- 2. **Точки входа и обёртки**
30
- - Поиск по коду: **`navigateTo`**, **`<NuxtLink>`**, **`useRouter` / `useRoute`** (Nuxt auto-import), **`from 'vue-router'`**, **`createRouter`**, **`RouterLink`**.
31
- - Где объявлены маршруты (файловая структура Nuxt vs явный `routes` в SPA).
29
+ 2. **Entry points and wrappers**
30
+ - Search the code: **`navigateTo`**, **`<NuxtLink>`**, **`useRouter` / `useRoute`** (Nuxt auto-import), **`from 'vue-router'`**, **`createRouter`**, **`RouterLink`**.
31
+ - Where routes are declared (Nuxt file structure vs explicit `routes` in SPA).
32
32
 
33
- 3. **Общие абстракции проекта**
34
- - Обёртки над ссылками (`~/components/...`, Link из дизайн-системы), хелперы путей, константы роутов**использовать их**, а не дублировать сырой API.
33
+ 3. **Shared project abstractions**
34
+ - Link wrappers (`~/components/...`, design-system Link), path helpers, route constants**use them**, do not duplicate raw API.
35
35
 
36
- 4. **Соседние файлы фичи**
37
- - Новый код навигациив том же стиле, что страницы/composables той же области (`navigateTo` / `<NuxtLink>` vs `vue-router` как в соседних импортах).
36
+ 4. **Neighboring feature files**
37
+ - New navigation codesame style as pages/composables in that area (`navigateTo` / `<NuxtLink>` vs `vue-router` as in neighboring imports).
38
38
 
39
- ## Как определить, что использовать (сводка)
39
+ ## How to decide what to use (summary)
40
40
 
41
- 1. **Зависимости**см. раздел выше; по ним задаётся допустимый набор пакетов.
42
- 2. **Структура** — Nuxt `pages/` vs Vue Router SPA по каталогам и конфигу.
43
- 3. **Фактический код**какие импорты и обёртки уже доминируют в приложении.
41
+ 1. **Dependencies**see section above; they define the allowed package set.
42
+ 2. **Structure** — Nuxt `pages/` vs Vue Router SPA by directories and config.
43
+ 3. **Actual code**which imports and wrappers already dominate in the app.
44
44
 
45
- ## Что использовать (краткая матрица)
45
+ ## What to use (short matrix)
46
46
 
47
- | Стек | Программная навигация / чтение пути | Ссылки |
48
- |------|-------------------------------------|--------|
49
- | **Nuxt 3 file-based routing** | `navigateTo`, `useRouter`, `useRoute`, `useRouter().push` (по доке Nuxt для вашей версии) | `<NuxtLink>` |
50
- | **Vue Router SPA (без Nuxt)** | `vue-router` (`useRouter`, `useRoute`, `router.push`, …) | `<RouterLink>` / `<router-link>` |
47
+ | Stack | Programmatic navigation / path read | Links |
48
+ |-------|-------------------------------------|-------|
49
+ | **Nuxt 3 file-based routing** | `navigateTo`, `useRouter`, `useRoute`, `useRouter().push` (per Nuxt docs for your version) | `<NuxtLink>` |
50
+ | **Vue Router SPA (no Nuxt)** | `vue-router` (`useRouter`, `useRoute`, `router.push`, …) | `<RouterLink>` / `<router-link>` |
51
51
 
52
- **Не делать:** подключать `react-router-dom` или `next/navigation` / `next/link` в Nuxt-проект; импортировать Next-хуки (`usePathname`, `useSearchParams` из `next/navigation`); смешивать ручной `createRouter` и Nuxt file routing без явной причины в кодовой базе.
52
+ **Do not:** add `react-router-dom` or `next/navigation` / `next/link` in a Nuxt project; import Next hooks (`usePathname`, `useSearchParams` from `next/navigation`); mix manual `createRouter` and Nuxt file routing without a clear reason in the codebase.
53
53
 
54
- ## Требование к агенту
54
+ ## Agent requirement
55
55
 
56
- - Перед генерацией или ревью кода навигации **коротко зафиксировать вывод** (например: «зависимости: `nuxt`; в коде везде `<NuxtLink>` / `navigateTo` → используем то же») и следовать ему.
57
- - **Обязательная проверка:** актуальные **`dependencies`** в `package.json` нужного workspace + **как в проекте уже реализованы** маршруты и импорты (поиск по репозиторию, соседние файлы). Не полагаться только на предположение по одному признаку (например, только на наличие папки `pages/`).
58
- - Если стек неочевиден (гибрид) — **сверить lockfile / установленные пакеты** и **доминирующие импорты**, затем выбрать API.
59
- - Для **этого** пресета базовый ориентир **`stack/nuxt-app-core.md`** + **`stack/nuxt-pages-routing.md`**: Nuxt 3; предпочитать **`navigateTo`**, **`useRouter` / `useRoute`**, **`<NuxtLink>`**.
56
+ - Before generating or reviewing navigation code, **briefly state the conclusion** (e.g. “dependencies: `nuxt`; code uses `<NuxtLink>` / `navigateTo` everywhere use the same”) and follow it.
57
+ - **Required check:** current **`dependencies`** in the relevant workspace `package.json` + **how routes and imports are already implemented** (repo search, neighboring files). Do not rely on a single signal alone (e.g. only the presence of a `pages/` folder).
58
+ - If the stack is unclear (hybrid) — **check lockfile / installed packages** and **dominant imports**, then pick the API.
59
+ - For **this** preset the baseline is **`nuxt-app-core.mdc`** + **`nuxt-pages-routing.mdc`**: Nuxt 3; prefer **`navigateTo`**, **`useRouter` / `useRoute`**, **`<NuxtLink>`**.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Избегать приведения типов через as на границах модулей (импорт/экспорт)
2
+ description: Avoid type assertions via as at module boundaries (import/export)
3
3
  paths:
4
4
  - pages/**/*
5
5
  - components/**/*
@@ -8,54 +8,55 @@ paths:
8
8
  - composables/**/*
9
9
  - types/**/*
10
10
  ---
11
- # Не использовать `as` для приведения типов при экспорте и импорте (кроме необходимых случаев)
12
11
 
13
- ## О чём речь
12
+ # Do not use `as` for type assertion on export and import (except necessary cases)
14
13
 
15
- Речь о **type assertion** в TypeScript: выражение вида `значение as Тип`.
14
+ ## What this is about
16
15
 
17
- **Не относится к правилу** (это не assertion, а синтаксис модулей):
16
+ This is about TypeScript **type assertion**: expressions like `value as Type`.
18
17
 
19
- - переименование при экспорте: `export { foo as bar }`, `export { default as Baz } from '...'`;
20
- - переименование при импорте: `import { foo as bar } from '...'`;
21
- - `import type { Foo as Bar }` — алиас типа в импорте типов.
18
+ **Not covered by this rule** (not assertion module syntax):
22
19
 
23
- ## Требование
20
+ - rename on export: `export { foo as bar }`, `export { default as Baz } from '...'`;
21
+ - rename on import: `import { foo as bar } from '...'`;
22
+ - `import type { Foo as Bar }` — type alias in a type import.
24
23
 
25
- - На **публичной границе модуля** (то, что **экспортируется** из файла / barrel, и то, что сразу **присваивается импортированным символам** с принудительным приведением) **не использовать** `as Тип` для «подгонки» типов, если можно обойтись нормальной типизацией.
24
+ ## Requirement
26
25
 
27
- ## Предпочитать вместо `as`
26
+ - On the **public module boundary** (what is **exported** from a file / barrel, and what is immediately **assigned from imported symbols** with a forced cast) **do not use** `as Type` to “force-fit” types when normal typing would work.
28
27
 
29
- - явную аннотацию: `const x: T = ...` / `function f(): T`;
30
- - **дженерики** у функций и классов;
31
- - **`satisfies`** (когда нужно проверить совместимость без сужения до `any`);
32
- - сужение **`unknown`** после проверки (type guards, `zod` и т.п.);
33
- - правку **исходных типов/DTO/мапперов**, а не assertion на выходе.
28
+ ## Prefer instead of `as`
34
29
 
35
- ## Когда `as` допустим
30
+ - an explicit annotation: `const x: T = ...` / `function f(): T`;
31
+ - **generics** on functions and classes;
32
+ - **`satisfies`** (when you need to check compatibility without narrowing to `any`);
33
+ - narrowing **`unknown`** after checks (type guards, `zod`, etc.);
34
+ - fixing **source types/DTOs/mappers**, not an assertion on the way out.
36
35
 
37
- - взаимодействие с **не типизированными** или некорректно типизированными внешними модулями, где нет разумной альтернативы;
38
- - узкие места после **валидации** данных, если типовый гард всё ещё не выразить без шума (предпочтительно всё же guard/`satisfies`);
39
- - **`as const`** — когда нужны литеральные типы и широкий вывод ломает контракт (это отдельный механизм; применять по делу, не как замену типизации API).
40
- - блок **`catch (error)`** после вызова HTTP через общий клиент: по возможности сужать через **`instanceof`** на **класс ошибки транспорта** из `@/types` (какой именно — по существующей реализации) и работать с уже суженным типом; голый **`as` к тому же типу** — только если `instanceof` недоступен (иной источник выброса) и осознанно.
36
+ ## When `as` is allowed
41
37
 
42
- ## Примеры
38
+ - interaction with **untyped** or incorrectly typed external modules where there is no reasonable alternative;
39
+ - narrow spots after **validation**, if a type guard still cannot be expressed without noise (prefer guard/`satisfies` anyway);
40
+ - **`as const`** — when literal types are needed and wide inference breaks the contract (a separate mechanism; use on purpose, not as a substitute for API typing).
41
+ - a **`catch (error)`** block after HTTP via the shared client: prefer narrowing with **`instanceof`** on the **transport error class** from `@/types` (which one — follow the existing implementation) and work with the narrowed type; bare **`as` to the same type** — only if `instanceof` is unavailable (different throw source) and deliberately.
42
+
43
+ ## Examples
43
44
 
44
45
  ```typescript
45
- // ❌ Плохо: assertion на экспортируемом API
46
+ // ❌ Bad: assertion on exported API
46
47
  export const config = loadRaw() as AppConfig
47
48
 
48
- // ✅ Лучше: аннотация + проверка или маппер
49
+ // ✅ Better: annotation + check or mapper
49
50
  export const config: AppConfig = mapToAppConfig(loadRaw())
50
51
 
51
- // ❌ Плохо: сразу после импорта «ломаем» тип
52
+ // ❌ Bad: immediately after import we “break” the type
52
53
  import { getData } from './api'
53
54
  export const data = getData() as MyDto[]
54
55
 
55
- // ✅ Лучше: типизировать getData / обернуть типобезопасной функцией
56
+ // ✅ Better: type getData / wrap with a type-safe function
56
57
  ```
57
58
 
58
- ## Требование к агенту
59
+ ## Agent requirement
59
60
 
60
- При ревью и генерации кода **не добавлять** новые `as Тип` на экспортируемые сущности и на цепочку import → export без явной необходимости; по возможности исправлять контракт типов в источнике.
61
- - В слайсах и сервисах при обработке ошибок API сначала рассматривать **`instanceof`** на класс ошибки транспорта из `@/types` по образцу существующего кода (`http-client.mdc`, `store-pinia.mdc`).
61
+ On review and code generation **do not add** new `as Type` on exported entities and on the import → export chain without clear need; when possible fix the type contract at the source.
62
+ - In stores and services when handling API errors, first consider **`instanceof`** on the transport error class from `@/types` following existing code (`http-client.mdc`, `store-pinia.mdc`).
@@ -1,14 +1,15 @@
1
1
  ---
2
- description: Базовые принципы, стек и архитектура Nuxt 3 приложения (preset)
2
+ description: Baseline principles, stack, and architecture for a Nuxt 3 application (preset)
3
3
  ---
4
- # Стек и окружение
5
4
 
6
- Конкретные версии **из `package.json` и конфигов целевого репозитория**. Рамка preset: Nuxt 3, Vue 3, TypeScript; runner/e2e/mocks/UI/APM — как заведено в репо.
5
+ # Stack and environment
7
6
 
8
- # Структура проекта
7
+ Concrete versions — **from `package.json` and configs of the target repository**. Preset frame: Nuxt 3, Vue 3, TypeScript; runner/e2e/mocks/UI/APM — as established in the repo.
9
8
 
10
- | Путь | Назначение |
11
- |------|------------|
9
+ # Project structure
10
+
11
+ | Path | Purpose |
12
+ |------|---------|
12
13
  | `pages/**` | File-based routes |
13
14
  | `components/**` | UI components (SFC) |
14
15
  | `composables/**` | Vue `use*` facades |
@@ -19,12 +20,12 @@ description: Базовые принципы, стек и архитектура
19
20
  | `types/**` | Domain types (barrel) |
20
21
  | `tests/e2e/**` | Playwright e2e |
21
22
 
22
- **Aliases:** prefer `~/`, accept `@/`, respect `#imports` (не изобретать auto-import символы). Scripts cwd — **корень репозитория** (где `nuxt.config.*`), не Next-обёртка `app/`.
23
+ **Aliases:** prefer `~/`, accept `@/`, respect `#imports` (do not invent auto-import symbols). Scripts cwd — **repository root** (where `nuxt.config.*` lives), not a Next-style `app/` wrapper.
23
24
 
24
- # Архитектурные слои
25
+ # Architectural layers
25
26
 
26
- | Слой | Каталог | Детали |
27
- |------|---------|--------|
27
+ | Layer | Directory | Details |
28
+ |-------|-----------|---------|
28
29
  | UI | `pages/**`, `components/**`, `layouts/**` | `vue-ui`, `architecture-boundaries-ui` |
29
30
  | Composables | `composables/**` | thin orchestration; no raw HTTP |
30
31
  | Store | `stores/**` | `store-pinia` — `defineStore` only |
@@ -33,11 +34,11 @@ description: Базовые принципы, стек и архитектура
33
34
  | Server | `server/api/**` | `security-nuxt`; not a substitute for `api/**` |
34
35
  | Types | `types/**` | `public-imports`, `types-jsdoc` |
35
36
 
36
- Границы — **`architecture-boundaries`**. Импорты `~/types` / `@/types`, `~/api` / `@/api` — **`public-imports`**. **Запрещено:** RTK / `store-rtk`, React/RSC defaults, пути `app/src/**` как канон.
37
+ Boundaries — **`architecture-boundaries`**. Imports `~/types` / `@/types`, `~/api` / `@/api` — **`public-imports`**. **Forbidden:** RTK / `store-rtk`, React/RSC defaults, `app/src/**` paths as the canon.
37
38
 
38
- # Работа агента
39
+ # Agent work
39
40
 
40
- - Архитектура и импорты: `architecture-boundaries`, `public-imports`
41
- - Фичи: `feature-delivery-workflow` + skill `feature-delivery`
42
- - После правок: **вызвать** `post-change-lint` (requestable); менеджер пакетов: `package-manager`
43
- - Копировать паттерны соседей; предпочитать `unknown` вместо `any`
41
+ - Architecture and imports: `architecture-boundaries`, `public-imports`
42
+ - Features: `feature-delivery-workflow` + skill `feature-delivery`
43
+ - After edits: **invoke** `post-change-lint` (requestable); package manager: `package-manager`
44
+ - Copy neighbor patterns; prefer `unknown` over `any`
@@ -1,40 +1,41 @@
1
1
  ---
2
- description: Стиль JSDoc для доменных и транспортных типов в types
2
+ description: JSDoc style for domain and transport types under types
3
3
  paths: types/**/*.ts
4
4
  ---
5
- # Документация типов в `types`
6
5
 
7
- При добавлении или существенном изменении типов в этом слое **следовать уже принятому в репозитории стилю JSDoc** (см. примеры: `User.types.ts`, `Common.types.ts`, `ServerValidation.types.ts`, `TreatmentPlan/*.types.ts`).
6
+ # Type documentation in `types`
8
7
 
9
- ## Язык и форма
8
+ When adding or substantially changing types in this layer **follow the JSDoc style already used in the repository** (see examples: `User.types.ts`, `Common.types.ts`, `ServerValidation.types.ts`, `TreatmentPlan/*.types.ts`).
10
9
 
11
- - Текст комментариев — **на русском**, кратко и по делу: что означает тип или поле в предметной области или в контракте с API.
12
- - **Не опираться** на теги в духе `@param`, `@returns`, `@see`, `@deprecated` для описания типов — в этом слое они **не используются**; достаточно обычного текста в `/** … */`.
10
+ ## Language and form
13
11
 
14
- ## Экспортируемый `type` / `interface`
12
+ - Comment text — **in Russian**, short and to the point: what the type or field means in the domain or API contract.
13
+ - **Do not rely** on tags like `@param`, `@returns`, `@see`, `@deprecated` for type descriptions — they are **not used** in this layer; plain `/** … */` text is enough.
15
14
 
16
- - Сразу **перед объявлением** — блок `/** … */`.
17
- - Если нужно пояснить источник данных, ограничения или неочевидности — **второй абзац** в том же блоке (в JSDoc для абзаца — пустая строка между строками текста).
18
- - Для **вложенных** объектов в том же файле каждый такой тип документируется отдельным блоком над своим объявлением.
15
+ ## Exported `type` / `interface`
19
16
 
20
- ## Поля
17
+ - Immediately **before the declaration** — a `/** … */` block.
18
+ - If you need to explain data source, constraints, or non-obvious bits — a **second paragraph** in the same block (blank line between paragraphs in JSDoc).
19
+ - For **nested** objects in the same file, each such type gets its own block above its declaration.
21
20
 
22
- - У **каждого** публичного свойства — **однострочный** `/** … */` на строке непосредственно **над** полем.
23
- - Если поле **не приходит с бэкенда «как есть»**, а вычисляется или дополняется на фронте (маппер, селектор, UI) — начать описание с префикса **`[computed]`** (как в `TUserProfile`, типах плана лечения).
24
- - Для форматов данных указывать это **в тексте**: например дата `YYYY-MM-DD`, пример отображаемой строки в кавычках.
21
+ ## Fields
25
22
 
26
- ## Классы и прочие объявления
23
+ - Every **public** property — a **one-line** `/** … */` on the line immediately **above** the field.
24
+ - If a field **does not come from the backend “as is”** but is computed or enriched on the frontend (mapper, selector, UI) — start the description with the **`[computed]`** prefix (as in `TUserProfile`, treatment-plan types).
25
+ - For data formats, state that **in the text**: e.g. date `YYYY-MM-DD`, example display string in quotes.
27
26
 
28
- - Для **классов** (например ошибки транспорта) при изменении публичного API — краткий блок над классом и **комментарии к публичным полям** по тем же правилам, что у свойств интерфейса.
27
+ ## Classes and other declarations
28
+
29
+ - For **classes** (e.g. transport errors), when changing the public API — a short block above the class and **comments on public fields** by the same rules as interface properties.
29
30
 
30
31
  ## `enum`
31
32
 
32
- - В `enums.ts` исторически часто **без JSDoc** на каждом члене; для новых enum допустимо короткое описание **над самим enum**, если назначение неочевидно из имени. Подписи для UI — как принято, через объекты `*Names` рядом с enum.
33
+ - In `enums.ts` historically often **without JSDoc** on each member; for new enums a short description **above the enum itself** is OK if purpose is not obvious from the name. UI labels as usual, via `*Names` objects next to the enum.
33
34
 
34
- ## Практика для агента
35
+ ## Agent practice
35
36
 
36
- - Добавляя новый тип или поле, **не оставлять** новые публичные поля без пояснения, если смысл не равен имени на 100%.
37
- - Правя файл, где уже есть такие комментарии, **поддерживать тот же стиль**, а не смешивать с англоязычными или «теговыми» блоками.
38
- - Не раздувать комментарии: одна-две фразы на тип, одна строка на поленорма; исключениедействительно сложная доменная оговорка.
37
+ - When adding a new type or field, **do not leave** new public fields unexplained if the meaning is not 100% equal to the name.
38
+ - When editing a file that already has such comments, **keep the same style**, do not mix with English or “tag-style” blocks.
39
+ - Do not inflate comments: one–two phrases per type, one line per field normal; exceptiona truly complex domain caveat.
39
40
 
40
- См. также импорты и barrel: `public-imports.mdc`.
41
+ See also imports and barrel: `public-imports.mdc`.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Unit, e2e, Playwright agents.
4
4
 
5
- | Файл | Содержание | Загрузка |
6
- |------|------------|----------|
7
- | `playwright-agents.md` | Planner / generator / healer — структура e2e | session start |
8
- | `tests-unit.md` | Unit/integration, именование на русском | `paths: **/*.spec.*`, `*.test.*` |
5
+ | File | Contents | Loading |
6
+ |------|----------|---------|
7
+ | `playwright-agents.md` | Planner / generator / healer — e2e structure | session start |
8
+ | `tests-unit.md` | Unit/integration, Russian locale naming | `paths: **/*.spec.*`, `*.test.*` |
9
9
  | `tests-e2e-structure.md` | `*.cases.md`, page objects, data-testid | `paths: tests/e2e/**` |
10
10
 
11
- См. также `.claude/agents/playwright-test-*.md` после `ai-rules init`.
11
+ See also `.claude/agents/playwright-test-*.md` after `ai-rules init`.
@@ -1,49 +1,49 @@
1
1
  ---
2
- description: Структура e2e тестов и планов (Playwright)
2
+ description: Structure of e2e tests and plans (Playwright)
3
3
  paths: tests/e2e/**/*
4
4
  ---
5
- # Структура e2e в проекте
6
-
7
- - Папка e2e: `tests/e2e/**`.
8
- - Планы сценариев:
9
- - `*.cases.md` файлы — **канонический источник сценариев**.
10
- - Тесты:
11
- - `*.spec.ts` файлы — реализация сценариев на Playwright.
12
- - Общие утилиты и абстракции:
13
- - `tests/e2e/_shared/**` — константы, fluent‑интерфейсы, хелперы.
14
-
15
- # Принципы
16
-
17
- - Каждый сценарий из `*.cases.md` должен иметь соответствующий тест (или набор тестов).
18
- - **Нельзя** ослаблять проверки в тестах, если это противоречит бизнес‑ожиданиям из планов.
19
- - Предпочтительно использовать:
20
- - page‑objects (например, `OrderHistoryPage.ts`);
21
- - общие хелперы из `_shared`.
22
-
23
- # Именование e2e‑тестов
24
-
25
- - Язык:
26
- - все названия `test` / `it`, `describe`‑блоков и шагов в `*.cases.md` должны быть сформулированы **на русском языке**, описывая поведение и ожидаемый результат.
27
- - Формат заголовков e2e‑тестов (`test(...)` / `it(...)`):
28
- - перед текстовым описанием сценария указывается **префикс с номером** в формате: `ПРЕФИКС-XXX Описание сценария`.
29
- - `ПРЕФИКС` — аббревиатура из **первых букв слов** тестируемой сущности, записанная **латиницей в верхнем регистре**.
30
- - пример: `OrderHistory` → `OH`, `BillingReport` → `BR`.
31
- - `XXX` — порядковый номер теста **с тремя разрядами и лидирующими нулями**: `001`, `002`, `010`, `123` и т.д.
32
- - пример полного названия e2e‑теста:
33
- - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })`
34
- - внутри одной сущности (`ПРЕФИКС`) номера тестов должны образовывать **непротиворечивую последовательность**, без дубликатов номеров.
35
-
36
- # data-testid для e2e
37
-
38
- - **Приоритет селекторов:** `data-testid` для стабильных элементов; `getByRole` и `getByLabel` для форм и доступных элементов.
39
- - **Именование:** схема `{parent}__{element}` (например, `history-page__title`, `history-page__recognition-banner__attach-files-button`).
40
- - **Где добавлять:** на корневые контейнеры страниц и ключевые интерактивные элементы (кнопки, ссылки, поля), к которым обращаются page objects.
41
- - **При изменении UI:** обновлять data-testid в компонентах и соответствующие селекторы в page objects; сверять с `*.cases.md`.
42
-
43
- # Требование к агенту
44
-
45
- При добавлении/изменении e2e‑тестов:
46
- - Сначала смотреть соответствующий `*.cases.md` и синхронизировать названия сценариев.
47
- - Размещать спеки рядом с планами в той же директории.
48
- - Переиспользовать общие page‑objects и хелперы, а не копировать селекторы напрямую в каждый тест.
49
5
 
6
+ # E2E structure in the project
7
+
8
+ - E2E folder: `tests/e2e/**`.
9
+ - Scenario plans:
10
+ - `*.cases.md` files — **canonical source of scenarios**.
11
+ - Tests:
12
+ - `*.spec.ts` files — Playwright scenario implementation.
13
+ - Shared utilities and abstractions:
14
+ - `tests/e2e/_shared/**` — constants, fluent interfaces, helpers.
15
+
16
+ # Principles
17
+
18
+ - Every scenario from `*.cases.md` must have a matching test (or set of tests).
19
+ - **Do not** weaken assertions in tests if that contradicts business expectations from the plans.
20
+ - Prefer:
21
+ - page objects (e.g. `OrderHistoryPage.ts`);
22
+ - shared helpers from `_shared`.
23
+
24
+ # E2E test naming
25
+
26
+ - Language:
27
+ - all `test` / `it` names, `describe` blocks, and steps in `*.cases.md` must be formulated **in Russian**, describing behavior and the expected result. <!-- i18n-keep: E5 -->
28
+ - E2E title format (`test(...)` / `it(...)`):
29
+ - before the scenario description, put a **numbered prefix** in the form: `PREFIX-XXX Scenario description`.
30
+ - `PREFIX` — abbreviation from the **first letters of the words** of the entity under test, written in **Latin uppercase**.
31
+ - example: `OrderHistory` → `OH`, `BillingReport` → `BR`.
32
+ - `XXX` — sequential test number **with three digits and leading zeros**: `001`, `002`, `010`, `123`, etc.
33
+ - full e2e title example:
34
+ - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })` <!-- i18n-keep: E5 -->
35
+ - within one entity (`PREFIX`), test numbers must form a **consistent sequence** without duplicate numbers.
36
+
37
+ # data-testid for e2e
38
+
39
+ - **Selector priority:** `data-testid` for stable elements; `getByRole` and `getByLabel` for forms and accessible elements.
40
+ - **Naming:** scheme `{parent}__{element}` (e.g. `history-page__title`, `history-page__recognition-banner__attach-files-button`).
41
+ - **Where to add:** on page root containers and key interactive elements (buttons, links, fields) that page objects target.
42
+ - **When UI changes:** update data-testid in components and matching selectors in page objects; align with `*.cases.md`.
43
+
44
+ # Agent requirement
45
+
46
+ When adding/changing e2e tests:
47
+ - First look at the matching `*.cases.md` and sync scenario names.
48
+ - Place specs next to plans in the same directory.
49
+ - Reuse shared page objects and helpers; do not copy selectors into every test.
@@ -1,75 +1,75 @@
1
1
  ---
2
- description: Unit и интеграционные тесты (Testing Library и runner проекта)
2
+ description: Unit and integration tests (Testing Library and project runner)
3
3
  paths:
4
4
  - "**/*.spec.{ts,tsx}"
5
5
  - "**/*.test.{ts,tsx}"
6
6
  ---
7
- # Общие правила тестирования
8
-
9
- - **Имена файлов:** для **новых** тестов использовать суффикс **`*.spec.ts` / `*.spec.ts`**. Существующие **`*.test.ts` / `*.test.tsx`** не переименовывать без отдельной задачи (легаси).
10
- - **Runner и матчеры** — как в проекте (часто Jest или Vitest); для компонентов — **@vue/test-utils**.
11
- - Основная цель тестов:
12
- - проверять **поведение и бизнес‑правила**, а не реализацию или внутренние детали.
13
- - **Именование unit‑тестов** (строки в `describe` / `it` / `test`):
14
- - формулировки **только на русском языке** — понятные бизнес‑фразы (что проверяется и какой ожидается результат);
15
- - **каждое предложение** в названии **начинается с заглавной буквы** (в том числе после `.`, `!`, `?` и при нескольких предложениях в одной строке); первая буква всей строки — тоже заглавная.
16
- - **Проверка в CI:** ESLint (`jest/valid-title` в `eslint.config.mjs`) требует, чтобы строка начиналась с русской заглавной (А–Я, Ё), и запрещает пробел после точки, за которым сразу идёт строчная буква (типичный случай нарушения «с заглавной после точки»).
17
-
18
- ```typescript
19
- // ✅ Хорошо
20
- it('Возвращает пустой список. Пользователь не авторизован', () => {})
21
- it('При ошибке сети показывается сообщение об ошибке', () => {})
22
-
23
- // ❌ Плохо (не с заглавной после точки; или не русский)
24
- it('Возвращает пустой список. пользователь не авторизован', () => {})
25
- it('Returns empty list when user is guest', () => {})
26
- ```
27
7
 
28
- # Тесты компонентов
8
+ # General testing rules
9
+
10
+ - **File names:** for **new** tests use the **`*.spec.ts` / `*.spec.ts`** suffix. Do not rename existing **`*.test.ts` / `*.test.tsx`** without a separate task (legacy).
11
+ - **Runner and matchers** — as in the project (often Jest or Vitest); for components — **@vue/test-utils**.
12
+ - Primary goal of tests:
13
+ - verify **behavior and business rules**, not implementation or internal details.
14
+ - **Unit test naming** (strings in `describe` / `it` / `test`):
15
+ - consumer apps **may use Russian locale** for titles — clear business phrases (what is checked and expected outcome);
16
+ - when ESLint enforces Russian (see below), each sentence in the title **must start with a capital letter** (including after `.`, `!`, `?` and with multiple sentences on one line); the first letter of the whole string is capitalized too.
17
+ - **CI check (when configured):** ESLint (`jest/valid-title` in `eslint.config.mjs`) may require titles to start with a Russian capital letter and forbid a space after `.` followed immediately by a lowercase letter (typical "capital after period" violation).
18
+
19
+ Good (Russian locale in consumer app):
20
+
21
+ - `it('Возвращает пустой список. Пользователь не авторизован', () => {})` <!-- i18n-keep: E5 --> (Returns empty list. User is not authorized)
22
+ - `it('При ошибке сети показывается сообщение об ошибке', () => {})` <!-- i18n-keep: E5 --> (On network error, an error message is shown)
23
+
24
+ Bad (no capital after period; or wrong locale for configured ESLint):
29
25
 
30
- - Использовать `render` из `@vue/test-utils`.
31
- - Ассерты:
32
- - матчеры DOM для Testing Library, как подключены в проекте (`toBeInTheDocument`, `toHaveTextContent` и т.п.).
33
- - Взаимодействия:
34
- - `userEvent` из `@testing-library/user-event`.
26
+ - `it('Возвращает пустой список. пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
27
+ - `it('Returns empty list when user is guest', () => {})`
35
28
 
36
- # Изоляция и моки
29
+ # Component tests
37
30
 
38
- - Для работы с API/store:
39
- - мокать store (через test‑store) или использовать принятый в проекте способ моков HTTP/API.
40
- - Не мокать то, что является частью публичного контракта фичи, если это ломает смысл теста.
31
+ - Use `render` from `@vue/test-utils`.
32
+ - Assertions:
33
+ - DOM matchers for Testing Library as wired in the project (`toBeInTheDocument`, `toHaveTextContent`, etc.).
34
+ - Interactions:
35
+ - `userEvent` from `@testing-library/user-event`.
41
36
 
42
- # HTTP‑клиент
37
+ # Isolation and mocks
43
38
 
44
- - При изменении **реализации общего HTTP‑клиента** (разбор тел, заголовки, ветки ошибок, 401/refresh, `FormData`, `blob` и т.п.) — **обновить или добавить behavior‑тесты** рядом с модулем клиента в `lib/clients/**` (предпочтительно `*.spec.ts`; легаси `*.test.ts` — не трогать без задачи).
45
- - Проверять смысловые ветки: успешный JSON, HTTP‑ошибка, сеть, релевантные для проекта сценарии авторизации.
39
+ - For API/store work:
40
+ - mock the store (via test-store) or use the project's accepted HTTP/API mock approach.
41
+ - Do not mock what is part of the feature's public contract if that breaks the test's meaning.
46
42
 
47
- # Мапперы и преобразование данных
43
+ # HTTP client
48
44
 
49
- - Функции маппинга данных (DTO -> доменная модель и обратно), особенно содержащие вычисляемые поля и ветвления, должны быть покрыты unit‑тестами.
50
- - В тестах мапперов особое внимание уделять edge‑кейсам и регрессии бизнес‑правил (например, граничные значения, отсутствие полей, неожиданные комбинации значений).
45
+ - When changing the **shared HTTP client implementation** (body parsing, headers, error branches, 401/refresh, `FormData`, `blob`, etc.) **update or add behavior tests** next to the client module in `lib/clients/**` (prefer `*.spec.ts`; legacy `*.test.ts` — do not touch without a task).
46
+ - Cover meaningful branches: successful JSON, HTTP error, network, auth scenarios relevant to the project.
51
47
 
52
- # Требование к агенту
48
+ # Mappers and data transformation
53
49
 
54
- При добавлении тестов:
55
- - Следовать существующей структуре и паттернам тестов в репозитории: файл `*.spec.ts(x)` рядом с модулем или в общем каталоге тестов как в соседних фичах.
56
- - Добавлять тесты для критичных веток логики и edge‑кейсов.
57
- - При работе с данными:
58
- - использовать **типы респонса** из API (DTO‑типы), а также **целевые доменные типы** из `@/types`, не дублировать интерфейсы в тестах;
59
- - по возможности опираться на данные и обработчики из `mocks/**` (или аналог в репо), а не плодить случайные тестовые данные "с нуля".
60
- - Размещение:
61
- - для **компонентов UI** **не создавать** поддиректорию `__tests__` внутри папки компонента; тест — соседний `*.spec.ts`.
62
- - в **других модулях** (например `api/services`) допустима уже существующая схема с `__tests__` — не ломать ради единообразия с UI.
63
- - **новые** файлы `*.spec.ts` / `*.spec.ts` (см. блок «Имена файлов» выше).
50
+ - Data mapping functions (DTO → domain model and back), especially with computed fields and branches, must have unit tests.
51
+ - In mapper tests, pay special attention to edge cases and business-rule regression (for example, boundary values, missing fields, unexpected value combinations).
52
+
53
+ # Agent requirement
54
+
55
+ When adding tests:
56
+ - Follow existing test structure and patterns in the repository: `*.spec.ts(x)` next to the module or in a shared test directory — as in neighboring features.
57
+ - Add tests for critical logic branches and edge cases.
58
+ - When working with data:
59
+ - use **response types** from the API (DTO types) and **target domain types** from `@/types`; do not duplicate interfaces in tests;
60
+ - when possible, rely on data and handlers from `mocks/**` (or repo equivalent), not ad-hoc random test data.
61
+ - Placement:
62
+ - for **UI components** — **do not create** a `__tests__` subdirectory inside the component folder; the test is a sibling `*.spec.ts`.
63
+ - in **other modules** (for example `api/services`) an existing `__tests__` layout is acceptable — do not break it for UI uniformity.
64
+ - **new** files — `*.spec.ts` / `*.spec.ts` (see "File names" above).
64
65
  ## Incorrect
65
66
 
66
67
  ```ts
67
68
  it('returns empty list when guest', () => {})
68
- it('Возвращает пустой список. пользователь не авторизован', () => {})
69
69
  ```
70
70
 
71
+ - `it('Возвращает пустой список. пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
72
+
71
73
  ## Correct
72
74
 
73
- ```ts
74
- it('Возвращает пустой список. Пользователь не авторизован', () => {})
75
- ```
75
+ - `it('Возвращает пустой список. Пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->