@bonesofspring/ai-rules 0.2.14 → 0.2.16

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 (846) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +3 -1
  3. package/bin/cli.js +2 -0
  4. package/package.json +2 -1
  5. package/presets/_shared/core/agent-team/agent-team-intake.md +2 -2
  6. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +4 -4
  7. package/presets/_shared/core/architecture/feature-delivery-workflow.md +27 -27
  8. package/presets/_shared/core/architecture/reference-features.template.md +23 -23
  9. package/presets/_shared/core/meta/preset-layering.md +12 -12
  10. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +26 -13
  11. package/presets/_shared/core/meta/preset-pr-checklist.md +6 -6
  12. package/presets/_shared/core/meta/preset-token-budget.md +3 -3
  13. package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
  14. package/presets/_shared/core/quality/code-quality-and-refactoring.md +19 -19
  15. package/presets/_shared/core/quality/design-guidance.md +54 -54
  16. package/presets/_shared/core/review/code-review-mr.md +4 -4
  17. package/presets/_shared/core/review/technical-retro.md +3 -3
  18. package/presets/claude/android-kotlin/CLAUDE.md +38 -0
  19. package/presets/claude/android-kotlin/MCP.md +16 -0
  20. package/presets/claude/android-kotlin/README.md +32 -0
  21. package/presets/claude/android-kotlin/REPO_AGENTS.md +48 -0
  22. package/presets/claude/android-kotlin/agents/README.md +44 -0
  23. package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +60 -0
  24. package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +70 -0
  25. package/presets/claude/android-kotlin/agents/build-verifier.md +67 -0
  26. package/presets/claude/android-kotlin/agents/ci-investigator.md +74 -0
  27. package/presets/claude/android-kotlin/agents/code-reviewer.md +74 -0
  28. package/presets/claude/android-kotlin/agents/codebase-analyzer.md +28 -0
  29. package/presets/claude/android-kotlin/agents/debugger.md +77 -0
  30. package/presets/claude/android-kotlin/agents/feature-developer.md +63 -0
  31. package/presets/claude/android-kotlin/agents/instrumentation-test-generator.md +19 -0
  32. package/presets/claude/android-kotlin/agents/instrumentation-test-healer.md +19 -0
  33. package/presets/claude/android-kotlin/agents/instrumentation-test-planner.md +19 -0
  34. package/presets/claude/android-kotlin/agents/migration-specialist.md +74 -0
  35. package/presets/claude/android-kotlin/agents/performance-auditor.md +67 -0
  36. package/presets/claude/android-kotlin/agents/qa-tester.md +66 -0
  37. package/presets/claude/android-kotlin/agents/security-reviewer.md +65 -0
  38. package/presets/claude/android-kotlin/agents/solution-architect.md +21 -0
  39. package/presets/claude/android-kotlin/agents/task-analyst.md +36 -0
  40. package/presets/claude/android-kotlin/agents/task-router.md +103 -0
  41. package/presets/claude/android-kotlin/agents/tech-writer.md +61 -0
  42. package/presets/claude/android-kotlin/agents/unit-test-generator.md +55 -0
  43. package/presets/claude/android-kotlin/agents/unit-test-healer.md +54 -0
  44. package/presets/claude/android-kotlin/agents/unit-test-planner.md +65 -0
  45. package/presets/claude/android-kotlin/commands/README.md +51 -0
  46. package/presets/claude/android-kotlin/commands/feature-continue.md +19 -0
  47. package/presets/claude/android-kotlin/commands/feature-start.md +33 -0
  48. package/presets/claude/android-kotlin/commands/task-continue.md +50 -0
  49. package/presets/claude/android-kotlin/commands/task.md +56 -0
  50. package/presets/claude/android-kotlin/commands/technical-retro.md +85 -0
  51. package/presets/claude/android-kotlin/hooks/README.md +16 -0
  52. package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +705 -0
  53. package/presets/claude/android-kotlin/hooks/examples/README.md +18 -0
  54. package/presets/claude/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
  55. package/presets/claude/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
  56. package/presets/claude/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
  57. package/presets/claude/android-kotlin/hooks/guard-shell-command.sh +80 -0
  58. package/presets/claude/android-kotlin/mcp.json +12 -0
  59. package/presets/claude/android-kotlin/rules/README.md +63 -0
  60. package/presets/claude/android-kotlin/rules/api-and-data/README.md +10 -0
  61. package/presets/claude/android-kotlin/rules/api-and-data/networking.md +30 -0
  62. package/presets/claude/android-kotlin/rules/api-and-data/persistence.md +29 -0
  63. package/presets/claude/android-kotlin/rules/architecture/README.md +9 -0
  64. package/presets/claude/android-kotlin/rules/architecture/boundaries.md +27 -0
  65. package/presets/claude/android-kotlin/rules/architecture/di-dagger-feature-holders.md +34 -0
  66. package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +41 -0
  67. package/presets/claude/android-kotlin/rules/architecture/module-public-api.md +29 -0
  68. package/presets/claude/android-kotlin/rules/architecture/reference-features.md +28 -0
  69. package/presets/claude/android-kotlin/rules/stack/README.md +6 -0
  70. package/presets/claude/android-kotlin/rules/stack/android-app-core.md +27 -0
  71. package/presets/claude/android-kotlin/rules/stack/kotlin-conventions.md +30 -0
  72. package/presets/claude/android-kotlin/rules/testing/README.md +10 -0
  73. package/presets/claude/android-kotlin/rules/testing/ui.md +28 -0
  74. package/presets/claude/android-kotlin/rules/testing/unit.md +29 -0
  75. package/presets/claude/android-kotlin/rules/tooling-and-review/README.md +19 -0
  76. package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-intake.md +18 -0
  77. package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +127 -0
  78. package/presets/claude/android-kotlin/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
  79. package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +52 -0
  80. package/presets/claude/android-kotlin/rules/tooling-and-review/code-review.md +88 -0
  81. package/presets/claude/android-kotlin/rules/tooling-and-review/design-guidance.md +110 -0
  82. package/presets/claude/android-kotlin/rules/tooling-and-review/gradle-tooling.md +30 -0
  83. package/presets/claude/android-kotlin/rules/tooling-and-review/post-change-build.md +34 -0
  84. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +36 -0
  85. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +100 -0
  86. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +39 -0
  87. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +41 -0
  88. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +56 -0
  89. package/presets/claude/android-kotlin/rules/tooling-and-review/security-android.md +29 -0
  90. package/presets/claude/android-kotlin/rules/tooling-and-review/technical-retro.md +18 -0
  91. package/presets/claude/android-kotlin/rules/ui-and-accessibility/README.md +7 -0
  92. package/presets/claude/android-kotlin/rules/ui-and-accessibility/compose.md +31 -0
  93. package/presets/claude/android-kotlin/rules/ui-and-accessibility/navigation.md +30 -0
  94. package/presets/claude/android-kotlin/rules/ui-and-accessibility/viewmodels.md +27 -0
  95. package/presets/claude/android-kotlin/skills/README.md +14 -0
  96. package/presets/claude/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
  97. package/presets/claude/android-kotlin/skills/code-review/SKILL.md +39 -0
  98. package/presets/claude/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
  99. package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +35 -0
  100. package/presets/claude/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
  101. package/presets/claude/android-kotlin/skills/technical-retro/SKILL.md +54 -0
  102. package/presets/claude/android-kotlin/skills/unit-testing/SKILL.md +32 -0
  103. package/presets/claude/android-kotlin/skills/write-adr/SKILL.md +41 -0
  104. package/presets/claude/android-kotlin/team/README.md +54 -0
  105. package/presets/claude/android-kotlin/team/conventions.md +17 -0
  106. package/presets/claude/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
  107. package/presets/claude/android-kotlin/team/fixtures/feature-full.json +97 -0
  108. package/presets/claude/android-kotlin/team/fixtures/feature-light.json +38 -0
  109. package/presets/claude/go/MCP.md +7 -7
  110. package/presets/claude/go/README.md +3 -3
  111. package/presets/claude/go/agents/README.md +2 -2
  112. package/presets/claude/go/agents/task-router.md +13 -13
  113. package/presets/claude/go/commands/README.md +8 -8
  114. package/presets/claude/go/commands/feature-continue.md +21 -21
  115. package/presets/claude/go/commands/feature-start.md +16 -16
  116. package/presets/claude/go/commands/task-continue.md +14 -14
  117. package/presets/claude/go/commands/task.md +32 -32
  118. package/presets/claude/go/commands/technical-retro.md +38 -38
  119. package/presets/claude/go/rules/architecture/boundaries.md +10 -10
  120. package/presets/claude/go/rules/stack/README.md +1 -1
  121. package/presets/claude/go/rules/stack/go-app-core.md +11 -11
  122. package/presets/claude/go/rules/tooling-and-review/README.md +1 -1
  123. package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +2 -2
  124. package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  125. package/presets/claude/go/rules/tooling-and-review/code-quality.md +21 -20
  126. package/presets/claude/go/rules/tooling-and-review/code-review.md +4 -4
  127. package/presets/claude/go/rules/tooling-and-review/design-guidance.md +54 -54
  128. package/presets/claude/go/rules/tooling-and-review/post-change-test.md +1 -1
  129. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +12 -13
  130. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  131. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  132. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +3 -4
  133. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -1
  134. package/presets/claude/go/rules/tooling-and-review/technical-retro.md +3 -3
  135. package/presets/claude/go/team/README.md +1 -1
  136. package/presets/claude/ios-swift/CLAUDE.md +16 -16
  137. package/presets/claude/ios-swift/MCP.md +10 -8
  138. package/presets/claude/ios-swift/README.md +8 -8
  139. package/presets/claude/ios-swift/agents/README.md +11 -11
  140. package/presets/claude/ios-swift/agents/feature-developer.md +1 -1
  141. package/presets/claude/ios-swift/agents/task-analyst.md +1 -1
  142. package/presets/claude/ios-swift/agents/task-router.md +18 -18
  143. package/presets/claude/ios-swift/commands/README.md +48 -10
  144. package/presets/claude/ios-swift/commands/feature-continue.md +9 -41
  145. package/presets/claude/ios-swift/commands/feature-start.md +19 -16
  146. package/presets/claude/ios-swift/commands/task-continue.md +14 -14
  147. package/presets/claude/ios-swift/commands/task.md +33 -33
  148. package/presets/claude/ios-swift/commands/technical-retro.md +61 -38
  149. package/presets/claude/ios-swift/rules/README.md +7 -7
  150. package/presets/claude/ios-swift/rules/api-and-data/README.md +1 -1
  151. package/presets/claude/ios-swift/rules/api-and-data/networking.md +31 -31
  152. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +13 -13
  153. package/presets/claude/ios-swift/rules/architecture/README.md +1 -1
  154. package/presets/claude/ios-swift/rules/architecture/boundaries.md +20 -20
  155. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +31 -30
  156. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +11 -11
  157. package/presets/claude/ios-swift/rules/architecture/reference-features.md +25 -22
  158. package/presets/claude/ios-swift/rules/stack/README.md +1 -1
  159. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +10 -10
  160. package/presets/claude/ios-swift/rules/stack/swift-conventions.md +17 -17
  161. package/presets/claude/ios-swift/rules/testing/README.md +1 -1
  162. package/presets/claude/ios-swift/rules/testing/ui.md +27 -27
  163. package/presets/claude/ios-swift/rules/testing/unit.md +25 -25
  164. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +5 -2
  165. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +2 -2
  166. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +51 -21
  167. package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +25 -24
  168. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +40 -39
  169. package/presets/claude/ios-swift/rules/tooling-and-review/design-guidance.md +54 -54
  170. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +18 -18
  171. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +12 -13
  172. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  173. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  174. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +3 -4
  175. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -1
  176. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +14 -14
  177. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +4 -4
  178. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +11 -11
  179. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +1 -1
  180. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +13 -13
  181. package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +39 -39
  182. package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +24 -24
  183. package/presets/claude/ios-swift/skills/README.md +3 -3
  184. package/presets/claude/ios-swift/team/README.md +6 -2
  185. package/presets/claude/java/MCP.md +5 -5
  186. package/presets/claude/java/agents/README.md +2 -2
  187. package/presets/claude/java/agents/task-router.md +13 -13
  188. package/presets/claude/java/commands/README.md +8 -8
  189. package/presets/claude/java/commands/feature-continue.md +21 -21
  190. package/presets/claude/java/commands/feature-start.md +16 -16
  191. package/presets/claude/java/commands/task-continue.md +14 -14
  192. package/presets/claude/java/commands/task.md +32 -32
  193. package/presets/claude/java/commands/technical-retro.md +38 -38
  194. package/presets/claude/java/rules/architecture/boundaries.md +10 -10
  195. package/presets/claude/java/rules/stack/README.md +1 -1
  196. package/presets/claude/java/rules/stack/java-app-core.md +9 -9
  197. package/presets/claude/java/rules/tooling-and-review/README.md +1 -1
  198. package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +2 -2
  199. package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  200. package/presets/claude/java/rules/tooling-and-review/code-quality.md +21 -20
  201. package/presets/claude/java/rules/tooling-and-review/code-review.md +5 -4
  202. package/presets/claude/java/rules/tooling-and-review/design-guidance.md +55 -54
  203. package/presets/claude/java/rules/tooling-and-review/post-change-test.md +1 -1
  204. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +12 -13
  205. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  206. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  207. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +3 -4
  208. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +2 -1
  209. package/presets/claude/java/rules/tooling-and-review/technical-retro.md +3 -3
  210. package/presets/claude/java/team/README.md +1 -1
  211. package/presets/claude/mcp-ts/MCP.md +5 -5
  212. package/presets/claude/mcp-ts/agents/task-router.md +7 -7
  213. package/presets/claude/mcp-ts/commands/README.md +1 -1
  214. package/presets/claude/mcp-ts/commands/feature-continue.md +8 -8
  215. package/presets/claude/mcp-ts/commands/feature-start.md +17 -17
  216. package/presets/claude/mcp-ts/commands/task-continue.md +14 -14
  217. package/presets/claude/mcp-ts/commands/task.md +32 -32
  218. package/presets/claude/mcp-ts/commands/technical-retro.md +54 -54
  219. package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +2 -2
  220. package/presets/claude/mcp-ts/rules/stack/mcp-ts-app-core.md +9 -9
  221. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +3 -3
  222. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  223. package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +21 -20
  224. package/presets/claude/mcp-ts/rules/tooling-and-review/code-review.md +5 -4
  225. package/presets/claude/mcp-ts/rules/tooling-and-review/design-guidance.md +55 -54
  226. package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +1 -1
  227. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +12 -13
  228. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  229. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  230. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +3 -4
  231. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +2 -1
  232. package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +3 -3
  233. package/presets/claude/next/CLAUDE.md +17 -17
  234. package/presets/claude/next/MCP.md +8 -8
  235. package/presets/claude/next/README.md +16 -16
  236. package/presets/claude/next/agents/README.md +19 -19
  237. package/presets/claude/next/agents/feature-developer.md +1 -1
  238. package/presets/claude/next/agents/task-analyst.md +1 -1
  239. package/presets/claude/next/agents/task-router.md +16 -16
  240. package/presets/claude/next/commands/README.md +9 -9
  241. package/presets/claude/next/commands/feature-continue.md +21 -21
  242. package/presets/claude/next/commands/feature-start.md +16 -16
  243. package/presets/claude/next/commands/task-continue.md +14 -14
  244. package/presets/claude/next/commands/task.md +33 -33
  245. package/presets/claude/next/commands/technical-retro.md +38 -38
  246. package/presets/claude/next/rules/README.md +12 -12
  247. package/presets/claude/next/rules/api-and-data/README.md +6 -6
  248. package/presets/claude/next/rules/api-and-data/api-services.md +42 -42
  249. package/presets/claude/next/rules/api-and-data/http-client.md +22 -21
  250. package/presets/claude/next/rules/api-and-data/store-rtk.md +60 -60
  251. package/presets/claude/next/rules/architecture/README.md +8 -8
  252. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +6 -6
  253. package/presets/claude/next/rules/architecture/architecture-boundaries.md +44 -44
  254. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +39 -39
  255. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +30 -29
  256. package/presets/claude/next/rules/architecture/public-imports.md +13 -13
  257. package/presets/claude/next/rules/architecture/reference-features.md +16 -16
  258. package/presets/claude/next/rules/stack/README.md +9 -9
  259. package/presets/claude/next/rules/stack/arrow-functions.md +7 -7
  260. package/presets/claude/next/rules/stack/navigation-router-ui.md +6 -6
  261. package/presets/claude/next/rules/stack/navigation-router.md +37 -37
  262. package/presets/claude/next/rules/stack/next-app-core.md +17 -17
  263. package/presets/claude/next/rules/stack/next-app-router.md +17 -17
  264. package/presets/claude/next/rules/stack/no-type-assertion.md +28 -28
  265. package/presets/claude/next/rules/stack/types-jsdoc.md +31 -20
  266. package/presets/claude/next/rules/testing/README.md +5 -5
  267. package/presets/claude/next/rules/testing/playwright-agents.md +1 -1
  268. package/presets/claude/next/rules/testing/tests-e2e-structure.md +48 -47
  269. package/presets/claude/next/rules/testing/tests-unit.md +50 -51
  270. package/presets/claude/next/rules/tooling-and-review/README.md +9 -9
  271. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +2 -2
  272. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  273. package/presets/claude/next/rules/tooling-and-review/code-quality.md +25 -24
  274. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +4 -4
  275. package/presets/claude/next/rules/tooling-and-review/design-guidance.md +54 -54
  276. package/presets/claude/next/rules/tooling-and-review/package-manager.md +7 -7
  277. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +22 -22
  278. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +12 -13
  279. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  280. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  281. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +3 -4
  282. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -1
  283. package/presets/claude/next/rules/tooling-and-review/technical-retro.md +4 -4
  284. package/presets/claude/next/rules/ui-and-accessibility/README.md +7 -7
  285. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +3 -3
  286. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +18 -18
  287. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +20 -20
  288. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +63 -63
  289. package/presets/claude/next/skills/README.md +4 -4
  290. package/presets/claude/next/skills/feature-delivery/SKILL.md +1 -1
  291. package/presets/claude/next/team/README.md +2 -2
  292. package/presets/claude/nuxt/CLAUDE.md +19 -19
  293. package/presets/claude/nuxt/MCP.md +8 -8
  294. package/presets/claude/nuxt/README.md +18 -18
  295. package/presets/claude/nuxt/agents/README.md +38 -31
  296. package/presets/claude/nuxt/agents/feature-developer.md +1 -1
  297. package/presets/claude/nuxt/agents/task-analyst.md +1 -1
  298. package/presets/claude/nuxt/agents/task-router.md +22 -22
  299. package/presets/claude/nuxt/commands/README.md +48 -10
  300. package/presets/claude/nuxt/commands/feature-continue.md +9 -41
  301. package/presets/claude/nuxt/commands/feature-start.md +19 -16
  302. package/presets/claude/nuxt/commands/task-continue.md +14 -14
  303. package/presets/claude/nuxt/commands/task.md +33 -33
  304. package/presets/claude/nuxt/commands/technical-retro.md +61 -38
  305. package/presets/claude/nuxt/rules/README.md +5 -5
  306. package/presets/claude/nuxt/rules/api-and-data/README.md +6 -6
  307. package/presets/claude/nuxt/rules/api-and-data/api-services.md +44 -43
  308. package/presets/claude/nuxt/rules/api-and-data/store-pinia.md +27 -26
  309. package/presets/claude/nuxt/rules/architecture/README.md +8 -8
  310. package/presets/claude/nuxt/rules/architecture/architecture-boundaries-ui.md +8 -7
  311. package/presets/claude/nuxt/rules/architecture/architecture-boundaries.md +59 -58
  312. package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +45 -44
  313. package/presets/claude/nuxt/rules/architecture/layer-barrel-exports.md +32 -31
  314. package/presets/claude/nuxt/rules/architecture/public-imports.md +15 -14
  315. package/presets/claude/nuxt/rules/architecture/reference-features.md +18 -17
  316. package/presets/claude/nuxt/rules/stack/README.md +8 -8
  317. package/presets/claude/nuxt/rules/stack/navigation-router-ui.md +6 -6
  318. package/presets/claude/nuxt/rules/stack/navigation-router.md +37 -37
  319. package/presets/claude/nuxt/rules/stack/no-type-assertion.md +30 -29
  320. package/presets/claude/nuxt/rules/stack/nuxt-app-core.md +17 -16
  321. package/presets/claude/nuxt/rules/stack/types-jsdoc.md +23 -22
  322. package/presets/claude/nuxt/rules/testing/README.md +5 -5
  323. package/presets/claude/nuxt/rules/testing/tests-e2e-structure.md +45 -45
  324. package/presets/claude/nuxt/rules/testing/tests-unit.md +52 -52
  325. package/presets/claude/nuxt/rules/tooling-and-review/README.md +9 -9
  326. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-intake.md +3 -2
  327. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +5 -4
  328. package/presets/claude/nuxt/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -0
  329. package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +26 -24
  330. package/presets/claude/nuxt/rules/tooling-and-review/code-review-mr.md +6 -5
  331. package/presets/claude/nuxt/rules/tooling-and-review/design-guidance.md +55 -54
  332. package/presets/claude/nuxt/rules/tooling-and-review/package-manager.md +9 -8
  333. package/presets/claude/nuxt/rules/tooling-and-review/post-change-lint.md +24 -23
  334. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +13 -13
  335. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +27 -14
  336. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +7 -7
  337. package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +3 -4
  338. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +3 -1
  339. package/presets/claude/nuxt/rules/tooling-and-review/technical-retro.md +5 -4
  340. package/presets/claude/nuxt/rules/ui-and-accessibility/README.md +7 -7
  341. package/presets/claude/nuxt/rules/ui-and-accessibility/vue-ui.md +7 -6
  342. package/presets/claude/nuxt/skills/README.md +4 -4
  343. package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +1 -1
  344. package/presets/claude/nuxt/team/README.md +8 -4
  345. package/presets/claude/php-hexagonal/MCP.md +7 -7
  346. package/presets/claude/php-hexagonal/agents/README.md +3 -3
  347. package/presets/claude/php-hexagonal/agents/task-router.md +12 -12
  348. package/presets/claude/php-hexagonal/commands/README.md +9 -9
  349. package/presets/claude/php-hexagonal/commands/feature-continue.md +21 -21
  350. package/presets/claude/php-hexagonal/commands/feature-start.md +16 -16
  351. package/presets/claude/php-hexagonal/commands/task-continue.md +14 -14
  352. package/presets/claude/php-hexagonal/commands/task.md +32 -32
  353. package/presets/claude/php-hexagonal/commands/technical-retro.md +38 -38
  354. package/presets/claude/php-hexagonal/rules/architecture/boundaries.md +11 -10
  355. package/presets/claude/php-hexagonal/rules/stack/README.md +1 -1
  356. package/presets/claude/php-hexagonal/rules/stack/php-app-core.md +11 -10
  357. package/presets/claude/php-hexagonal/rules/tooling-and-review/README.md +1 -1
  358. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-intake.md +2 -2
  359. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  360. package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +21 -21
  361. package/presets/claude/php-hexagonal/rules/tooling-and-review/code-review.md +4 -4
  362. package/presets/claude/php-hexagonal/rules/tooling-and-review/design-guidance.md +54 -54
  363. package/presets/claude/php-hexagonal/rules/tooling-and-review/post-change-test.md +1 -1
  364. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +12 -13
  365. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  366. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  367. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +3 -4
  368. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +2 -1
  369. package/presets/claude/php-hexagonal/rules/tooling-and-review/technical-retro.md +3 -3
  370. package/presets/claude/php-hexagonal/team/README.md +1 -1
  371. package/presets/claude/php-laravel/agents/README.md +3 -3
  372. package/presets/claude/php-laravel/agents/task-router.md +14 -14
  373. package/presets/claude/php-laravel/commands/README.md +9 -9
  374. package/presets/claude/php-laravel/commands/feature-continue.md +21 -21
  375. package/presets/claude/php-laravel/commands/feature-start.md +16 -16
  376. package/presets/claude/php-laravel/commands/task-continue.md +14 -14
  377. package/presets/claude/php-laravel/commands/task.md +32 -32
  378. package/presets/claude/php-laravel/commands/technical-retro.md +38 -38
  379. package/presets/claude/php-laravel/rules/api-and-data/events-listeners.md +1 -1
  380. package/presets/claude/php-laravel/rules/architecture/boundaries.md +11 -11
  381. package/presets/claude/php-laravel/rules/stack/laravel-app-core.md +8 -8
  382. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-intake.md +3 -2
  383. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +4 -4
  384. package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +21 -20
  385. package/presets/claude/php-laravel/rules/tooling-and-review/code-review.md +4 -5
  386. package/presets/claude/php-laravel/rules/tooling-and-review/design-guidance.md +54 -54
  387. package/presets/claude/php-laravel/rules/tooling-and-review/post-change-test.md +1 -1
  388. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +13 -13
  389. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +27 -14
  390. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +7 -7
  391. package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +4 -4
  392. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +3 -1
  393. package/presets/claude/php-laravel/rules/tooling-and-review/technical-retro.md +4 -3
  394. package/presets/claude/php-laravel/team/README.md +1 -1
  395. package/presets/claude/svelte/CLAUDE.md +17 -17
  396. package/presets/claude/svelte/MCP.md +8 -8
  397. package/presets/claude/svelte/README.md +1 -1
  398. package/presets/claude/svelte/agents/README.md +37 -30
  399. package/presets/claude/svelte/agents/feature-developer.md +1 -1
  400. package/presets/claude/svelte/agents/task-analyst.md +1 -1
  401. package/presets/claude/svelte/agents/task-router.md +19 -18
  402. package/presets/claude/svelte/commands/README.md +48 -10
  403. package/presets/claude/svelte/commands/feature-continue.md +9 -41
  404. package/presets/claude/svelte/commands/feature-start.md +19 -16
  405. package/presets/claude/svelte/commands/task-continue.md +14 -14
  406. package/presets/claude/svelte/commands/task.md +33 -33
  407. package/presets/claude/svelte/commands/technical-retro.md +61 -38
  408. package/presets/claude/svelte/rules/README.md +2 -2
  409. package/presets/claude/svelte/rules/api-and-data/README.md +6 -6
  410. package/presets/claude/svelte/rules/api-and-data/api-services.md +14 -14
  411. package/presets/claude/svelte/rules/api-and-data/store-svelte.md +26 -26
  412. package/presets/claude/svelte/rules/architecture/README.md +8 -8
  413. package/presets/claude/svelte/rules/architecture/architecture-boundaries-ui.md +7 -7
  414. package/presets/claude/svelte/rules/architecture/architecture-boundaries.md +19 -19
  415. package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +26 -26
  416. package/presets/claude/svelte/rules/architecture/layer-barrel-exports.md +31 -31
  417. package/presets/claude/svelte/rules/architecture/public-imports.md +8 -8
  418. package/presets/claude/svelte/rules/architecture/reference-features.md +18 -18
  419. package/presets/claude/svelte/rules/stack/README.md +8 -8
  420. package/presets/claude/svelte/rules/stack/navigation-router-ui.md +1 -1
  421. package/presets/claude/svelte/rules/stack/navigation-router.md +6 -6
  422. package/presets/claude/svelte/rules/stack/no-type-assertion.md +29 -29
  423. package/presets/claude/svelte/rules/stack/svelte-app-core.md +16 -16
  424. package/presets/claude/svelte/rules/stack/types-jsdoc.md +22 -22
  425. package/presets/claude/svelte/rules/testing/README.md +5 -5
  426. package/presets/claude/svelte/rules/testing/tests-e2e-structure.md +45 -46
  427. package/presets/claude/svelte/rules/testing/tests-unit.md +17 -17
  428. package/presets/claude/svelte/rules/tooling-and-review/README.md +9 -9
  429. package/presets/claude/svelte/rules/tooling-and-review/agent-team-intake.md +2 -2
  430. package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +9 -9
  431. package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +25 -24
  432. package/presets/claude/svelte/rules/tooling-and-review/code-review-mr.md +5 -5
  433. package/presets/claude/svelte/rules/tooling-and-review/design-guidance.md +54 -54
  434. package/presets/claude/svelte/rules/tooling-and-review/package-manager.md +8 -8
  435. package/presets/claude/svelte/rules/tooling-and-review/post-change-lint.md +23 -23
  436. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +12 -13
  437. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +26 -14
  438. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +6 -7
  439. package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +3 -4
  440. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +2 -1
  441. package/presets/claude/svelte/rules/tooling-and-review/technical-retro.md +4 -4
  442. package/presets/claude/svelte/rules/ui-and-accessibility/README.md +7 -7
  443. package/presets/claude/svelte/rules/ui-and-accessibility/svelte-ui.md +6 -6
  444. package/presets/claude/svelte/skills/README.md +4 -4
  445. package/presets/claude/svelte/skills/feature-delivery/SKILL.md +1 -1
  446. package/presets/claude/svelte/team/README.md +8 -4
  447. package/presets/cursor/android-kotlin/AGENTS.md +50 -0
  448. package/presets/cursor/android-kotlin/BUGBOT.md +16 -0
  449. package/presets/cursor/android-kotlin/MCP.md +16 -0
  450. package/presets/cursor/android-kotlin/README.md +35 -0
  451. package/presets/cursor/android-kotlin/REPO_AGENTS.md +48 -0
  452. package/presets/cursor/android-kotlin/agents/README.md +44 -0
  453. package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +60 -0
  454. package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +70 -0
  455. package/presets/cursor/android-kotlin/agents/build-verifier.md +67 -0
  456. package/presets/cursor/android-kotlin/agents/ci-investigator.md +74 -0
  457. package/presets/cursor/android-kotlin/agents/code-reviewer.md +74 -0
  458. package/presets/cursor/android-kotlin/agents/codebase-analyzer.md +28 -0
  459. package/presets/cursor/android-kotlin/agents/debugger.md +77 -0
  460. package/presets/cursor/android-kotlin/agents/feature-developer.md +63 -0
  461. package/presets/cursor/android-kotlin/agents/instrumentation-test-generator.md +19 -0
  462. package/presets/cursor/android-kotlin/agents/instrumentation-test-healer.md +19 -0
  463. package/presets/cursor/android-kotlin/agents/instrumentation-test-planner.md +19 -0
  464. package/presets/cursor/android-kotlin/agents/migration-specialist.md +74 -0
  465. package/presets/cursor/android-kotlin/agents/performance-auditor.md +67 -0
  466. package/presets/cursor/android-kotlin/agents/qa-tester.md +66 -0
  467. package/presets/cursor/android-kotlin/agents/security-reviewer.md +65 -0
  468. package/presets/cursor/android-kotlin/agents/solution-architect.md +21 -0
  469. package/presets/cursor/android-kotlin/agents/task-analyst.md +36 -0
  470. package/presets/cursor/android-kotlin/agents/task-router.md +103 -0
  471. package/presets/cursor/android-kotlin/agents/tech-writer.md +61 -0
  472. package/presets/cursor/android-kotlin/agents/unit-test-generator.md +55 -0
  473. package/presets/cursor/android-kotlin/agents/unit-test-healer.md +54 -0
  474. package/presets/cursor/android-kotlin/agents/unit-test-planner.md +65 -0
  475. package/presets/cursor/android-kotlin/commands/README.md +51 -0
  476. package/presets/cursor/android-kotlin/commands/feature-continue.md +19 -0
  477. package/presets/cursor/android-kotlin/commands/feature-start.md +33 -0
  478. package/presets/cursor/android-kotlin/commands/task-continue.md +50 -0
  479. package/presets/cursor/android-kotlin/commands/task.md +56 -0
  480. package/presets/cursor/android-kotlin/commands/technical-retro.md +85 -0
  481. package/presets/cursor/android-kotlin/hooks/README.md +12 -0
  482. package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +723 -0
  483. package/presets/cursor/android-kotlin/hooks/examples/README.md +18 -0
  484. package/presets/cursor/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
  485. package/presets/cursor/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
  486. package/presets/cursor/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
  487. package/presets/cursor/android-kotlin/hooks/guard-shell-command.sh +80 -0
  488. package/presets/cursor/android-kotlin/hooks.json +17 -0
  489. package/presets/cursor/android-kotlin/mcp.json +11 -0
  490. package/presets/cursor/android-kotlin/rules/README.md +61 -0
  491. package/presets/cursor/android-kotlin/rules/agent-team-intake.mdc +16 -0
  492. package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +124 -0
  493. package/presets/cursor/android-kotlin/rules/android-app-core.mdc +28 -0
  494. package/presets/cursor/android-kotlin/rules/anti-sycophancy-discipline.mdc +30 -0
  495. package/presets/cursor/android-kotlin/rules/architecture-boundaries.mdc +28 -0
  496. package/presets/cursor/android-kotlin/rules/code-quality-and-refactoring.mdc +53 -0
  497. package/presets/cursor/android-kotlin/rules/code-review-mr.mdc +84 -0
  498. package/presets/cursor/android-kotlin/rules/compose-ui.mdc +32 -0
  499. package/presets/cursor/android-kotlin/rules/design-guidance.mdc +111 -0
  500. package/presets/cursor/android-kotlin/rules/di-dagger-feature-holders.mdc +35 -0
  501. package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +36 -0
  502. package/presets/cursor/android-kotlin/rules/gradle-tooling.mdc +31 -0
  503. package/presets/cursor/android-kotlin/rules/kotlin-conventions.mdc +31 -0
  504. package/presets/cursor/android-kotlin/rules/module-public-api.mdc +30 -0
  505. package/presets/cursor/android-kotlin/rules/navigation-feature-launcher.mdc +31 -0
  506. package/presets/cursor/android-kotlin/rules/networking-data.mdc +31 -0
  507. package/presets/cursor/android-kotlin/rules/persistence-data.mdc +30 -0
  508. package/presets/cursor/android-kotlin/rules/post-change-build.mdc +30 -0
  509. package/presets/cursor/android-kotlin/rules/preset-layering.mdc +36 -0
  510. package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +100 -0
  511. package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +39 -0
  512. package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +41 -0
  513. package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +56 -0
  514. package/presets/cursor/android-kotlin/rules/reference-features.mdc +29 -0
  515. package/presets/cursor/android-kotlin/rules/security-android.mdc +30 -0
  516. package/presets/cursor/android-kotlin/rules/state-and-viewmodels.mdc +28 -0
  517. package/presets/cursor/android-kotlin/rules/technical-retro.mdc +16 -0
  518. package/presets/cursor/android-kotlin/rules/tests-ui.mdc +29 -0
  519. package/presets/cursor/android-kotlin/rules/tests-unit.mdc +30 -0
  520. package/presets/cursor/android-kotlin/skills/README.md +14 -0
  521. package/presets/cursor/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
  522. package/presets/cursor/android-kotlin/skills/code-review/SKILL.md +39 -0
  523. package/presets/cursor/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
  524. package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +35 -0
  525. package/presets/cursor/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
  526. package/presets/cursor/android-kotlin/skills/technical-retro/SKILL.md +54 -0
  527. package/presets/cursor/android-kotlin/skills/unit-testing/SKILL.md +32 -0
  528. package/presets/cursor/android-kotlin/skills/write-adr/SKILL.md +41 -0
  529. package/presets/cursor/android-kotlin/team/README.md +54 -0
  530. package/presets/cursor/android-kotlin/team/conventions.md +17 -0
  531. package/presets/cursor/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
  532. package/presets/cursor/android-kotlin/team/fixtures/feature-full.json +97 -0
  533. package/presets/cursor/android-kotlin/team/fixtures/feature-light.json +38 -0
  534. package/presets/cursor/go/AGENTS.md +10 -10
  535. package/presets/cursor/go/MCP.md +7 -7
  536. package/presets/cursor/go/README.md +4 -4
  537. package/presets/cursor/go/agents/README.md +3 -3
  538. package/presets/cursor/go/agents/task-router.md +13 -13
  539. package/presets/cursor/go/commands/README.md +23 -23
  540. package/presets/cursor/go/commands/feature-continue.md +8 -8
  541. package/presets/cursor/go/commands/feature-start.md +17 -17
  542. package/presets/cursor/go/commands/task-continue.md +14 -14
  543. package/presets/cursor/go/commands/task.md +32 -32
  544. package/presets/cursor/go/commands/technical-retro.md +49 -49
  545. package/presets/cursor/go/rules/README.md +3 -3
  546. package/presets/cursor/go/rules/agent-team-intake.mdc +2 -2
  547. package/presets/cursor/go/rules/agent-team-orchestrator.mdc +4 -4
  548. package/presets/cursor/go/rules/architecture-boundaries.mdc +10 -10
  549. package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +21 -20
  550. package/presets/cursor/go/rules/code-review-mr.mdc +4 -4
  551. package/presets/cursor/go/rules/design-guidance.mdc +54 -54
  552. package/presets/cursor/go/rules/go-app-core.mdc +11 -11
  553. package/presets/cursor/go/rules/post-change-test.mdc +1 -1
  554. package/presets/cursor/go/rules/preset-layering.mdc +12 -13
  555. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +26 -14
  556. package/presets/cursor/go/rules/preset-pr-checklist.mdc +6 -7
  557. package/presets/cursor/go/rules/preset-token-budget.mdc +3 -4
  558. package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -1
  559. package/presets/cursor/go/rules/technical-retro.mdc +3 -3
  560. package/presets/cursor/go/team/README.md +1 -1
  561. package/presets/cursor/ios-swift/AGENTS.md +20 -20
  562. package/presets/cursor/ios-swift/MCP.md +8 -8
  563. package/presets/cursor/ios-swift/README.md +9 -9
  564. package/presets/cursor/ios-swift/agents/README.md +7 -7
  565. package/presets/cursor/ios-swift/agents/feature-developer.md +1 -1
  566. package/presets/cursor/ios-swift/agents/task-analyst.md +1 -1
  567. package/presets/cursor/ios-swift/agents/task-router.md +16 -16
  568. package/presets/cursor/ios-swift/commands/README.md +23 -23
  569. package/presets/cursor/ios-swift/commands/feature-continue.md +8 -8
  570. package/presets/cursor/ios-swift/commands/feature-start.md +17 -17
  571. package/presets/cursor/ios-swift/commands/task-continue.md +14 -14
  572. package/presets/cursor/ios-swift/commands/task.md +33 -33
  573. package/presets/cursor/ios-swift/commands/technical-retro.md +50 -50
  574. package/presets/cursor/ios-swift/rules/README.md +23 -23
  575. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +2 -2
  576. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +2 -2
  577. package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +20 -20
  578. package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +25 -24
  579. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +40 -40
  580. package/presets/cursor/ios-swift/rules/design-guidance.mdc +54 -54
  581. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +30 -30
  582. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +10 -10
  583. package/presets/cursor/ios-swift/rules/module-public-api.mdc +11 -11
  584. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +13 -13
  585. package/presets/cursor/ios-swift/rules/networking-services.mdc +31 -31
  586. package/presets/cursor/ios-swift/rules/persistence-data.mdc +13 -13
  587. package/presets/cursor/ios-swift/rules/post-change-build.mdc +18 -18
  588. package/presets/cursor/ios-swift/rules/preset-layering.mdc +12 -13
  589. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +26 -14
  590. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +6 -7
  591. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +3 -4
  592. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -1
  593. package/presets/cursor/ios-swift/rules/reference-features.mdc +22 -22
  594. package/presets/cursor/ios-swift/rules/security-ios.mdc +14 -14
  595. package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +24 -24
  596. package/presets/cursor/ios-swift/rules/swift-conventions.mdc +17 -17
  597. package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +39 -39
  598. package/presets/cursor/ios-swift/rules/technical-retro.mdc +4 -4
  599. package/presets/cursor/ios-swift/rules/tests-ui.mdc +27 -26
  600. package/presets/cursor/ios-swift/rules/tests-unit.mdc +25 -25
  601. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +11 -11
  602. package/presets/cursor/ios-swift/skills/README.md +3 -3
  603. package/presets/cursor/ios-swift/team/README.md +1 -1
  604. package/presets/cursor/java/AGENTS.md +10 -10
  605. package/presets/cursor/java/MCP.md +6 -6
  606. package/presets/cursor/java/agents/README.md +3 -3
  607. package/presets/cursor/java/agents/task-router.md +13 -13
  608. package/presets/cursor/java/commands/README.md +23 -23
  609. package/presets/cursor/java/commands/feature-continue.md +8 -8
  610. package/presets/cursor/java/commands/feature-start.md +17 -17
  611. package/presets/cursor/java/commands/task-continue.md +14 -14
  612. package/presets/cursor/java/commands/task.md +32 -32
  613. package/presets/cursor/java/commands/technical-retro.md +49 -49
  614. package/presets/cursor/java/rules/README.md +2 -2
  615. package/presets/cursor/java/rules/agent-team-intake.mdc +2 -2
  616. package/presets/cursor/java/rules/agent-team-orchestrator.mdc +4 -4
  617. package/presets/cursor/java/rules/architecture-boundaries.mdc +10 -10
  618. package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +21 -20
  619. package/presets/cursor/java/rules/code-review-mr.mdc +4 -4
  620. package/presets/cursor/java/rules/design-guidance.mdc +54 -54
  621. package/presets/cursor/java/rules/java-app-core.mdc +9 -9
  622. package/presets/cursor/java/rules/post-change-test.mdc +1 -1
  623. package/presets/cursor/java/rules/preset-layering.mdc +12 -13
  624. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +26 -14
  625. package/presets/cursor/java/rules/preset-pr-checklist.mdc +6 -7
  626. package/presets/cursor/java/rules/preset-token-budget.mdc +3 -4
  627. package/presets/cursor/java/rules/preset-twin-sync.mdc +2 -1
  628. package/presets/cursor/java/rules/technical-retro.mdc +3 -3
  629. package/presets/cursor/java/team/README.md +1 -1
  630. package/presets/cursor/mcp-ts/AGENTS.md +6 -6
  631. package/presets/cursor/mcp-ts/MCP.md +5 -5
  632. package/presets/cursor/mcp-ts/agents/task-router.md +7 -7
  633. package/presets/cursor/mcp-ts/commands/README.md +1 -1
  634. package/presets/cursor/mcp-ts/commands/feature-continue.md +8 -8
  635. package/presets/cursor/mcp-ts/commands/feature-start.md +17 -17
  636. package/presets/cursor/mcp-ts/commands/task-continue.md +14 -14
  637. package/presets/cursor/mcp-ts/commands/task.md +32 -32
  638. package/presets/cursor/mcp-ts/commands/technical-retro.md +50 -50
  639. package/presets/cursor/mcp-ts/rules/README.md +1 -1
  640. package/presets/cursor/mcp-ts/rules/agent-team-intake.mdc +3 -3
  641. package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +4 -4
  642. package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +21 -20
  643. package/presets/cursor/mcp-ts/rules/code-review-mr.mdc +5 -4
  644. package/presets/cursor/mcp-ts/rules/design-guidance.mdc +55 -54
  645. package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +2 -2
  646. package/presets/cursor/mcp-ts/rules/mcp-ts-app-core.mdc +9 -9
  647. package/presets/cursor/mcp-ts/rules/post-change-test.mdc +1 -1
  648. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +12 -13
  649. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +26 -14
  650. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +6 -7
  651. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +3 -4
  652. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +2 -1
  653. package/presets/cursor/mcp-ts/rules/technical-retro.mdc +3 -3
  654. package/presets/cursor/next/AGENTS.md +15 -15
  655. package/presets/cursor/next/MCP.md +9 -9
  656. package/presets/cursor/next/README.md +9 -9
  657. package/presets/cursor/next/agents/README.md +22 -22
  658. package/presets/cursor/next/agents/feature-developer.md +1 -1
  659. package/presets/cursor/next/agents/task-analyst.md +1 -1
  660. package/presets/cursor/next/agents/task-router.md +16 -16
  661. package/presets/cursor/next/commands/README.md +22 -22
  662. package/presets/cursor/next/commands/feature-continue.md +8 -8
  663. package/presets/cursor/next/commands/feature-start.md +17 -17
  664. package/presets/cursor/next/commands/task-continue.md +14 -14
  665. package/presets/cursor/next/commands/task.md +33 -33
  666. package/presets/cursor/next/commands/technical-retro.md +49 -49
  667. package/presets/cursor/next/rules/README.md +52 -52
  668. package/presets/cursor/next/rules/agent-team-intake.mdc +2 -2
  669. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +4 -4
  670. package/presets/cursor/next/rules/api-services.mdc +43 -43
  671. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +7 -7
  672. package/presets/cursor/next/rules/architecture-boundaries.mdc +45 -45
  673. package/presets/cursor/next/rules/arrow-functions.mdc +8 -8
  674. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +25 -24
  675. package/presets/cursor/next/rules/code-review-mr.mdc +5 -5
  676. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +4 -4
  677. package/presets/cursor/next/rules/design-guidance.mdc +54 -54
  678. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +43 -43
  679. package/presets/cursor/next/rules/http-client.mdc +23 -22
  680. package/presets/cursor/next/rules/layer-barrel-exports.mdc +31 -30
  681. package/presets/cursor/next/rules/navigation-router-stack.mdc +37 -37
  682. package/presets/cursor/next/rules/navigation-router-ui.mdc +7 -7
  683. package/presets/cursor/next/rules/next-app-core.mdc +16 -16
  684. package/presets/cursor/next/rules/next-app-router.mdc +17 -17
  685. package/presets/cursor/next/rules/no-props-spread.mdc +20 -20
  686. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +29 -29
  687. package/presets/cursor/next/rules/package-manager.mdc +8 -8
  688. package/presets/cursor/next/rules/post-change-lint.mdc +22 -22
  689. package/presets/cursor/next/rules/preset-layering.mdc +12 -13
  690. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +26 -14
  691. package/presets/cursor/next/rules/preset-pr-checklist.mdc +6 -7
  692. package/presets/cursor/next/rules/preset-token-budget.mdc +3 -4
  693. package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -1
  694. package/presets/cursor/next/rules/public-imports.mdc +14 -14
  695. package/presets/cursor/next/rules/react-a11y-coding.mdc +21 -21
  696. package/presets/cursor/next/rules/react-ui.mdc +66 -66
  697. package/presets/cursor/next/rules/reference-features.mdc +17 -17
  698. package/presets/cursor/next/rules/store-rtk.mdc +60 -60
  699. package/presets/cursor/next/rules/technical-retro.mdc +4 -4
  700. package/presets/cursor/next/rules/tests-e2e-structure.mdc +46 -46
  701. package/presets/cursor/next/rules/tests-unit.mdc +51 -52
  702. package/presets/cursor/next/rules/types-jsdoc.mdc +29 -22
  703. package/presets/cursor/next/skills/feature-delivery/SKILL.md +1 -1
  704. package/presets/cursor/next/team/README.md +2 -2
  705. package/presets/cursor/nuxt/AGENTS.md +15 -15
  706. package/presets/cursor/nuxt/MCP.md +9 -9
  707. package/presets/cursor/nuxt/README.md +10 -10
  708. package/presets/cursor/nuxt/agents/README.md +30 -30
  709. package/presets/cursor/nuxt/agents/feature-developer.md +1 -1
  710. package/presets/cursor/nuxt/agents/task-analyst.md +1 -1
  711. package/presets/cursor/nuxt/agents/task-router.md +16 -16
  712. package/presets/cursor/nuxt/commands/README.md +24 -24
  713. package/presets/cursor/nuxt/commands/feature-continue.md +8 -8
  714. package/presets/cursor/nuxt/commands/feature-start.md +17 -17
  715. package/presets/cursor/nuxt/commands/task-continue.md +14 -14
  716. package/presets/cursor/nuxt/commands/task.md +33 -33
  717. package/presets/cursor/nuxt/commands/technical-retro.md +50 -50
  718. package/presets/cursor/nuxt/rules/README.md +53 -53
  719. package/presets/cursor/nuxt/rules/agent-team-intake.mdc +2 -2
  720. package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +4 -4
  721. package/presets/cursor/nuxt/rules/api-services.mdc +43 -43
  722. package/presets/cursor/nuxt/rules/architecture-boundaries-ui.mdc +7 -7
  723. package/presets/cursor/nuxt/rules/architecture-boundaries.mdc +58 -58
  724. package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +25 -24
  725. package/presets/cursor/nuxt/rules/code-review-mr.mdc +5 -5
  726. package/presets/cursor/nuxt/rules/design-guidance.mdc +54 -54
  727. package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +44 -44
  728. package/presets/cursor/nuxt/rules/layer-barrel-exports.mdc +31 -31
  729. package/presets/cursor/nuxt/rules/navigation-router-stack.mdc +38 -38
  730. package/presets/cursor/nuxt/rules/navigation-router-ui.mdc +7 -7
  731. package/presets/cursor/nuxt/rules/no-type-assertion-as-import-export.mdc +29 -29
  732. package/presets/cursor/nuxt/rules/nuxt-app-core.mdc +16 -16
  733. package/presets/cursor/nuxt/rules/package-manager.mdc +8 -8
  734. package/presets/cursor/nuxt/rules/post-change-lint.mdc +23 -23
  735. package/presets/cursor/nuxt/rules/preset-layering.mdc +12 -13
  736. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +26 -14
  737. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +6 -7
  738. package/presets/cursor/nuxt/rules/preset-token-budget.mdc +3 -4
  739. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +2 -1
  740. package/presets/cursor/nuxt/rules/public-imports.mdc +14 -14
  741. package/presets/cursor/nuxt/rules/reference-features.mdc +17 -17
  742. package/presets/cursor/nuxt/rules/store-pinia.mdc +26 -26
  743. package/presets/cursor/nuxt/rules/technical-retro.mdc +4 -4
  744. package/presets/cursor/nuxt/rules/tests-e2e-structure.mdc +45 -46
  745. package/presets/cursor/nuxt/rules/tests-unit.mdc +51 -52
  746. package/presets/cursor/nuxt/rules/types-jsdoc.mdc +22 -22
  747. package/presets/cursor/nuxt/rules/vue-ui.mdc +6 -6
  748. package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +1 -1
  749. package/presets/cursor/nuxt/team/README.md +2 -2
  750. package/presets/cursor/php-hexagonal/AGENTS.md +11 -11
  751. package/presets/cursor/php-hexagonal/MCP.md +7 -7
  752. package/presets/cursor/php-hexagonal/agents/README.md +4 -4
  753. package/presets/cursor/php-hexagonal/agents/task-router.md +12 -12
  754. package/presets/cursor/php-hexagonal/commands/README.md +25 -25
  755. package/presets/cursor/php-hexagonal/commands/feature-continue.md +8 -8
  756. package/presets/cursor/php-hexagonal/commands/feature-start.md +17 -17
  757. package/presets/cursor/php-hexagonal/commands/task-continue.md +14 -14
  758. package/presets/cursor/php-hexagonal/commands/task.md +32 -32
  759. package/presets/cursor/php-hexagonal/commands/technical-retro.md +49 -49
  760. package/presets/cursor/php-hexagonal/rules/README.md +2 -2
  761. package/presets/cursor/php-hexagonal/rules/agent-team-intake.mdc +2 -2
  762. package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +4 -4
  763. package/presets/cursor/php-hexagonal/rules/architecture-boundaries.mdc +10 -10
  764. package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +20 -20
  765. package/presets/cursor/php-hexagonal/rules/code-review-mr.mdc +4 -4
  766. package/presets/cursor/php-hexagonal/rules/design-guidance.mdc +54 -54
  767. package/presets/cursor/php-hexagonal/rules/php-app-core.mdc +10 -10
  768. package/presets/cursor/php-hexagonal/rules/post-change-test.mdc +1 -1
  769. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +12 -13
  770. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +26 -14
  771. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +6 -7
  772. package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +3 -4
  773. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +2 -1
  774. package/presets/cursor/php-hexagonal/rules/technical-retro.mdc +3 -3
  775. package/presets/cursor/php-hexagonal/team/README.md +1 -1
  776. package/presets/cursor/php-laravel/AGENTS.md +10 -10
  777. package/presets/cursor/php-laravel/agents/README.md +4 -4
  778. package/presets/cursor/php-laravel/agents/task-router.md +14 -14
  779. package/presets/cursor/php-laravel/commands/README.md +25 -25
  780. package/presets/cursor/php-laravel/commands/feature-continue.md +8 -8
  781. package/presets/cursor/php-laravel/commands/feature-start.md +17 -17
  782. package/presets/cursor/php-laravel/commands/task-continue.md +14 -14
  783. package/presets/cursor/php-laravel/commands/task.md +32 -32
  784. package/presets/cursor/php-laravel/commands/technical-retro.md +50 -50
  785. package/presets/cursor/php-laravel/rules/README.md +2 -2
  786. package/presets/cursor/php-laravel/rules/agent-team-intake.mdc +2 -2
  787. package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +4 -4
  788. package/presets/cursor/php-laravel/rules/architecture-boundaries.mdc +11 -11
  789. package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +20 -20
  790. package/presets/cursor/php-laravel/rules/code-review-mr.mdc +4 -5
  791. package/presets/cursor/php-laravel/rules/design-guidance.mdc +54 -54
  792. package/presets/cursor/php-laravel/rules/events-listeners.mdc +1 -1
  793. package/presets/cursor/php-laravel/rules/laravel-app-core.mdc +8 -8
  794. package/presets/cursor/php-laravel/rules/post-change-test.mdc +1 -1
  795. package/presets/cursor/php-laravel/rules/preset-layering.mdc +12 -13
  796. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +26 -14
  797. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +6 -7
  798. package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +3 -4
  799. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +2 -1
  800. package/presets/cursor/php-laravel/rules/technical-retro.mdc +3 -3
  801. package/presets/cursor/php-laravel/team/README.md +1 -1
  802. package/presets/cursor/svelte/AGENTS.md +15 -15
  803. package/presets/cursor/svelte/MCP.md +9 -9
  804. package/presets/cursor/svelte/README.md +9 -9
  805. package/presets/cursor/svelte/agents/README.md +29 -29
  806. package/presets/cursor/svelte/agents/feature-developer.md +1 -1
  807. package/presets/cursor/svelte/agents/task-analyst.md +1 -1
  808. package/presets/cursor/svelte/agents/task-router.md +16 -16
  809. package/presets/cursor/svelte/commands/README.md +24 -24
  810. package/presets/cursor/svelte/commands/feature-continue.md +8 -8
  811. package/presets/cursor/svelte/commands/feature-start.md +17 -17
  812. package/presets/cursor/svelte/commands/task-continue.md +14 -14
  813. package/presets/cursor/svelte/commands/task.md +33 -33
  814. package/presets/cursor/svelte/commands/technical-retro.md +50 -50
  815. package/presets/cursor/svelte/rules/README.md +34 -34
  816. package/presets/cursor/svelte/rules/agent-team-intake.mdc +2 -2
  817. package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +4 -4
  818. package/presets/cursor/svelte/rules/api-services.mdc +14 -14
  819. package/presets/cursor/svelte/rules/architecture-boundaries-ui.mdc +7 -7
  820. package/presets/cursor/svelte/rules/architecture-boundaries.mdc +19 -19
  821. package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +25 -24
  822. package/presets/cursor/svelte/rules/code-review-mr.mdc +5 -5
  823. package/presets/cursor/svelte/rules/design-guidance.mdc +54 -54
  824. package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +26 -26
  825. package/presets/cursor/svelte/rules/layer-barrel-exports.mdc +31 -31
  826. package/presets/cursor/svelte/rules/navigation-router-stack.mdc +6 -6
  827. package/presets/cursor/svelte/rules/navigation-router-ui.mdc +1 -1
  828. package/presets/cursor/svelte/rules/no-type-assertion-as-import-export.mdc +29 -29
  829. package/presets/cursor/svelte/rules/package-manager.mdc +8 -8
  830. package/presets/cursor/svelte/rules/post-change-lint.mdc +23 -23
  831. package/presets/cursor/svelte/rules/preset-layering.mdc +12 -13
  832. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +26 -14
  833. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +6 -7
  834. package/presets/cursor/svelte/rules/preset-token-budget.mdc +3 -4
  835. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +2 -1
  836. package/presets/cursor/svelte/rules/public-imports.mdc +8 -8
  837. package/presets/cursor/svelte/rules/reference-features.mdc +17 -17
  838. package/presets/cursor/svelte/rules/store-svelte.mdc +26 -26
  839. package/presets/cursor/svelte/rules/svelte-app-core.mdc +16 -16
  840. package/presets/cursor/svelte/rules/svelte-ui.mdc +6 -6
  841. package/presets/cursor/svelte/rules/technical-retro.mdc +4 -4
  842. package/presets/cursor/svelte/rules/tests-e2e-structure.mdc +45 -46
  843. package/presets/cursor/svelte/rules/tests-unit.mdc +17 -17
  844. package/presets/cursor/svelte/rules/types-jsdoc.mdc +22 -22
  845. package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +1 -1
  846. package/presets/cursor/svelte/team/README.md +2 -2
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Unit и интеграционные тесты (Testing Library и runner проекта)
2
+ description: Unit and integration tests (Testing Library and project runner)
3
3
  globs:
