@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
@@ -1,95 +1,95 @@
1
1
  ---
2
- description: Паттерны React/Next UI и стилей (preset)
2
+ description: React/Next UI and styling patterns (preset)
3
3
  globs: app/src/ui/**/*.tsx,app/src/ui/**/*.ts
4
4
  alwaysApply: false
5
5
  impact: HIGH
6
6
  ---
7
7
 
8
- # Общие правила компонентов
8
+ # General component rules
9
9
 
10
- - Использовать **функциональные компоненты** с хуками, без классов.
11
- - Компонент должен:
12
- - быть максимально "тонким" по бизнес‑логике;
13
- - делегировать состояние в store/хуки, если оно нужно в нескольких местах;
14
- - опираться на **общие UI‑примитивы дизайна проекта** (пакеты или локальная библиотека компонентов), если они есть.
15
- - Перед новым кастомным контроломпоискать готовый или близкий компонент в репозитории / пакетах UI проекта и переиспользовать или расширить его.
16
- - Для повторяемой логики создавать `useSomething`‑хуки рядом или в `src/ui/hooks/**`.
17
- - При обращении к store, API, общим хелперам и утилитам компоненты и хуки должны использовать только их **public API** (например, `@/store`, `@/store/slices/Foo`, `@/lib/utils`), а не импортировать внутренние файлы реализации других модулей.
10
+ - Use **functional components** with hooks, no classes.
11
+ - A component should:
12
+ - stay as "thin" as possible on business logic;
13
+ - delegate state to store/hooks when needed in multiple places;
14
+ - rely on **shared project UI design primitives** (packages or local component library), if present.
15
+ - Before a new custom control search for an existing or close component in the repository / project UI packages and reuse or extend it.
16
+ - For repeated logic, create `useSomething` hooks nearby or in `src/ui/hooks/**`.
17
+ - When accessing store, API, shared helpers, and utilities, components and hooks must use only their **public API** (for example, `@/store`, `@/store/slices/Foo`, `@/lib/utils`), not internal implementation files of other modules.
18
18
 
19
- # Структура файлов
19
+ # File structure
20
20
 
21
- Для страницы/крупного блока:
22
- - `FeatureBlock.tsx` — JSX и композиция.
23
- - `styles.ts` или соседний модуль стилейпо конвенции репозитория (CSS Modules, CSS-in-JS, и т.д.).
24
- - `index.ts` — реэкспорт (если нужно наружу).
21
+ For a page/large block:
22
+ - `FeatureBlock.tsx` — JSX and composition.
23
+ - `styles.ts` or adjacent style moduleper repository convention (CSS Modules, CSS-in-JS, etc.).
24
+ - `index.ts` — re-export (if needed externally).
25
25
 
26
- ## Дочерние компоненты (`./components`)
26
+ ## Child components (`./components`)
27
27
 
28
- - Локальные подкомпоненты, используемые только этим блоком, выносятся в **`./components/<ComponentName>/`** относительно папки родительского компонента (не оставлять крупные куски JSX и «внутренние» компоненты в том же файле, что и родитель).
29
- - У каждого такого подкомпонента **своя** папка с тем же именем, что и публичное имя компонента:
30
- - `ComponentName.tsx` — разметка и композиция;
31
- - `styles.ts` — только стили этого подкомпонента (не тянуть `styles` соседних компонентовсм. § Стили ниже);
32
- - при необходимости — `ComponentName.data.ts`, `ComponentName.utils.ts`, `ComponentName.hooks.ts` по тем же правилам префикса, что и у родителя;
33
- - опционально `index.ts` с реэкспортом.
34
- - Родитель импортирует подкомпонент из `./components/...`, а не держит его реализацию inline.
28
+ - Local subcomponents used only by this block go in **`./components/<ComponentName>/`** relative to the parent component folder (do not leave large JSX chunks and "internal" components in the same file as the parent).
29
+ - Each subcomponent has **its own** folder with the same name as the public component:
30
+ - `ComponentName.tsx` — markup and composition;
31
+ - `styles.ts` — styles for this subcomponent only (do not import `styles` from sibling components see Styles below);
32
+ - when needed — `ComponentName.data.ts`, `ComponentName.utils.ts`, `ComponentName.hooks.ts` with the same prefix rules as the parent;
33
+ - optional `index.ts` re-export.
34
+ - The parent imports subcomponents from `./components/...`, not inline implementations.
35
35
 