4
4
  - **/*.spec.{ts,tsx}
5
5
  - **/*.test.{ts,tsx}
@@ -7,72 +7,71 @@ alwaysApply: false
7
7
  impact: MEDIUM
8
8
  ---
9
9
 
10
- # Общие правила тестирования
11
-
12
- - **Имена файлов:** для **новых** тестов использовать суффикс **`*.spec.ts` / `*.spec.ts`**. Существующие **`*.test.ts` / `*.test.tsx`** не переименовывать без отдельной задачи (легаси).
13
- - **Runner и матчеры**как в проекте (часто Jest или Vitest); для компонентов — **@vue/test-utils**.
14
- - Основная цель тестов:
15
- - проверять **поведение и бизнес‑правила**, а не реализацию или внутренние детали.
16
- - **Именование unit‑тестов** (строки в `describe` / `it` / `test`):
17
- - формулировки **только на русском языке**понятные бизнес‑фразы (что проверяется и какой ожидается результат);
18
- - **каждое предложение** в названии **начинается с заглавной буквы** том числе после `.`, `!`, `?` и при нескольких предложениях в одной строке); первая буква всей строки тоже заглавная.
19
- - **Проверка в CI:** ESLint (`jest/valid-title` в `eslint.config.mjs`) требует, чтобы строка начиналась с русской заглавной (А–Я, Ё), и запрещает пробел после точки, за которым сразу идёт строчная буква (типичный случай нарушения «с заглавной после точки»).
20
-
21
- ```typescript
22
- // ✅ Хорошо
23
- it('Возвращает пустой список. Пользователь не авторизован', () => {})
24
- it('При ошибке сети показывается сообщение об ошибке', () => {})
25
-
26
- // Плохо (не с заглавной после точки; или не русский)
27
- it('Возвращает пустой список. пользователь не авторизован', () => {})
28
- it('Returns empty list when user is guest', () => {})
29
- ```
10
+ # General testing rules
11
+
12
+ - **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).
13
+ - **Runner and matchers**as in the project (often Jest or Vitest); for components — **@vue/test-utils**.
14
+ - Primary goal of tests:
15
+ - verify **behavior and business rules**, not implementation or internal details.
16
+ - **Unit test naming** (strings in `describe` / `it` / `test`):
17
+ - consumer apps **may use Russian locale** for titles clear business phrases (what is checked and expected outcome);
18
+ - 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.
19
+ - **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).
20
+
21
+ Good (Russian locale in consumer app):
22
+
23
+ - `it('Возвращает пустой список. Пользователь не авторизован', () => {})` <!-- i18n-keep: E5 --> (Returns empty list. User is not authorized)
24
+ - `it('При ошибке сети показывается сообщение об ошибке', () => {})` <!-- i18n-keep: E5 --> (On network error, an error message is shown)
25
+
26
+ Bad (no capital after period; or wrong locale for configured ESLint):
30
27
 
31
- # Тесты компонентов
28
+ - `it('Возвращает пустой список. пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
29
+ - `it('Returns empty list when user is guest', () => {})`
32
30
 
33
- - Использовать `render` из `@vue/test-utils`.
34
- - Ассерты:
35
- - матчеры DOM для Testing Library, как подключены в проекте (`toBeInTheDocument`, `toHaveTextContent` и т.п.).
36
- - Взаимодействия:
37
- - `userEvent` из `@testing-library/user-event`.
31
+ # Component tests
38
32
 
39
- # Изоляция и моки
33
+ - Use `render` from `@vue/test-utils`.
34
+ - Assertions:
35
+ - DOM matchers for Testing Library as wired in the project (`toBeInTheDocument`, `toHaveTextContent`, etc.).
36
+ - Interactions:
37
+ - `userEvent` from `@testing-library/user-event`.
40
38
 
41
- - Для работы с API/store:
42
- - мокать store (через test‑store) или использовать принятый в проекте способ моков HTTP/API.
43
- - Не мокать то, что является частью публичного контракта фичи, если это ломает смысл теста.
39
+ # Isolation and mocks
44
40
 
45
- # HTTP‑клиент
41
+ - For API/store work:
42
+ - mock the store (via test-store) or use the project's accepted HTTP/API mock approach.
43
+ - Do not mock what is part of the feature's public contract if that breaks the test's meaning.
46
44
 
47
- - При изменении **реализации общего HTTP‑клиента** (разбор тел, заголовки, ветки ошибок, 401/refresh, `FormData`, `blob` и т.п.) — **обновить или добавить behavior‑тесты** рядом с модулем клиента в `lib/clients/**` (предпочтительно `*.spec.ts`; легаси `*.test.ts` — не трогать без задачи).
48
- - Проверять смысловые ветки: успешный JSON, HTTP‑ошибка, сеть, релевантные для проекта сценарии авторизации.
45
+ # HTTP client
49
46
 
50
- # Мапперы и преобразование данных
47
+ - 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).
48
+ - Cover meaningful branches: successful JSON, HTTP error, network, auth scenarios relevant to the project.
51
49
 
52
- - Функции маппинга данных (DTO -> доменная модель и обратно), особенно содержащие вычисляемые поля и ветвления, должны быть покрыты unit‑тестами.
53
- - В тестах мапперов особое внимание уделять edge‑кейсам и регрессии бизнес‑правил (например, граничные значения, отсутствие полей, неожиданные комбинации значений).
50
+ # Mappers and data transformation
54
51
 
55
- # Требование к агенту
52
+ - Data mapping functions (DTO → domain model and back), especially with computed fields and branches, must have unit tests.
53
+ - In mapper tests, pay special attention to edge cases and business-rule regression (for example, boundary values, missing fields, unexpected value combinations).
56
54
 
57
- При добавлении тестов:
58
- - Следовать существующей структуре и паттернам тестов в репозитории: файл `*.spec.ts(x)` рядом с модулем или в общем каталоге тестов — как в соседних фичах.
59
- - Добавлять тесты для критичных веток логики и edge‑кейсов.
60
- - При работе с данными:
61
- - использовать **типы респонса** из API (DTO‑типы), а также **целевые доменные типы** из `@/types`, не дублировать интерфейсы в тестах;
62
- - по возможности опираться на данные и обработчики из `mocks/**` (или аналог в репо), а не плодить случайные тестовые данные "с нуля".
63
- - Размещение:
64
- - для **компонентов UI** **не создавать** поддиректорию `__tests__` внутри папки компонента; тест соседний `*.spec.ts`.
65
- - в **других модулях** (например `api/services`) допустима уже существующая схема с `__tests__` — не ломать ради единообразия с UI.
66
- - **новые** файлы`*.spec.ts` / `*.spec.ts` (см. блок «Имена файлов» выше).
55
+ # Agent requirement
56
+
57
+ When adding tests:
58
+ - 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.
59
+ - Add tests for critical logic branches and edge cases.
60
+ - When working with data:
61
+ - use **response types** from the API (DTO types) and **target domain types** from `@/types`; do not duplicate interfaces in tests;
62
+ - when possible, rely on data and handlers from `mocks/**` (or repo equivalent), not ad-hoc random test data.
63
+ - Placement:
64
+ - for **UI components** **do not create** a `__tests__` subdirectory inside the component folder; the test is a sibling `*.spec.ts`.
65
+ - in **other modules** (for example `api/services`) an existing `__tests__` layout is acceptable — do not break it for UI uniformity.
66
+ - **new** files — `*.spec.ts` / `*.spec.ts` (see "File names" above).
67
67
  ## Incorrect
68
68
 
69
69
  ```ts
70
70
  it('returns empty list when guest', () => {})
71
- it('Возвращает пустой список. пользователь не авторизован', () => {})
72
71
  ```
73
72
 
73
+ - `it('Возвращает пустой список. пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
74
+
74
75
  ## Correct
75
76
 
76
- ```ts
77
- it('Возвращает пустой список. Пользователь не авторизован', () => {})
78
- ```
77
+ - `it('Возвращает пустой список. Пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
@@ -1,42 +1,42 @@
1
1
  ---
2
- description: Стиль JSDoc для доменных и транспортных типов в types
2
+ description: JSDoc style for domain and transport types under types
3
3
  globs: types/**/*.ts