36
- Для переиспользуемого компонента:
37
- - Папка с именем компонента:
36
+ For a reusable component:
37
+ - Folder named after the component:
38
38
  - `ComponentName.tsx`
39
- - файлы стилей по принятой схеме;
40
- - опционально: `types.ts`, `ComponentName.hooks.ts` (см. ниже про префикс).
39
+ - style files per project scheme;
40
+ - optional: `types.ts`, `ComponentName.hooks.ts` (see prefix rules below).
41
41
 
42
- ## Вспомогательные модули рядом с компонентом (именование)
42
+ ## Adjacent helper modules (naming)
43
43
 
44
- **Префикс имени файла = публичное имя компонента** (как у `ComponentName.tsx` в этой папке), в **PascalCase**. Не вводить отдельные «говорящие» имена файлов по смыслу содержимого (`analysisPreparationIconMap.ts`, `buildAnalysisIdToNameMap.ts` и т.п.) — так теряется связь с компонентом и плодятся одноразовые названия.
44
+ **File name prefix = public component name** (as in `ComponentName.tsx` in that folder), in **PascalCase**. Do not introduce separate "descriptive" file names by content meaning (`analysisPreparationIconMap.ts`, `buildAnalysisIdToNameMap.ts`, etc.) — that breaks the link to the component and creates one-off names.
45
45
 
46
- **Суффикс по роли:**
46
+ **Role suffix:**
47
47
 
48
- | Суффикс | Назначение | Примеры содержимого |
49
- |--------|------------|---------------------|
50
- | `ComponentName.data.ts` | Статические данные и конфигурация для UI | мапы `id → иконка/лейбл`, константы списков, таблицы соответствий для отображения |
51
- | `ComponentName.utils.ts` | Чистые функции без React | форматирование, предобработка пропсов/данных для рендера, `build…`/`map…`‑хелперы |
52
- | `ComponentName.hooks.ts` | Хуки, используемые только этим блоком | локальные `use…` (если не вынесены в `src/ui/hooks/**`) |
48
+ | Suffix | Purpose | Content examples |
49
+ |--------|---------|------------------|
50
+ | `ComponentName.data.ts` | Static data and UI configuration | `id → icon/label` maps, list constants, display lookup tables |
51
+ | `ComponentName.utils.ts` | Pure non-React functions | formatting, prop/data preprocessing for render, `build…`/`map…` helpers |
52
+ | `ComponentName.hooks.ts` | Hooks used only by this block | local `use…` (if not moved to `src/ui/hooks/**`) |
53
53
 
54
- - Несколько констант/мапов или несколько функций**по-прежнему один** `.data.ts` и один `.utils.ts`, не дробить по «темам» отдельными файлами без веской причины (размер, разные зоны ответственности на уровне подкомпонентов).
55
- - Если логика принадлежит **подкомпоненту** в подпапке (`components/Child/Child.tsx`), те же правила применяются к **`Child.data.ts`**, **`Child.utils.ts`** относительно этого подкомпонента.
56
- - Тесты для утилит и данныхрядом в `__tests__/` или с суффиксом `.test.ts`, согласно `tests-unit.mdc`, с тем же префиксом (`RequestForAnalysisRecommendations.utils.test.ts` и т.д.).
54
+ - Multiple constants/maps or multiple functionsstill **one** `.data.ts` and one `.utils.ts`; do not split by "topic" into separate files without good reason (size, different responsibility at subcomponent level).
55
+ - If logic belongs to a **subcomponent** in a subfolder (`components/Child/Child.tsx`), the same rules apply to **`Child.data.ts`**, **`Child.utils.ts`** for that subcomponent.
56
+ - Tests for utilities and datanearby in `__tests__/` or with `.test.ts` suffix per `tests-unit.mdc`, same prefix (`RequestForAnalysisRecommendations.utils.test.ts`, etc.).
57
57
 