4
4
  alwaysApply: false
5
5
  ---
6
6
 
7
- # Документация типов в `types`
7
+ # Type documentation in `types`
8
8
 
9
- При добавлении или существенном изменении типов в этом слое **следовать уже принятому в репозитории стилю JSDoc** (см. примеры: `User.types.ts`, `Common.types.ts`, `ServerValidation.types.ts`, `TreatmentPlan/*.types.ts`).
9
+ 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
10
 
11
- ## Язык и форма
11
+ ## Language and form
12
12
 
13
- - Текст комментариев**на русском**, кратко и по делу: что означает тип или поле в предметной области или в контракте с API.
14
- - **Не опираться** на теги в духе `@param`, `@returns`, `@see`, `@deprecated` для описания типовв этом слое они **не используются**; достаточно обычного текста в `/** … */`.
13
+ - Comment text**in Russian**, short and to the point: what the type or field means in the domain or API contract.
14
+ - **Do not rely** on tags like `@param`, `@returns`, `@see`, `@deprecated` for type descriptionsthey are **not used** in this layer; plain `/** … */` text is enough.
15
15
 
16
- ## Экспортируемый `type` / `interface`
16
+ ## Exported `type` / `interface`
17
17
 
18
- - Сразу **перед объявлением**блок `/** … */`.
19
- - Если нужно пояснить источник данных, ограничения или неочевидности **второй абзац** в том же блоке JSDoc для абзаца пустая строка между строками текста).
20
- - Для **вложенных** объектов в том же файле каждый такой тип документируется отдельным блоком над своим объявлением.
18
+ - Immediately **before the declaration** a `/** … */` block.
19
+ - 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).
20
+ - For **nested** objects in the same file, each such type gets its own block above its declaration.
21
21
 