58
- # Стили и дизайн‑токены
58
+ # Styles and design tokens
59
59
 
60
- - **Корневой** styled в соседнем `styles` — экспорт **`Root`**; в JSX: `<s.Root>` при `import * as s from './styles'`. Вложенные — `Title`, `List` и т.д. Не `Container`/`Wrapper` для единственной обёртки.
61
- - **Запрещено** импортировать `styles` другого компонента (`../Other/styles`, `../../styles`). Разрешено: `./styles`, общие примитивы из `@/ui/components/...` или пакетов дизайн-системы.
62
- - Порядок CSS / `styled` — Stylelint idiomatic-order: `css-property-order-stylelint.mdc` (грузится на `styles.ts` / `.css`).
63
- - Для визуала использовать **тот стек стилей и токенов, который уже в проекте** (переменные, тема, общие классы, дизайн‑пакет).
64
- - Избегать:
65
- - inline‑стилей, кроме простых случаев;
66
- - дублирования оформления, уже закрытого общими примитивами;
67
- - «магических» литералов (`#xxxxxx`, произвольные `17px` / `23px`), если в проекте есть токены или масштаб.
68
- - Если подходящего токена нетлокальный примитив **в одном месте** с последующим выравниванием под систему дизайна при возможности.
60
+ - **Root** styled export in adjacent `styles` — **`Root`**; in JSX: `<s.Root>` with `import * as s from './styles'`. Nested — `Title`, `List`, etc. Not `Container`/`Wrapper` for a single wrapper.
61
+ - **Forbidden** to import another component's `styles` (`../Other/styles`, `../../styles`). Allowed: `./styles`, shared primitives from `@/ui/components/...` or design-system packages.
62
+ - CSS / `styled` order — Stylelint idiomatic-order: `css-property-order-stylelint.mdc` (loads on `styles.ts` / `.css`).
63
+ - For visuals use **the style stack and tokens already in the project** (variables, theme, shared classes, design package).
64
+ - Avoid:
65
+ - inline styles except simple cases;
66
+ - duplicating styling already covered by shared primitives;
67
+ - "magic" literals (`#xxxxxx`, arbitrary `17px` / `23px`) when the project has tokens or scale.
68
+ - If no suitable token exists a local primitive **in one place**, aligned with the design system when possible.
69
69
 
70
- # Пропсы и типизация
70
+ # Props and typing
71
71
 
72
- - **Не передавать пропы в компоненты через spread** (`<Foo {...x} />`). Только явные атрибуты; подробности и исключения — `no-props-spread.mdc` (в `app/src/ui` это дополнительно ловит ESLint).
73
- - Описывать пропсы через `type Props = { ... }` или `interface Props { ... }`.
74
- - Не использовать `any`; при необходимости:
75
- - обобщения (`<T>`), `unknown`, тип‑предикаты и userdefined type guards.
76
- - Для доменных сущностей использовать типы из `@/types` (и enum из `@/types/enums`), а не описывать их заново (`public-imports.mdc`).
72
+ - **Do not pass props via spread** (`<Foo {...x} />`). Only explicit attributes; details and exceptions — `no-props-spread.mdc` (in `app/src/ui` ESLint catches this too).
73
+ - Describe props with `type Props = { ... }` or `interface Props { ... }`.
74
+ - Do not use `any`; when needed:
75
+ - generics (`<T>`), `unknown`, type predicates and user-defined type guards.
76
+ - For domain entities use types from `@/types` (and enums from `@/types/enums`), not redefined locally (`public-imports.mdc`).
77
77
 
78
- # Логика и side effects
78
+ # Logic and side effects
79
79
 
80
- - Side effects и асинхронщина:
81
- - по возможности выносить в store (thunk‑и, middleware) или в отдельные хуки.
82
- - Компоненты не должны:
83
- - напрямую знать детали API (URL, структура DTO);
84
- - заниматься маппингом "сырых" DTOтолько доменные типы;
85
- - содержать нетривиальные вычисления и преобразования данных (булевы флаги, сложная склейка строк, агрегаты и т.п.). В большинстве случаев данные для отображения должны быть подготовлены на этапах маппинга/подготовки данных (API -> доменная модель -> store), а компоненты использовать уже готовые поля.
80
+ - Side effects and async:
81
+ - when possible, move to store (thunks, middleware) or dedicated hooks.
82
+ - Components must not:
83
+ - know API details directly (URL, DTO shape);
84
+ - map "raw" DTOsonly domain types;
85
+ - contain non-trivial computations and data transforms (boolean flags, complex string concatenation, aggregates, etc.). In most cases display data should be prepared at mapping/preparation stages (API domain model store), and components use ready fields.
86
86
 
87
- # Тестирование UI
87
+ # UI testing
88
88
 
89
- - Для нетривиальных компонентов добавлять тесты:
90
- - **Testing Library** для React, как принято в проекте;
91
- - проверять поведение и бизнес‑правила, а не конкретные CSS‑классы.
92
- - В тестах ориентироваться на текст, роли и aria‑атрибуты.
89
+ - For non-trivial components add tests:
90
+ - **Testing Library** for React as adopted in the project;
91
+ - verify behavior and business rules, not specific CSS classes.
92
+ - In tests prefer text, roles, and aria attributes.
93
93
  ## Incorrect
94
94
 