22
- ## Поля
22
+ ## Fields
23
23
 
24
- - У **каждого** публичного свойства **однострочный** `/** … */` на строке непосредственно **над** полем.
25
- - Если поле **не приходит с бэкенда «как есть»**, а вычисляется или дополняется на фронте (маппер, селектор, UI) — начать описание с префикса **`[computed]`** (как в `TUserProfile`, типах плана лечения).
26
- - Для форматов данных указывать это **в тексте**: например дата `YYYY-MM-DD`, пример отображаемой строки в кавычках.
24
+ - Every **public** propertya **one-line** `/** … */` on the line immediately **above** the field.
25
+ - 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).
26
+ - For data formats, state that **in the text**: e.g. date `YYYY-MM-DD`, example display string in quotes.
27
27
 
28
- ## Классы и прочие объявления
28
+ ## Classes and other declarations
29
29
 
30
- - Для **классов** (например ошибки транспорта) при изменении публичного API — краткий блок над классом и **комментарии к публичным полям** по тем же правилам, что у свойств интерфейса.
30
+ - 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.
31
31
 
32
32
  ## `enum`
33
33
 
34
- - В `enums.ts` исторически часто **без JSDoc** на каждом члене; для новых enum допустимо короткое описание **над самим enum**, если назначение неочевидно из имени. Подписи для UI — как принято, через объекты `*Names` рядом с enum.
34
+ - 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.
35
35
 