95
95
  ```tsx
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Эталонные фичи репозиториякопировать структуру при реализации новых задач. Заполните пути после init в целевом репо.
2
+ description: Repository reference featurescopy structure when implementing new tasks. Fill paths after init in the target repo.
3
3
  globs:
4
4
  - app/src/ui/**/*
5
5
  - app/src/store/**/*
@@ -10,40 +10,40 @@ alwaysApply: false
10
10
 
11
11
  <!-- shared-core: architecture/reference-features.template.md -->
12
12
 
13
- # Эталонные фичи (reference features)
13
+ # Reference features
14
14
 
15
15
  ## Stack notes
16
16
 
17
- Перед реализацией найди фичу того же типа и **повтори её структуру**, не изобретая новую организацию файлов.
17
+ Before implementing, find a feature of the same type and **mirror its structure**; do not invent a new file organization.
18
18
 
19
19
  Taxonomy / shared core: [`presets/_shared/README.md`](../../../../_shared/README.md) · [Preset contribution guide](../../../../docs/PRESET-CONTRIBUTION.md).
20
20
 
21
- ## Таблица эталонов
21
+ ## Reference table
22
22
 
23
- Замени **TBD** на реальные пути после договорённости в команде (или при `ai-rules init` в целевом репо):
23
+ Replace **TBD** with real paths after team agreement (or on `ai-rules init` in the target repo):
24
24
 
25
- | Слой | Эталон | Что копировать |
26
- |------|--------|----------------|
25
+ | Layer | Reference | What to copy |
26
+ |-------|-----------|--------------|
27
27
  | UI page | **TBD** `app/src/ui/pages/<Example>/` | `components/`, `*.data.ts`, `styles.ts`, barrel |
28
28
  | Store slice | **TBD** `app/src/store/slices/<example>/` | slice, thunks, selectors, types |
29
29
  | API service | **TBD** `app/src/api/services/<example>/` | service, mappers, barrel |
30
30
  | Types module | **TBD** `app/src/types/<example>/` | domain types, JSDoc, barrel export |
31
- | Unit tests | **TBD** рядом с эталонным mapper/service | `*.spec.ts`, describe/it naming |
31
+ | Unit tests | **TBD** next to the reference mapper/service | `*.spec.ts`, describe/it naming |
32
32
  | E2E area | **TBD** `app/__tests__/e2e/<Area>/` | `*.cases.md`, page objects, `_shared/` |
33
33
 
34
- ## Как использовать
34
+ ## How to use
35
35
 
36
- 1. Определи затронутые слои из `decomposition.md` или задачи.
37
- 2. Открой эталон из таблицы (после заполнения путей).
38
- 3. Зеркаль именование, порядок файлов, паттерны импортов и тестов.
39
- 4. Если эталона нетвыбери **самую близкую** существующую фичу того же слоя и зафиксируй выбор в handoff.
36
+ 1. Identify affected layers from `decomposition.md` or the task.
37
+ 2. Open the reference from the table (after paths are filled).
38
+ 3. Mirror naming, file order, import patterns, and tests.
39
+ 4. If there is no reference pick the **closest** existing feature of the same layer and record the choice in the handoff.
40
40
 
41
41
  ## Living conventions
42
42
 
43
43
  Post-init gotchas / patterns / decisions: **`.cursor/team/conventions.md`** (and the twin tool path if both Cursor and Claude are installed). Consumer-owned; not always-on. See root `AGENTS.md` § Living conventions.
44
44
 
45
- ## Связанные правила
45
+ ## Related rules
46
46
 
47
- - `code-quality-and-refactoring.mdc` — повторять паттерны, не deep-import.
48
- - `feature-delivery-workflow.mdc` — порядок слоёв.
49
- - skill `feature-delivery` — end-to-end сценарий.
47
+ - `code-quality-and-refactoring.mdc` — repeat patterns, no deep-import.
48
+ - `feature-delivery-workflow.mdc` — layer order.
49
+ - skill `feature-delivery` — end-to-end scenario.
@@ -1,69 +1,69 @@
1
1
  ---
2
- description: Redux Toolkit и состояние приложения
2
+ description: Redux Toolkit and application state
3
3
  globs: app/src/store/**/*.ts
4
4
  alwaysApply: false
5
5
  impact: HIGH
6
6
  ---
7
7
 
8
- # Общие принципы
9
-
10
- - Использовать **Redux Toolkit**:
11
- - `createSlice`, `createAsyncThunk`, RTK Query (если используется).
12
- - Хранить в store **доменные модели**, не "сырые" DTO из API.
13
- - Все вычисления и преобразования данных (включая вычисляемые поля, булевые флаги, агрегаты, человеко‑читаемые строки и т.п.) должны выполняться **между ответом API и записью в store** — в мапперах или отдельном слое подготовки данных. Store хранит уже подготовленную доменную модель.
14
- - Разделять:
15
- - "серверное" состояние (данные из API) и
16
- - локальное UI‑состояние (выбор/фильтры/флаги).
17
-
18
- # Структура слайсов
19
-
20
- - Каждый доменный модульсвой слайс в `app/src/store/slices/**`.
21
- - Слайс экспортирует:
22
- - `reducer` по умолчанию;
23
- - `actions` именованным экспортом;
24
- - селекторы `selectSomething(state: RootState): Type`.
25
- - Состояние:
26
- - явный тип для state;
27
- - аккуратная инициализация initialState.
28
-
29
- # Асинхронность и сайд‑эффекты
30
-
31
- - Асинхронные запросы:
32
- - через `createAsyncThunk` или RTK Query.
33
- - внутри thunk:
34
- - вызывать API через сервисы, импортированные из `@/api` (**`public-imports.mdc`**);
35
- - не вызывать HTTP‑клиент напрямуютолько через эти сервисы.
36
- - Сайд‑эффекты (логирование, аналитика, работа с файлами):
37
- - выносить в middleware (`app/src/store/middleware/**`) или специализированные слайсы.
38
-
39
- # Типизация
40
-
41
- - Использовать `RootState`, `AppDispatch` и типизированные хуки `useAppDispatch`, `useAppSelector` (если есть).
42
- - **HTTP и ошибки API**:
43
- - не импортировать типы **сторонних HTTP‑библиотек**, которых нет в актуальных зависимостях и существующих слайсах (ориентир — **`package.json`** и соседние файлы);
44
- - когда сервис возвращает **обёртку ответа** прикладного клиентаиспользовать **соответствующий тип из `@/types`** (как в barrel и в аналогичных thunk’ах);
45
- - при ошибках после вызова сервисаопираться на **тот же класс/контракт ошибки транспорта**, что использует общий клиент (из `@/types`), и разбирать тело/статус **по полям текущей реализации**, а не по воображаемому API;
46
- - в **`catch`** предпочитать **`instanceof`** на класс ошибки транспорта из `@/types` (если он есть в коде) вместо голого `as`, когда это выразимо без шума (см. `no-type-assertion-as-import-export.mdc`).
47
- - Для сущностей:
48
- - доменные типы (включая вычисляемые поля) определять в `app/src/types/**`, экспортировать через barrel и импортировать в слайсы из `@/types` как **источник правды** для структуры данных (`public-imports.mdc`);
49
- - избегать дублирования описаний сущностей в нескольких местах.
50
- - **Граница домена**: в **state** хранить доменные модели; тип **обёртки ответа клиента** допустим как тип **возвращаемого значения thunk** или промежуточно до маппингабез дублирования DTO в полях state без нужды (согласовано с `api-services.mdc` и `http-client.mdc`).
51
-
52
- # Тестирование слайсов
53
-
54
- - Для важных слайсов:
55
- - тестировать редюсеры (инициализация, основные переходы состояний).
56
- - тестировать селекторы (включая edge cases).
57
- - Thunk‑и:
58
- - по возможности покрывать тестами с моками API‑слоя.
59
-
60
- # Требование к агенту
61
-
62
- При изменении/создании слайса:
63
- - Не класть логику API внутрь редюсеров/компонентов.
64
- - Строго типизировать state и actions.
65
- - Использовать единый стиль именования actions и селекторов, как в существующих слайсах.
66
- - При работе с ошибками и ответами HTTP опираться на **`http-client.mdc`** и контракты из `@/types`, а не на типы внешних HTTP‑библиотек вне зависимостей проекта.
8
+ # General principles
9
+
10
+ - Use **Redux Toolkit**:
11
+ - `createSlice`, `createAsyncThunk`, RTK Query (if used).
12
+ - Store **domain models**, not "raw" DTOs from the API.
13
+ - All data computations and transformations (including computed fields, boolean flags, aggregates, human-readable strings, etc.) must happen **between the API response and writing to store** — in mappers or a separate data-preparation layer. Store holds the prepared domain model.
14
+ - Separate:
15
+ - "server" state (data from API) and
16
+ - local UI state (selection/filters/flags).
17
+
18
+ # Slice structure
19
+
20
+ - Each domain moduleits own slice in `app/src/store/slices/**`.
21
+ - A slice exports:
22
+ - default `reducer`;
23
+ - `actions` as named exports;
24
+ - selectors `selectSomething(state: RootState): Type`.
25
+ - State:
26
+ - explicit state type;
27
+ - careful `initialState` initialization.
28
+
29
+ # Async and side effects
30
+
31
+ - Async requests:
32
+ - via `createAsyncThunk` or RTK Query.
33
+ - inside thunks:
34
+ - call API through services imported from `@/api` (**`public-imports.mdc`**);
35
+ - do not call the HTTP client directly only through those services.
36
+ - Side effects (logging, analytics, file handling):
37
+ - move to middleware (`app/src/store/middleware/**`) or specialized slices.
38
+
39
+ # Typing
40
+
41
+ - Use `RootState`, `AppDispatch`, and typed hooks `useAppDispatch`, `useAppSelector` (if present).
42
+ - **HTTP and API errors**:
43
+ - do not import types from **third-party HTTP libraries** that are not in current dependencies and existing slices (guide — **`package.json`** and neighboring files);
44
+ - when a service returns the application client's **response wrapper** use the **matching type from `@/types`** (as in the barrel and similar thunks);
45
+ - on errors after a service call rely on the **same transport error class/contract** the shared client uses (from `@/types`), and parse body/status **by fields of the current implementation**, not an imagined API;
46
+ - in **`catch`**, prefer **`instanceof`** on the transport error class from `@/types` (if present in code) over bare `as`, when expressible without noise (see `no-type-assertion-as-import-export.mdc`).
47
+ - For entities:
48
+ - define domain types (including computed fields) in `app/src/types/**`, export through barrel, import in slices from `@/types` as **source of truth** for data shape (`public-imports.mdc`);
49
+ - avoid duplicating entity descriptions in multiple places.
50
+ - **Domain boundary**: in **state**, store domain models; the client **response wrapper** type is acceptable as a thunk **return type** or interim before mapping without duplicating DTOs in state fields unnecessarily (aligned with `api-services.mdc` and `http-client.mdc`).
51
+
52
+ # Slice testing
53
+
54
+ - For important slices:
55
+ - test reducers (initialization, main state transitions).
56
+ - test selectors (including edge cases).
57
+ - Thunks:
58
+ - cover with tests and API-layer mocks when possible.
59
+
60
+ # Agent requirement
61
+
62
+ When changing/creating a slice:
63
+ - Do not put API logic inside reducers/components.
64
+ - Strictly type state and actions.
65
+ - Use a consistent naming style for actions and selectors, as in existing slices.
66
+ - For HTTP errors and responses, rely on **`http-client.mdc`** and contracts from `@/types`, not external HTTP library types outside project dependencies.
67
67
  ## Incorrect
68
68
 
69
69
  ```ts
@@ -1,16 +1,16 @@
1
1
  ---
2
- description: Роль агента для проведения технического ретроспективы (retro) команды / спринта. On-demand — предпочтительнее slash-команда /technical-retro.
2
+ description: Agent role for running a technical retrospective (retro) for a team / sprint. On-demand — prefer the /technical-retro slash command.
3
3
  alwaysApply: false
4
4
  ---
5
5
 
6
6
  <!-- shared-core: review/technical-retro.md -->
7
7
 
8
- # Техническое ретро — rule alias
8
+ # Technical retro — rule alias
9
9
 
10
- Полный сценарий (включая блок **«Работа агентов»** для slug из team tasks) в slash-команде:
10
+ Full scenario (including the **“Agent work”** block for a slug from team tasks) lives in the slash command:
11
11
 
12
12
  **`commands/technical-retro.md`** → `/technical-retro`
13
13
 
14
14
  When a task has `metrics.json`, use the local aggregation script and state the cohort, sample size, incomplete artifacts, attribution confidence, active attempt duration, and human-gate wait separately. Do not score malformed artifacts or gate wait as agent work.
15
15
 
16
- Используй rule только если command недоступен. Не дублируй содержимое command в ответеследуй command-файлу и skill `technical-retro`.
16
+ Use this rule only if the command is unavailable. Do not duplicate the command contents in the response follow the command file and skill `technical-retro`.
@@ -1,51 +1,51 @@
1
1
  ---
2
- description: Структура e2e тестов и планов (Playwright)
2
+ description: E2E test and plan structure (Playwright)
3
3
  globs: app/__tests__/e2e/**/*
4
4
  alwaysApply: false
5
5
  ---
6
6
 
7
- # Структура e2e в проекте
8
-
9
- - Папка e2e: `app/__tests__/e2e/**`.
10
- - Планы сценариев:
11
- - `*.cases.md` файлы**канонический источник сценариев**.
12
- - Тесты:
13
- - `*.spec.ts` файлыреализация сценариев на Playwright.
14
- - Общие утилиты и абстракции:
15
- - `app/__tests__/e2e/_shared/**` — константы, fluent‑интерфейсы, хелперы.
16
-
17
- # Принципы
18
-
19
- - Каждый сценарий из `*.cases.md` должен иметь соответствующий тест (или набор тестов).
20
- - **Нельзя** ослаблять проверки в тестах, если это противоречит бизнес‑ожиданиям из планов.
21
- - Предпочтительно использовать:
22
- - pageobjects (например, `OrderHistoryPage.ts`);
23
- - общие хелперы из `_shared`.
24
-
25
- # Именование e2e‑тестов
26
-
27
- - Язык:
28
- - все названия `test` / `it`, `describe`‑блоков и шагов в `*.cases.md` должны быть сформулированы **на русском языке**, описывая поведение и ожидаемый результат.
29
- - Формат заголовков e2e‑тестов (`test(...)` / `it(...)`):
30
- - перед текстовым описанием сценария указывается **префикс с номером** в формате: `ПРЕФИКС-XXX Описание сценария`.
31
- - `ПРЕФИКС` аббревиатура из **первых букв слов** тестируемой сущности, записанная **латиницей в верхнем регистре**.
32
- - пример: `OrderHistory` `OH`, `BillingReport` `BR`.
33
- - `XXX` порядковый номер теста **с тремя разрядами и лидирующими нулями**: `001`, `002`, `010`, `123` и т.д.
34
- - пример полного названия e2e‑теста:
35
- - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })`
36
- - внутри одной сущности (`ПРЕФИКС`) номера тестов должны образовывать **непротиворечивую последовательность**, без дубликатов номеров.
37
-
38
- # data-testid для e2e
39
-
40
- - **Приоритет селекторов:** `data-testid` для стабильных элементов; `getByRole` и `getByLabel` для форм и доступных элементов.
41
- - **Именование:** схема `{parent}__{element}` (например, `history-page__title`, `history-page__recognition-banner__attach-files-button`).
42
- - **Где добавлять:** на корневые контейнеры страниц и ключевые интерактивные элементы (кнопки, ссылки, поля), к которым обращаются page objects.
43
- - **При изменении UI:** обновлять data-testid в компонентах и соответствующие селекторы в page objects; сверять с `*.cases.md`.
44
-
45
- # Требование к агенту
46
-
47
- При добавлении/изменении e2e‑тестов:
48
- - Сначала смотреть соответствующий `*.cases.md` и синхронизировать названия сценариев.
49
- - Размещать спеки рядом с планами в той же директории.
50
- - Переиспользовать общие page‑objects и хелперы, а не копировать селекторы напрямую в каждый тест.
51
-
7
+ # E2E structure in the project
8
+
9
+ - E2E folder: `app/__tests__/e2e/**`.
10
+ - Scenario plans:
11
+ - `*.cases.md` files**canonical source of scenarios**.
12
+ - Tests:
13
+ - `*.spec.ts` filesPlaywright scenario implementations.
14
+ - Shared utilities and abstractions:
15
+ - `app/__tests__/e2e/_shared/**` — constants, fluent interfaces, helpers.
16
+
17
+ # Principles
18
+
19
+ - Every scenario from `*.cases.md` must have a corresponding test (or set of tests).
20
+ - **Do not** weaken assertions in tests if that contradicts business expectations from the plans.
21
+ - Prefer:
22
+ - page objects (for example, `OrderHistoryPage.ts`);
23
+ - shared helpers from `_shared`.
24
+
25
+ # E2E test naming
26
+
27
+ - Language:
28
+ - in consumer apps, `test` / `it`, `describe` block titles, and steps in `*.cases.md` **may use the project locale** (often Russian) phrasing behavior and expected outcome;
29
+ - when the repo ESLint or team convention requires Russian titles, follow that; otherwise use clear English business phrases.
30
+ - E2E test title format (`test(...)` / `it(...)`):
31
+ - before the scenario description, include a **numbered prefix** in the form: `PREFIX-XXX Scenario description`.
32
+ - `PREFIX` abbreviation from the **first letters of words** in the entity under test, written **in Latin uppercase**.
33
+ - example: `OrderHistory` `OH`, `BillingReport` `BR`.
34
+ - `XXX` sequential test number **with three digits and leading zeros**: `001`, `002`, `010`, `123`, etc.
35
+ - full e2e test title example (Russian locale in consumer app):
36
+ - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })` <!-- i18n-keep: E5 --> (Order list is displayed)
37
+ - within one entity (`PREFIX`), test numbers must form a **consistent sequence** with no duplicate numbers.
38
+
39
+ # data-testid for e2e
40
+
41
+ - **Selector priority:** `data-testid` for stable elements; `getByRole` and `getByLabel` for forms and accessible elements.
42
+ - **Naming:** `{parent}__{element}` scheme (for example, `history-page__title`, `history-page__recognition-banner__attach-files-button`).
43
+ - **Where to add:** on page root containers and key interactive elements (buttons, links, fields) that page objects target.
44
+ - **When changing UI:** update data-testid in components and matching selectors in page objects; cross-check with `*.cases.md`.
45
+
46
+ # Agent requirement
47
+
48
+ When adding/changing e2e tests:
49
+ - First read the matching `*.cases.md` and sync scenario titles.
50
+ - Place specs next to plans in the same directory.
51
+ - Reuse shared page objects and helpers instead of copying selectors directly into every test.