36
- ## Практика для агента
36
+ ## Agent practice
37
37
 
38
- - Добавляя новый тип или поле, **не оставлять** новые публичные поля без пояснения, если смысл не равен имени на 100%.
39
- - Правя файл, где уже есть такие комментарии, **поддерживать тот же стиль**, а не смешивать с англоязычными или «теговыми» блоками.
40
- - Не раздувать комментарии: одна-две фразы на тип, одна строка на поленорма; исключениедействительно сложная доменная оговорка.
38
+ - When adding a new type or field, **do not leave** new public fields unexplained if the meaning is not 100% equal to the name.
39
+ - When editing a file that already has such comments, **keep the same style**, do not mix with English or “tag-style” blocks.
40
+ - Do not inflate comments: one–two phrases per type, one line per field normal; exceptiona truly complex domain caveat.
41
41
 
42
- См. также импорты и barrel: `public-imports.mdc`.
42
+ See also imports and barrel: `public-imports.mdc`.
@@ -6,13 +6,13 @@ alwaysApply: false
6
6
 
7
7
  # Vue UI (Nuxt)
8
8
 
9
- - Предпочитать **SFC** с `<script setup lang="ts">` (`script-setup-conventions`).
10
- - Явные `defineProps` / `defineEmits` (typed); без массового `v-bind="object"` (`no-v-bind-spread`).
11
- - Стили: scoped / CSS modules / design tokens — как у соседей; порядок свойств — `css-property-order-stylelint`.
12
- - Данные: читать Pinia / composables; **не** вызывать HTTP из SFC — только через `~/api` / store actions.
13
- - Навигация: `<NuxtLink>`, `navigateTo`, `useRouter` / `useRoute` — не `next/link` / `next/navigation`.
9
+ - Prefer **SFC** with `<script setup lang="ts">` (`script-setup-conventions`).
10
+ - Explicit `defineProps` / `defineEmits` (typed); no bulk `v-bind="object"` (`no-v-bind-spread`).
11
+ - Styles: scoped / CSS modules / design tokens — as neighbors; property order — `css-property-order-stylelint`.
12
+ - Data: read Pinia / composables; **do not** call HTTP from SFC — only via `~/api` / store actions.
13
+ - Navigation: `<NuxtLink>`, `navigateTo`, `useRouter` / `useRoute` — not `next/link` / `next/navigation`.
14
14
  - A11y: `vue-a11y-coding`.
15
- - Границы UI: `architecture-boundaries-ui` — no DTO in templates; map in `api/**`.
15
+ - UI boundaries: `architecture-boundaries-ui` — no DTO in templates; map in `api/**`.
16
16
 
17
17
  ## Incorrect
18
18
 
@@ -8,7 +8,7 @@ description: Delivers Nuxt 3 frontend features end-to-end across domain types, A
8
8
  1. Read task brief, acceptance criteria, and decomposition if present.
9
9
  2. Read **`feature-delivery-workflow.mdc`** and **`reference-features.mdc`** — follow layer order and mirror closest reference feature.
10
10
  3. Add or update focused tests for changed behavior.
11
- 4. Validation from repository root: **invoke** **`post-change-lint.mdc`** after code edits (requestable, not always-on — but mandatory when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
11
+ 4. Validation from repository root: **invoke** **`post-change-lint.mdc`** after code edits (requestable, not always-on — but **must** when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
12
12
 
13
13
  ## Scope discipline
14
14
 
@@ -1,6 +1,6 @@
1
1
  # Agent team artifacts
2
2
 
3
- Каталог артефактов пайплайна «команда агентов» Cursor.
3
+ Artifact directory for the Cursor “agent team” pipeline.
4
4
 
5
5
  ## Layout
6
6
 
@@ -97,7 +97,7 @@ Prefer **`executing`** for pipeline mode. Legacy: `analysis`, `development`, `re
97
97
  ## Workflow entry
98
98
 
99
99
  ```bash
100
- /task <описание задачи>
100
+ /task <task description>
101
101
  /task-continue <slug>
102
102
  /technical-retro <slug>
103
103
  ```
@@ -2,17 +2,17 @@
2
2
 
3
3
  **Repo-root agents:** see [`AGENTS.md`](../../AGENTS.md) at the project root (cross-tool setup, commands, security, living conventions pointers).
4
4
 
5
- | Задача | Куда смотреть |
6
- |--------|----------------|
7
- | Новая work-задача | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` |
8
- | Фича end-to-end | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
9
- | Стек и слои | `php-app-core.mdc`, `architecture-boundaries.mdc` |
10
- | После правок PHP | `post-change-test.mdc` (+ `php-tooling.mdc`) |
5
+ | Task | Where to look |
6
+ |------|----------------|
7
+ | New work request | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` |
8
+ | End-to-end feature | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
9
+ | Stack and layers | `php-app-core.mdc`, `architecture-boundaries.mdc` |
10
+ | After PHP edits | `post-change-test.mdc` (+ `php-tooling.mdc`) |
11
11
  | Integration tests | `integration-test-*` + skill `integration-testing` |
12
12
  | Unit tests | `unit-test-*` + skill `unit-testing` |
13
13
  | Code review | skill `code-review` + `code-review-mr.mdc` |
14
14
  | ADR | skill `write-adr` (on-demand) |
15
- | Как работает X | agent `codebase-analyzer` (explain-as-is; без `/task`) |
15
+ | How does X work | agent `codebase-analyzer` (explain-as-is; without `/task`) |
16
16
 
17
17
  ## Install
18
18
 
@@ -20,7 +20,7 @@
20
20
  npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
21
21
  ```
22
22
 
23
- Копирует rules/agents/hooks/skills/commands/team + `REPO_AGENTS.md` → корневой `AGENTS.md`.
23
+ Copies rules/agents/hooks/skills/commands/team + `REPO_AGENTS.md` → root `AGENTS.md`.
24
24
 
25
25
  ## Inventory
26
26
 
@@ -28,12 +28,12 @@ npx @bonesofspring/ai-rules init cursor --preset php-hexagonal
28
28
  - **8 skills** — `feature-delivery`, `unit-testing`, `integration-testing`, `ci-investigation`, `debug-investigation`, `code-review`, `technical-retro`, `write-adr`
29
29
  - **5 commands** — `/task`, `/task-continue`, `/feature-start`, `/feature-continue`, `/technical-retro`
30
30
 
31
- ## Dogfood (5 сценариев)
31
+ ## Dogfood (5 scenarios)
32
32
 
33
33
  Host: `dogfood/php-hexagonal`.
34
34
 
35
- 1. `/task` — новый use case (domain → ports → adapters → wire) на sample.
36
- 2. Баг маппинга HTTP — debugger + `TodoController` unit.
35
+ 1. `/task` — new use case (domain → ports → adapters → wire) on the sample.
36
+ 2. HTTP mapping bug — debugger + `TodoController` unit.
37
37
  3. Repository contract — integration-test trio (sample: in-memory persistence).
38
38
  4. Unit use case — unit-test planner/generator (PHPUnit + port fake/mock).
39
39
  5. Secrets in logs — security-reviewer + `security-php`.
@@ -1,15 +1,15 @@
1
1
  # MCP (preset `php-hexagonal`, Cursor)
2
2
 
3
- Копируется в `.cursor/mcp.json` при `ai-rules init cursor --preset php-hexagonal`.
3
+ Copied to `.cursor/mcp.json` on `ai-rules init cursor --preset php-hexagonal`.
4
4
 
5
5
  ## Servers
6
6
 
7
- | Name | Package | Зачем |
8
- |------|---------|--------|
9
- | `context7` | `@upstash/context7-mcp` | Актуальная документация PHP / Composer / популярных библиотек |
7
+ | Name | Package | Purpose |
8
+ |------|---------|---------|
9
+ | `context7` | `@upstash/context7-mcp` | Up-to-date PHP / Composer / popular library docs |
10
10
 
11
- Figma и browser e2e MCP (Playwright / Chrome DevTools) **не** входят в php-hexagonal-пресет (backend-only).
11
+ Figma and browser e2e MCP (Playwright / Chrome DevTools) are **not** part of the php-hexagonal preset (backend-only).
12
12
 
13
- Секреты в файл не кладём. Опционально: `CONTEXT7_API_KEY` в окружении.
13
+ Do not put secrets in the file. Optional: `CONTEXT7_API_KEY` in the environment.
14
14
 
15
- После init: Settings → MCP → включить серверы. `init` перезаписывает одноимённый `mcp.json`.
15
+ After init: Settings → MCP → enable servers. `init` overwrites the same-named `mcp.json`.
@@ -1,11 +1,11 @@
1
1
  # `.cursor/agents` (preset php-hexagonal)
2
2
 
3
- Ролевые subagents для командного пайплайна Cursor (PHP hexagonal).
3
+ Role subagents for the Cursor agent-team pipeline (PHP hexagonal).
4
4
 
5
5
  ## Analysis (on-demand)
6
6
 
7
- | Agent | Файл | Production-код |
8
- |-------|------|----------------|
7
+ | Agent | File | Production code |
8
+ |-------|------|-----------------|
9
9
  | Codebase analyzer | `codebase-analyzer.md` | no (explain-as-is only) |
10
10
 
11
11
  ## Roster (21)
@@ -25,7 +25,7 @@
25
25
 
26
26
  ## Frontmatter `readonly`
27
27
 
28
- Все agents **`readonly: false`** (нужна запись в `.cursor/team/**`). Ограничения production в теле промпта.
28
+ All agents use **`readonly: false`** (need writes under `.cursor/team/**`). Production restrictions live in the prompt body.
29
29
 
30
30
  ## Model matrix (frontmatter `model`)
31
31
 
@@ -17,19 +17,19 @@ You are a task router for a **PHP hexagonal backend** agent team. You **do not**
17
17
 
18
18
  | intent | Signals | Default steps |
19
19
  |--------|---------|---------------|
20
- | `feature` | «добавь», «новая», «реализуй», use case/API/adapter | task-analyst → feature-developer → build-verifier → code-reviewer → qa-tester or **integration-test** trio when adapter AC |
21
- | `bugfix` | «баг», «fix», «не работает», «падает» | debugger → feature-developer (skipIf debugger.fixed) → build-verifier → code-reviewer |
22
- | `ci-fix` | «CI», «красный PR», «failing check» | ci-investigator → feature-developer (skipIf resolved) → build-verifier → code-reviewer |
23
- | `migration` | «миграция», «upgrade», «обнови PHP/Composer-Composer» | task-analyst → migration-specialist → feature-developer → build-verifier → code-reviewer |
24
- | `perf-audit` | «производительность», «JFR/async-profiler», «медленно» | performance-auditor |
25
- | `review-only` | «ревью», «review MR», «проверь diff» | code-reviewer |
26
- | `test-only` | «покрой тестами» (unit+integration, no impl) | task-analyst → qa-tester |
27
- | `unit-only` | «unit», «юнит», «покрой use case» | unit-test-planner → unit-test-generator, or unit-test-healer |
20
+ | `feature` | «добавь» (add), «новая» (new), «реализуй» (implement), use case/API/adapter | task-analyst → feature-developer → build-verifier → code-reviewer → qa-tester or **integration-test** trio when adapter AC | <!-- i18n-keep: E4 -->
21
+ | `bugfix` | «баг» (bug), «fix», «не работает» (doesn't work), «падает» (crashes) | debugger → feature-developer (skipIf debugger.fixed) → build-verifier → code-reviewer | <!-- i18n-keep: E4 -->
22
+ | `ci-fix` | «CI», «красный PR» (red PR), «failing check» | ci-investigator → feature-developer (skipIf resolved) → build-verifier → code-reviewer | <!-- i18n-keep: E4 -->
23
+ | `migration` | «миграция» (migration), «upgrade», «обнови PHP/Composer» (upgrade PHP/Composer) | task-analyst → migration-specialist → feature-developer → build-verifier → code-reviewer | <!-- i18n-keep: E4 -->
24
+ | `perf-audit` | «производительность» (performance), «JFR/async-profiler», «медленно» (slow) | performance-auditor | <!-- i18n-keep: E4 -->
25
+ | `review-only` | «ревью» (review), «review MR», «проверь diff» (check diff) | code-reviewer | <!-- i18n-keep: E4 -->
26
+ | `test-only` | «покрой тестами» (cover with tests) (unit+integration, no impl) | task-analyst → qa-tester | <!-- i18n-keep: E4 -->
27
+ | `unit-only` | «unit», «юнит» (unit), «покрой use case» (cover use case) | unit-test-planner → unit-test-generator, or unit-test-healer | <!-- i18n-keep: E4 -->
28
28
  | `e2e-only` / integration | «integration», «e2e», «HTTP controller tests», «integration DB fixtures» | **integration-test-planner** → **integration-test-generator**, or **integration-test-healer** |
29
- | `docs-only` | «документация», «README», «changelog» | task-analyst → tech-writer |
30
- | `refactor` | «рефакторинг», «без изменения поведения» | task-analyst → feature-developer → build-verifier → code-reviewer |
31
- | `spike` | «исследуй», «spike», proof of concept | task-analyst → solution-architect |
32
- | `retro` | «ретро», «postmortem» | (orchestrator → `/technical-retro`) |
29
+ | `docs-only` | «документация» (documentation), «README», «changelog» | task-analyst → tech-writer | <!-- i18n-keep: E4 -->
30
+ | `refactor` | «рефакторинг» (refactoring), «без изменения поведения» (no behavior change) | task-analyst → feature-developer → build-verifier → code-reviewer | <!-- i18n-keep: E4 -->
31
+ | `spike` | «исследуй» (investigate), «spike», proof of concept | task-analyst → solution-architect | <!-- i18n-keep: E4 -->
32
+ | `retro` | «ретро» (retro), «postmortem» | (orchestrator → `/technical-retro`) | <!-- i18n-keep: E4 -->
33
33
 
34
34
  **Never schedule** Playwright (`playwright-test-*`), XCUITest (`xcuitest-test-*`), or `accessibility-reviewer`. Put them in `skipped` with reason «PHP backend uses integration-test trio».
35
35
 
@@ -1,54 +1,54 @@
1
1
  # `.cursor/commands` (preset php-hexagonal)
2
2
 
3
- Slash-команды копируются в `.cursor/commands/` при `ai-rules init cursor --preset php-hexagonal`.
3
+ Slash commands are copied to `.cursor/commands/` on `ai-rules init cursor --preset php-hexagonal`.
4
4
 
5
- ## Команда агентов
5
+ ## Agent commands
6
6
 
7
- | Command | Назначение |
8
- |---------|------------|
9
- | **`/task <описание>`** | **Главная точка входа:** router → pipeline.json → нужные роли по порядку |
10
- | `/task-continue <slug>` | После human gate или паузы |
11
- | `/feature-start <описание>` | Legacy: только analyst (без router) |
12
- | `/feature-continue <slug>` | Alias task-continue |
13
- | `/technical-retro [slug]` | Ретро; с slug — блок «Работа агентов» |
7
+ | Command | Purpose |
8
+ |---------|---------|
9
+ | **`/task <description>`** | **Main entry point:** router → pipeline.json → required roles in order |
10
+ | `/task-continue <slug>` | After human gate or pause |
11
+ | `/feature-start <description>` | Legacy: analyst only (no router) |
12
+ | `/feature-continue <slug>` | Alias for task-continue |
13
+ | `/technical-retro [slug]` | Retro; with slug — “Agent work” section |
14
14
 
15
- ## Примеры `/task`
15
+ ## `/task` examples
16
16
 
17
17
  ```
18
- /task Добавить CancelOrder use case (domain → ports → HTTP)
18
+ /task Добавить CancelOrder use case (domain → ports → HTTP) (Add CancelOrder use case) <!-- i18n-keep: E4 -->
19
19
  → analyst → developer → build-verifier → reviewer → QA (integration)
20
20
 
21
- /task HTTP controller tests CreateOrder падает на пустом body
21
+ /task HTTP controller tests CreateOrder падает на пустом body (CreateOrder HTTP controller tests fail on empty body) <!-- i18n-keep: E4 -->
22
22
  → debugger → developer → reviewer → QA (regression)
23
23
 
24
- /task CI упал на composer test / vendor/bin/phpunit / static analysis в PR #142
24
+ /task CI упал на composer test / vendor/bin/phpunit / static analysis в PR #142 (CI failed on composer test / phpunit / static analysis in PR #142) <!-- i18n-keep: E4 -->
25
25
  → ci-investigator → developer → reviewer
26
26
 
27
- /task Миграция на PHP 21 / обновление PHP framework edge
27
+ /task Миграция на PHP 21 / обновление PHP framework edge (Migrate to PHP 21 / update PHP framework edge) <!-- i18n-keep: E4 -->
28
28
  → analyst → migration-specialist → developer → reviewer → QA
29
29
 
30
- /task Проверь OpenAPI drift для /orders
30
+ /task Проверь OpenAPI drift для /orders (Check OpenAPI drift for /orders) <!-- i18n-keep: E4 -->
31
31
  → api-contract-reviewer (or analyst → …)
32
32
 
33
- /task Покрой unit-тестами CancelOrder use case
33
+ /task Покрой unit-тестами CancelOrder use case (Cover CancelOrder use case with unit tests) <!-- i18n-keep: E4 -->
34
34
  → unit-planner → unit-generator
35
35
 
36
- /task Напиши README для нового adapter persistence
36
+ /task Напиши README для нового adapter persistence (Write README for new persistence adapter) <!-- i18n-keep: E4 -->
37
37
  → analyst → tech-writer
38
38
 
39
- /task Сделай ревью изменений в adapters/inbound/http
39
+ /task Сделай ревью изменений в adapters/inbound/http (Review changes in adapters/inbound/http) <!-- i18n-keep: E4 -->
40
40
  → reviewer only
41
41
 
42
- /task Repository contract для OrderRepository
43
- → integration-test-planner → generator → healer (или QA e2e-only = integration)
42
+ /task Repository contract для OrderRepository (Repository contract for OrderRepository) <!-- i18n-keep: E4 -->
43
+ → integration-test-planner → generator → healer (or QA e2e-only = integration)
44
44
  ```
45
45
 
46
- ## Связанные файлы
46
+ ## Related files
47
47
 
48
- - Subagents: `../agents/` (**21** ролей, включая `task-router.md`, `codebase-analyzer.md` и `integration-test-{planner,generator,healer}`; без `accessibility-reviewer` / Playwright / XCUITest)
49
- - Оркестратор: `../rules/agent-team-orchestrator.mdc`
48
+ - Subagents: `../agents/` (**21** roles, including `task-router.md`, `codebase-analyzer.md`, and `integration-test-{planner,generator,healer}`; no `accessibility-reviewer` / Playwright / XCUITest)
49
+ - Orchestrator: `../rules/agent-team-orchestrator.mdc`
50
50
  - Skills: `../skills/` (`feature-delivery`, `code-review`, `debug-investigation`, `ci-investigation`, `unit-testing`, `integration-testing`, `technical-retro`)
51
- - Артефакты: `../team/README.md` (`pipeline.json`, `status.json`)
51
+ - Artifacts: `../team/README.md` (`pipeline.json`, `status.json`)
52
52
  - Hooks: `../hooks.json`, `../hooks/chain-team-phases.sh`
53
53
 
54
- Создавать и редактировать команды можно через `/commands` в Cursor или напрямую в этой папке пресета.
54
+ Create and edit commands via `/commands` in Cursor or directly in this preset folder.
@@ -5,15 +5,15 @@ description: Legacy alias for /task-continue that resumes a feature pipeline aft
5
5
 
6
6
  # Feature continue — legacy alias
7
7
 
8
- > **Предпочтительно:** `/task-continue <slug>` — то же поведение, учитывает `pipeline.json`.
8
+ > **Preferred:** `/task-continue <slug>` — same behavior, respects `pipeline.json`.
9
9
 
10
- Продолжение после human gate. Полная логика в **`task-continue.md`**.
10
+ Continue after a human gate. Full logic lives in **`task-continue.md`**.
11
11
 
12
- ## Кратко
12
+ ## Short version
13
13
 
14
- 1. Прочитай `pipeline.json` (если есть) и `status.json`.
15
- 2. Сбрось `awaitingHumanGate`; определи следующий step по `pipelineIndex`.
16
- 3. Вызови subagent для `currentAgent`.
17
- 4. Hook продолжит цепочку при `autoChain: true`.
14
+ 1. Read `pipeline.json` (if present) and `status.json`.
15
+ 2. Clear `awaitingHumanGate`; determine the next step from `pipelineIndex`.
16
+ 3. Call the subagent for `currentAgent`.
17
+ 4. The hook continues the chain when `autoChain: true`.
18
18
 
19
- См. `task-continue.md` для деталей и таблицы handoff.
19
+ See `task-continue.md` for details and the handoff table.
@@ -5,29 +5,29 @@ description: Legacy analyst-only feature intake. Prefer /task for new work becau
5
5
 
6
6
  # Feature start — legacy (analyst only)
7
7
 
8
- > **Предпочтительно:** `/task <описание>` — router выберет роли и порядок автоматически.
8
+ > **Preferred:** `/task <description>`the router picks roles and order automatically.
9
9
 
10
- Запуск **фазы анализа** без router. Родительский агент действует как оркестратор (см. `agent-team-orchestrator.mdc`).
10
+ Starts the **analysis phase** without the router. The parent agent acts as orchestrator (see `agent-team-orchestrator.mdc`).
11
11
 
12
- ## Что делать
12
+ ## What to do
13
13
 
14
- 1. Извлеки описание задачи из аргументов команды (всё после `/feature-start`).
15
- 2. Сгенерируй **slug** (kebab-case, до 48 символов) из заголовка задачи.
16
- 3. Создай `.cursor/team/tasks/<slug>/` если его ещё нетчерез **Write** артефакта (не Shell `mkdir`).
17
- 4. Запиши `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
18
- 5. Опционально: минимальный `pipeline.json` с фиксированными steps (analyst → developer → reviewer → qa-tester).
19
- 6. Вызови subagent **task-analyst** (Task tool) с полным описанием задачи и путём к артефактам.
20
- 7. Дождись завершения аналитика. **Не вызывай developer** на этом этапе.
14
+ 1. Extract the task description from command arguments (everything after `/feature-start`).
15
+ 2. Generate a **slug** (kebab-case, up to 48 characters) from the task title.
16
+ 3. Create `.cursor/team/tasks/<slug>/` if it does not exist yet via **Write** of an artifact (not Shell `mkdir`).
17
+ 4. Write `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
18
+ 5. Optionally: minimal `pipeline.json` with fixed steps (analyst → developer → reviewer → qa-tester).
19
+ 6. Invoke subagent **task-analyst** (Task tool) with the full task description and artifact paths.
20
+ 7. Wait for the analyst to finish. **Do not invoke developer** at this stage.
21
21
 
22
22
  ## Human gate
23
23
 
24
- После аналитика:
24
+ After the analyst:
25
25
 
26
- - Покажи пользователю ссылки на `brief.md` и `decomposition.md`.
27
- - Попроси проверить и утвердить или прислать правки.
28
- - Для продолжения: `/task-continue <slug>` или `/feature-continue <slug>`.
26
+ - Show the user links to `brief.md` and `decomposition.md`.
27
+ - Ask them to review and approve or send edits.
28
+ - To continue: `/task-continue <slug>` or `/feature-continue <slug>`.
29
29
 
30
- ## Если slug уже существует
30
+ ## If slug already exists
31
31
 
32
- - Если `status.json` в `awaiting_approval` — предложи ревью или continue.
33
- - Если задача в работеспроси, продолжать или начать новый slug.
32
+ - If `status.json` is `awaiting_approval` — offer review or continue.
33
+ - If the task is in progress ask whether to continue or start a new slug.