@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
@@ -4,61 +4,61 @@ paths:
4
4
  - app/**/app/**/*
5
5
  ---
6
6
 
7
- # Навигация и роутинг: сначала стек проекта
7
+ # Navigation and routing: project stack first
8
8
 
9
- Краткий ориентир для UI-компонентов: **`stack/navigation-router-ui.md`**.
9
+ Short UI component guide: **`stack/navigation-router-ui.md`**.
10
10
 
11
- **При любой задаче, связанной с навигацией, переходами между страницами, URL, редиректами, хлебными крошками, защищёнными маршрутами или программной сменой маршрута** перед предложением кода или импортов **нельзя** опираться на «типичный React» по умолчанию. Нужно **явно свериться со стеком целевого репозитория** и использовать **один** согласованный с проектом механизм.
11
+ **For any task involving navigation, page transitions, URLs, redirects, breadcrumbs, protected routes, or programmatic route changes** before proposing code or imports you **must not** default to “typical React.” **Explicitly verify the target repo’s stack** and use **one** mechanism consistent with the project.
12
12
 
13
- ## Зависимости: что проверить в первую очередь
13
+ ## Dependencies: what to check first
14
14
 
15
- 1. **`package.json`** в корне приложения (например `app/package.json` в монорепотот пакет, который реально собирается и деплоится). Смотреть **`dependencies`** и при необходимости **`peerDependencies`**:
16
- - **`next`** — Next.js; версия важна для нюансов API (сверяться с документацией под эту major).
17
- - **`react-router-dom`**, **`@remix-run/*`**, **`@tanstack/react-router`** и т.д. отдельный роутинг; не подменять их API вызовами Next без проверки, что в проекте действительно используется этот стек.
18
- - **`next`** и **`react-router-dom`** одновременновозможно легаси или гибрид; **не** выбирать API по умолчаниюсмотреть раздел «Реализация в коде» ниже.
15
+ 1. **`package.json`** at the app root (e.g. `app/package.json` in a monorepo the package that is actually built and deployed). Check **`dependencies`** and if needed **`peerDependencies`**:
16
+ - **`next`** — Next.js; version matters for API nuances (check docs for that major).
17
+ - **`react-router-dom`**, **`@remix-run/*`**, **`@tanstack/react-router`**, etc.separate routing; do not substitute Next APIs without confirming the project uses that stack.
18
+ - **`next`** and **`react-router-dom`** togetherpossible legacy or hybrid; **do not** pick APIs by default see “Implementation in code” below.
19
19
 
20
- 2. **Монорепо / workspaces** — роутинг может жить не в корневом `package.json`. Открыть **`package.json` того workspace**, где лежат страницы и `next.config.*` / точка входа SPA.
20
+ 2. **Monorepo / workspaces** — routing may live outside the root `package.json`. Open the **`package.json` of the workspace** where pages and `next.config.*` / SPA entry live.
21
21
 
22
- 3. **Факт установки**при сомнениях смотреть lockfile (`bun.lock`, `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`) или каталог `node_modules` у соответствующего пакета: убедиться, что заявленный пакет реально установлен, а не только прописан в документации.
22
+ 3. **Actual installation**when in doubt, check the lockfile (`bun.lock`, `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`) or `node_modules` for the relevant package: confirm the declared package is installed, not only documented.
23
23
 
24
- ## Реализация роутинга в проекте (код и структура)
24
+ ## Routing implementation in the project (code and structure)
25
25
 
26
- Перед предложением паттерна навигации **свериться с тем, как уже сделано в репозитории**:
26
+ Before proposing a navigation pattern, **align with how the repo already does it**:
27
27
 
28
- 1. **Дерево маршрутов**
29
- - Next **App Router**: каталог **`app/`** (или `src/app/`) с `layout.tsx`, `page.tsx`, сегменты `[id]` и т.п.
30
- - Next **Pages Router**: каталог **`pages/`** с `_app`, динамические `[slug].tsx`.
31
- - Наличие **обоих** `app/` и `pages/` — уточнить по `next.config` и документации проекта, какой слой основной.
28
+ 1. **Route tree**
29
+ - Next **App Router**: **`app/`** (or `src/app/`) with `layout.tsx`, `page.tsx`, segments `[id]`, etc.
30
+ - Next **Pages Router**: **`pages/`** with `_app`, dynamic `[slug].tsx`.
31
+ - Both `app/` and `pages/` present clarify via `next.config` and project docs which layer is primary.
32
32
 
33
- 2. **Точки входа и обёртки**
34
- - Поиск по коду импортов: **`from 'next/navigation'`**, **`from 'next/router'`**, **`from 'next/link'`**, **`from 'react-router-dom'`**, **`createBrowserRouter`**, **`RouterProvider`**, **`BrowserRouter`**.
35
- - Где объявлены маршруты (файловая структура Next vs конфиг маршрутов / `routes.tsx` в SPA).
33
+ 2. **Entry points and wrappers**
34
+ - Search imports: **`from 'next/navigation'`**, **`from 'next/router'`**, **`from 'next/link'`**, **`from 'react-router-dom'`**, **`createBrowserRouter`**, **`RouterProvider`**, **`BrowserRouter`**.
35
+ - Where routes are declared (Next file structure vs SPA route config / `routes.tsx`).
36
36
 
37
- 3. **Общие абстракции проекта**
38
- - Обертки над ссылками (`@/ui/...`, `Link` из дизайн-системы), хелперы путей, константы роутов**использовать их**, а не дублировать сырой роутер.
37
+ 3. **Project abstractions**
38
+ - Link wrappers (`@/ui/...`, design-system `Link`), path helpers, route constants**use them**, do not duplicate raw router usage.
39
39
 
40
- 4. **Соседние файлы фичи**
41
- - Новый код навигациив том же стиле, что страницы/хуки той же области (`next/navigation` vs `react-router-dom` как в соседних импортах).
40
+ 4. **Neighboring feature files**
41
+ - New navigation codesame style as pages/hooks in that area (`next/navigation` vs `react-router-dom` as in neighboring imports).
42
42
 
43
- ## Как определить, что использовать (сводка)
43
+ ## How to decide what to use (summary)
44
44
 
45
- 1. **Зависимости**см. раздел выше; по ним задаётся допустимый набор пакетов.
46
- 2. **Структура** — App Router vs Pages vs SPA по каталогам и конфигу.
47
- 3. **Фактический код**какие импорты и обёртки уже доминируют в приложении.
45
+ 1. **Dependencies**see above; they define the allowed package set.
46
+ 2. **Structure** — App Router vs Pages vs SPA by directories and config.
47
+ 3. **Actual code**which imports and wrappers dominate in the app.
48
48
 
49
- ## Что использовать (краткая матрица)
49
+ ## What to use (quick matrix)
50
50
 
51
- | Стек | Программная навигация / чтение пути | Ссылки |
51
+ | Stack | Programmatic navigation / path read | Links |
52
52
  |------|-------------------------------------|--------|
53
- | **Next.js App Router** | `next/navigation` (`useRouter`, `usePathname`, `useSearchParams`, `redirect` и т.д. по документации Next для вашей версии) | `next/link` |
53
+ | **Next.js App Router** | `next/navigation` (`useRouter`, `usePathname`, `useSearchParams`, `redirect`, etc. per Next docs for your version) | `next/link` |
54
54
  | **Next.js Pages Router** | `next/router` | `next/link` |
55
- | **SPA + React Router** | `react-router-dom` (`useNavigate`, `useParams`, `useLocation`, …) | `<Link>` из `react-router-dom` |
55
+ | **SPA + React Router** | `react-router-dom` (`useNavigate`, `useParams`, `useLocation`, …) | `<Link>` from `react-router-dom` |
56
56
 
57
- **Не делать:** подключать `react-router-dom` в проект на Next.js «по привычке»; импортировать хуки из `next/router` в компонентах App Router без проверки; смешивать два роутера в одном приложении без явной архитектурной причины в кодовой базе.
57
+ **Do not:** add `react-router-dom` to a Next.js project “by habit”; import hooks from `next/router` in App Router components without checking; mix two routers in one app without an explicit architectural reason in the codebase.
58
58
 
59
- ## Требование к агенту
59
+ ## Agent requirement
60
60
 
61
- - Перед генерацией или ревью кода навигации **коротко зафиксировать вывод** (например: «зависимости: `next` без `react-router-dom`; в коде везде `next/navigation` → используем то же») и следовать ему.
62
- - **Обязательная проверка:** актуальные **`dependencies`** в `package.json` нужного workspace + **как в проекте уже реализованы** маршруты и импорты (поиск по репозиторию, соседние файлы). Не полагаться только на предположение по одному признаку (например, только на наличие папки `app/`).
63
- - Если стек неочевиден (два роутера в зависимостях, гибрид) — **сверить lockfile / установленные пакеты** и **доминирующие импорты** в `src`/`app`, затем выбрать API.
64
- - Для **этого** пресета базовый ориентир **`stack/next-app-core.md`**: Next.js; предпочитать **`next/navigation`** и **`next/link`** там, где используется App Router.
61
+ - Before generating or reviewing navigation code, **briefly record the conclusion** (e.g. “dependencies: `next` without `react-router-dom`; code uses `next/navigation` everywhere use the same”) and follow it.
62
+ - **Mandatory check:** current **`dependencies`** in the relevant workspace `package.json` + **how routes and imports are already implemented** (repo search, neighboring files). Do not rely on a single signal (e.g. only an `app/` folder).
63
+ - If the stack is unclear (two routers in dependencies, hybrid) — **check lockfile / installed packages** and **dominant imports** in `src`/`app`, then choose the API.
64
+ - For **this** preset the baseline is **`stack/next-app-core.md`**: Next.js; prefer **`next/navigation`** and **`next/link`** where App Router is used.
@@ -1,33 +1,33 @@
1
- # Стек и окружение
1
+ # Stack and environment
2
2
 
3
- Конкретные версии **из `package.json` и конфигов целевого репозитория**. Рамка preset: Next.js, React, TypeScript; runner/e2e/mocks/UI/APM — как заведено в репо.
3
+ Concrete versions come **from `package.json` and configs of the target repository**. Preset frame: Next.js, React, TypeScript; runner/e2e/mocks/UI/APM — as established in the repo.
4
4
 
5
- # Структура проекта
5
+ # Project structure
6
6
 
7
- - `app/` — корень Next.js; `app/src/**` — код; `app/__tests__/e2e/**` — e2e.
7
+ - `app/` — Next.js root; `app/src/**` — code; `app/__tests__/e2e/**` — e2e.
8
8
  - `app/tsconfig.json`: `baseUrl: "."`, `paths: { "@/*": ["./src/*"] }`.
9
- - **Требование:** `@/*` вместо относительных импортов выше по дереву.
9
+ - **Requirement:** `@/*` instead of relative imports that climb the tree.
10
10
 
11
- # Архитектурные слои
11
+ # Architectural layers
12
12
 
13
- | Слой | Каталог | Детали |
14
- |------|---------|--------|
13
+ | Layer | Directory | Details |
14
+ |-------|-----------|---------|
15
15
  | UI | `app/src/ui/**` (pages, components) | `ui-and-accessibility/react-ui.md`, `architecture/architecture-boundaries-ui.md` |
16
16
  | Store | `app/src/store/**` (slices, middleware) | `api-and-data/store-rtk.md` |
17
17
  | API | `app/src/api/**` (services, clients, barrel) | `api-and-data/api-services.md`, `api-and-data/http-client.md` |
18
18
  | HTTP | `app/src/lib/clients/**`, `app/src/api/clients/**` | `api-and-data/http-client.md` |
19
19
  | Types | `app/src/types/**` | `architecture/public-imports.md`, `stack/types-jsdoc.md` |
20
- | Mocks | `app/src/mocks/**` | по схеме репозитория |
20
+ | Mocks | `app/src/mocks/**` | per repository layout |
21
21
 
22
- Границы слоёв, порты/адаптеры, UI→API — **`architecture/architecture-boundaries.md`**. Импорты `@/types`, `@/api` — **`architecture/public-imports.md`**.
22
+ Layer boundaries, ports/adapters, UI→API — **`architecture/architecture-boundaries.md`**. Imports of `@/types`, `@/api` — **`architecture/public-imports.md`**.
23
23
 
24
- # Работа агента
24
+ # Agent work
25
25
 
26
- - Архитектура и импорты: `architecture/architecture-boundaries.md`, `architecture/public-imports.md`
27
- - Фичи: `architecture/feature-delivery-workflow.md` + skill `feature-delivery`
28
- - После правок: **вызвать** `tooling-and-review/post-change-lint.md` (requestable, обязателен после code edits); менеджер пакетов: `tooling-and-review/package-manager.md`
29
- - Копировать паттерны соседних файлов в целевом слое; не использовать `any` (предпочитать `unknown` + сужение)
26
+ - Architecture and imports: `architecture/architecture-boundaries.md`, `architecture/public-imports.md`
27
+ - Features: `architecture/feature-delivery-workflow.md` + skill `feature-delivery`
28
+ - After edits: **invoke** `tooling-and-review/post-change-lint.md` (requestable, required after code edits); package manager: `tooling-and-review/package-manager.md`
29
+ - Copy patterns from neighboring files in the target layer; do not use `any` (prefer `unknown` + narrowing)
30
30
 
31
- Задачи на **сеть, HTTP, новые эндпоинты**: `api-and-data/http-client.md` + `api-and-data/api-services.md` + `api-and-data/store-rtk.md`.
31
+ Tasks involving **network, HTTP, new endpoints**: `api-and-data/http-client.md` + `api-and-data/api-services.md` + `api-and-data/store-rtk.md`.
32
32
 
33
- См. **`rules/README.md`** — полный каталог.
33
+ See **`rules/README.md`** — full catalog.
@@ -6,34 +6,34 @@ paths:
6
6
 
7
7
  # Next.js App Router
8
8
 
9
- Применять при работе с `app/src/app/**` или маршрутами App Router в целевом репо.
9
+ Apply when working with `app/src/app/**` or App Router routes in the target repo.
10
10
 
11
11
  ## Server vs Client
12
12
 
13
- - **Server Components по умолчанию**без `'use client'`, если не нужны hooks, browser API, event handlers.
14
- - **`'use client'`** — только для интерактива, `useState`/`useEffect`, browser-only API.
15
- - Не тянуть store/RTK и тяжёлый client-state в Server Components без необходимости.
13
+ - **Server Components by default**no `'use client'` unless hooks, browser APIs, or event handlers are required.
14
+ - **`'use client'`** — only for interactivity, `useState`/`useEffect`, and browser-only APIs.
15
+ - Do not pull store/RTK and heavy client state into Server Components without a clear need.
16
16
 
17
17
  ## Data fetching
18
18
 
19
- - Предпочитать fetch/data-loader на **server** (RSC, route handlers, server actions — по принятому в репо паттерну).
20
- - **Не дублировать** один запрос в RSC и client без причины.
21
- - Кеш и revalidate — как в существующих страницах репо (`fetch` options, `revalidate`, tags).
19
+ - Prefer fetch/data loading on the **server** (RSC, route handlers, server actions — per the repo’s established pattern).
20
+ - **Do not duplicate** the same request in RSC and client without a reason.
21
+ - Cache and revalidate — match existing pages in the repo (`fetch` options, `revalidate`, tags).
22
22
 
23
- ## Маршруты и UX
23
+ ## Routes and UX
24
24
 
25
- - Для async data routes **обязательны** sibling **`loading.tsx`** и **`error.tsx`** (и `not-found.tsx` где уместно) — по образцу соседних routes.
26
- - **Suspense** — для медленных client/server секций; fallback согласован с дизайн-системой.
27
- - Навигация — `stack/navigation-router.md` + router/link паттерны проекта.
25
+ - For async data routes, sibling **`loading.tsx`** and **`error.tsx`** are **required** (and `not-found.tsx` where appropriate) — follow neighboring routes.
26
+ - **Suspense** — for slow client/server sections; fallback aligned with the design system.
27
+ - Navigation — `stack/navigation-router.md` + project router/link patterns.
28
28
 
29
- ## Границы слоёв
29
+ ## Layer boundaries
30
30
 
31
- - RSC/route handlers **не импортируют UI-компоненты с client-only зависимостями** напрямую в server tree без `'use client'` границы.
32
- - Доменные типы — `@/types`; вызовы backend — через `@/api` / services, не raw `fetch` из page.tsx без слоя API.
31
+ - RSC/route handlers **must not import UI components with client-only dependencies** directly into the server tree without a `'use client'` boundary.
32
+ - Domain types — `@/types`; backend calls via `@/api` / services, not raw `fetch` from `page.tsx` without the API layer.
33
33
 
34
34
  ## Anti-hallucination (App Router)
35
35
 
36
- Меньше угаданного кода лучше, чем больше. Сверяй API с версией Next в `package.json` и соседними routes.
36
+ Less guessed code is better than more. Verify APIs against the Next version in `package.json` and neighboring routes.
37
37
 
38
38
  | ❌ Avoid | ✅ Prefer |
39
39
  |---------|----------|
@@ -45,6 +45,6 @@ paths:
45
45
 
46
46
  See also: **`react-next-anti-hallucination`** — broader React / RTK / Next phantom-import banlist (requestable; `anti-hallucination/react-next-anti-hallucination.md`).
47
47
 
48
- ## Эталон
48
+ ## Reference
49
49
 
50
- Смотри существующий route той же сложности в `app/src/app/**` и повтори структуру (`architecture/reference-features.md`).
50
+ Find an existing route of similar complexity in `app/src/app/**` and repeat its structure (`architecture/reference-features.md`).
@@ -5,55 +5,55 @@ paths:
5
5
  - app/src/types/**/*
6
6
  ---
7
7
 
8
- # Не использовать `as` для приведения типов при экспорте и импорте
8
+ # Do not use `as` for type assertions on export and import boundaries
9
9
 
10
- ## О чём речь
10
+ ## Scope
11
11
 
12
- Речь о **type assertion** в TypeScript: выражение вида `значение as Тип`.
12
+ This is about **type assertion** in TypeScript: an expression like `value as Type`.
13
13
 
14
- **Не относится к правилу** (это не assertion, а синтаксис модулей):
14
+ **Out of scope** (module syntax, not assertion):
15
15
 
16
- - переименование при экспорте: `export { foo as bar }`, `export { default as Baz } from '...'`;
17
- - переименование при импорте: `import { foo as bar } from '...'`;
18
- - `import type { Foo as Bar }` — алиас типа в импорте типов.
16
+ - rename on export: `export { foo as bar }`, `export { default as Baz } from '...'`;
17
+ - rename on import: `import { foo as bar } from '...'`;
18
+ - `import type { Foo as Bar }` — type alias in a type-only import.
19
19
 
20
- ## Требование
20
+ ## Requirement
21
21
 
22
- - На **публичной границе модуля** (экспорт, присваивание импортированным символам с принудительным приведением) **не использовать** `as Тип` для «подгонки» типов, если можно обойтись нормальной типизацией.
22
+ - On the **public module boundary** (export, assigning imported symbols with forced casting) **do not use** `as Type` to “fit” types when normal typing suffices.
23
23
 
24
- ## Предпочитать вместо `as`
24
+ ## Prefer instead of `as`
25
25
 
26
- - явную аннотацию: `const x: T = ...` / `function f(): T`;
27
- - **дженерики** у функций и классов;
28
- - **`satisfies`** (когда нужно проверить совместимость без сужения до `any`);
29
- - сужение **`unknown`** после проверки (type guards, `zod` и т.п.);
30
- - правку **исходных типов/DTO/мапперов**, а не assertion на выходе.
26
+ - explicit annotation: `const x: T = ...` / `function f(): T`;
27
+ - **generics** on functions and classes;
28
+ - **`satisfies`** (when you need compatibility check without narrowing to `any`);
29
+ - narrowing **`unknown`** after checks (type guards, `zod`, etc.);
30
+ - fix **source types/DTO/mappers**, not assertion at the output.
31
31
 
32
- ## Когда `as` допустим
32
+ ## When `as` is acceptable
33
33
 
34
- - взаимодействие с **не типизированными** или некорректно типизированными внешними модулями;
35
- - узкие места после **валидации** данных;
36
- - **`as const`** — литеральные типы;
37
- - блок **`catch (error)`** после HTTP: по возможности **`instanceof`** на **класс ошибки транспорта** из `@/types`; голый **`as`** — только если `instanceof` недоступен.
34
+ - interaction with **untyped** or incorrectly typed external modules;
35
+ - narrow spots after data **validation**;
36
+ - **`as const`** — literal types;
37
+ - **`catch (error)`** block after HTTP: prefer **`instanceof`** on the **transport error class** from `@/types`; bare **`as`** — only when `instanceof` is unavailable.
38
38
 
39
- ## Примеры
39
+ ## Examples
40
40
 
41
41
  ```typescript
42
- // ❌ Плохо: assertion на экспортируемом API
42
+ // ❌ Bad: assertion on exported API
43
43
  export const config = loadRaw() as AppConfig
44
44
 
45
- // ✅ Лучше: аннотация + проверка или маппер
45
+ // ✅ Better: annotation + check or mapper
46
46
  export const config: AppConfig = mapToAppConfig(loadRaw())
47
47
 
48
- // ❌ Плохо: сразу после импорта «ломаем» тип
48
+ // ❌ Bad: breaks type immediately after import
49
49
  import { getData } from './api'
50
50
  export const data = getData() as MyDto[]
51
51
 
52
- // ✅ Лучше: типизировать getData / обернуть типобезопасной функцией
52
+ // ✅ Better: type getData / wrap in a type-safe function
53
53
  ```
54
54
 
55
- ## Требование к агенту
55
+ ## Agent requirement
56
56
 
57
- При ревью и генерации кода **не добавлять** новые `as Тип` на экспортируемые сущности без явной необходимости.
57
+ When reviewing and generating code, **do not add** new `as Type` on exported symbols without explicit need.
58
58
 
59
- В слайсах и сервисах при обработке ошибок API сначала рассматривать **`instanceof`** на класс ошибки транспорта из `@/types` (`api-and-data/http-client.md`, `api-and-data/store-rtk.md`).
59
+ In slices and services handling API errors, consider **`instanceof`** on the transport error class from `@/types` first (`api-and-data/http-client.md`, `api-and-data/store-rtk.md`).
@@ -3,35 +3,46 @@ paths:
3
3
  - app/src/types/**/*.ts
4
4
  ---
5
5
 
6
- # Документация типов в `app/src/types`
6
+ # Type documentation in `app/src/types`
7
7
 
8
- При добавлении или существенном изменении типов в этом слое **следовать уже принятому в репозитории стилю JSDoc** (см. примеры: `User.types.ts`, `Common.types.ts`, `ServerValidation.types.ts`, `TreatmentPlan/*.types.ts`).
8
+ When adding or substantially changing types in this layer, **follow the JSDoc style already adopted in the repo** (see examples: `User.types.ts`, `Common.types.ts`, `ServerValidation.types.ts`, `TreatmentPlan/*.types.ts`).
9
9
 
10
- ## Язык и форма
10
+ ## Language and form
11
11
 
12
- - Текст комментариев**на русском**, кратко и по делу.
13
- - **Не использовать** `@param`, `@returns`, `@see`, `@deprecated` для описания типовдостаточно обычного текста в `/** … */`.
12
+ - Comment text**in Russian** (repo locale convention for domain/API field descriptions), brief and to the point: what the type or field means in the domain or API contract.
13
+ - **Do not rely** on tags like `@param`, `@returns`, `@see`, `@deprecated` for type descriptionsthey are **not used** in this layer; plain text in `/** … */` is enough.
14
14
 
15
- ## Экспортируемый `type` / `interface`
15
+ ## Exported `type` / `interface`
16
16
 
17
- - Сразу **перед объявлением**блок `/** … */`.
18
- - Для вложенных объектовотдельный блок над каждым объявлением.
17
+ - Immediately **before the declaration** a `/** … */` block.
18
+ - If you need to explain data source, constraints, or non-obvious details a **second paragraph** in the same block (in JSDoc, separate paragraphs with a blank line between text lines).
19
+ - For **nested** objects in the same file, document each type with its own block above its declaration.
19
20
 
20
- ## Поля
21
+ ## Fields
21
22
 
22
- - У **каждого** публичного свойства**однострочный** `/** … */` над полем.
23
- - Если поле **вычисляется на фронте**префикс **`[computed]`**.
24
- - Форматы данных указывать **в тексте** (например дата `YYYY-MM-DD`).
23
+ - For **every** public propertya **single-line** `/** … */` on the line directly **above** the field.
24
+ - If a field **does not come from the backend as-is** but is computed or enriched on the frontend (mapper, selector, UI) start the description with the **`[computed]`** prefix (as in `TUserProfile`, treatment plan types).
25
+ - For data formats, state this **in the text**: e.g. date `YYYY-MM-DD`, a display string example in quotes.
25
26
 
26
- ## Классы и enum
27
+ Example field comment (Russian locale — keep Cyrillic in type docs): <!-- i18n-keep: E5 -->
27
28
 
28
- - Для **классов** — блок над классом и комментарии к публичным полям.
29
- - В `enums.ts` исторически часто **без JSDoc** на каждом члене; для новых enum допустимо описание **над enum**.
29
+ ```ts
30
+ /** Дата рождения в формате YYYY-MM-DD */ <!-- i18n-keep: E5 -->
31
+ birthDate: string
32
+ ```
30
33
 
31
- ## Практика для агента
34
+ ## Classes and other declarations
32
35
 
33
- - Не оставлять новые публичные поля без пояснения, если смысл не равен имени на 100%.
34
- - Поддерживать **тот же стиль**, что в файле.
35
- - Одна-две фразы на тип, одна строка на поле — норма.
36
+ - For **classes** (e.g. transport errors), when changing public API a brief block above the class and **comments on public fields** using the same rules as interface properties.
36
37
 
37
- См. также импорты и barrel: `architecture/public-imports.md`.
38
+ ## `enum`
39
+
40
+ - In `enums.ts`, members are often **without JSDoc** historically; for new enums a short description **above the enum** is acceptable if purpose is not obvious from the name. UI labels — as established, via `*Names` objects next to the enum.
41
+
42
+ ## Agent practice
43
+
44
+ - When adding a new type or field, **do not leave** new public fields unexplained if meaning is not 100% clear from the name.
45
+ - When editing a file that already has such comments, **maintain the same style**, not mixed with English-only or tag-heavy blocks.
46
+ - Do not bloat comments: one or two sentences per type, one line per field is normal; exception — a genuinely complex domain caveat.
47
+
48
+ See also imports and barrel: `architecture/public-imports.md`.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Unit, e2e, Playwright agents.
4
4
 
5
- | Файл | Содержание | Загрузка |
6
- |------|------------|----------|
7
- | `playwright-agents.md` | Planner / generator / healer — структура e2e | session start |
8
- | `tests-unit.md` | Unit/integration, именование на русском | `paths: app/src/**/*.spec.*`, `*.test.*` |
5
+ | File | Contents | Loading |
6
+ |------|----------|---------|
7
+ | `playwright-agents.md` | Planner / generator / healer — e2e structure | session start |
8
+ | `tests-unit.md` | Unit/integration; describe/it naming in Russian (locale) | `paths: app/src/**/*.spec.*`, `*.test.*` |
9
9
  | `tests-e2e-structure.md` | `*.cases.md`, page objects, data-testid | `paths: app/__tests__/e2e/**` |
10
10
 
11
- См. также `.claude/agents/playwright-test-*.md` после `ai-rules init`.
11
+ See also `.claude/agents/playwright-test-*.md` after `ai-rules init`.
@@ -71,4 +71,4 @@ When acting as a **Healer** (or working with the Playwright healer agent):
71
71
 
72
72
  Healer should keep tests aligned with the existing test plans (`*.cases.md`) and with the page objects and helpers already used in the project.
73
73
 
74
- См. также агенты в `.claude/agents/` пресета и **`testing/tests-e2e-structure.md`**.
74
+ See also agents under the preset’s `.claude/agents/` and **`testing/tests-e2e-structure.md`**.
@@ -3,50 +3,51 @@ paths:
3
3
  - app/__tests__/e2e/**
4
4
  ---
5
5
 
6
- # Структура e2e в проекте
7
-
8
- - Папка e2e: `app/__tests__/e2e/**`.
9
- - Планы сценариев:
10
- - `*.cases.md` файлы**канонический источник сценариев**.
11
- - Тесты:
12
- - `*.spec.ts` файлыреализация сценариев на Playwright.
13
- - Общие утилиты и абстракции:
14
- - `app/__tests__/e2e/_shared/**` — константы, fluent‑интерфейсы, хелперы.
15
-
16
- # Принципы
17
-
18
- - Каждый сценарий из `*.cases.md` должен иметь соответствующий тест (или набор тестов).
19
- - **Нельзя** ослаблять проверки в тестах, если это противоречит бизнес‑ожиданиям из планов.
20
- - Предпочтительно использовать:
21
- - pageobjects (например, `OrderHistoryPage.ts`);
22
- - общие хелперы из `_shared`.
23
-
24
- # Именование e2e‑тестов
25
-
26
- - Язык:
27
- - все названия `test` / `it`, `describe`‑блоков и шагов в `*.cases.md` должны быть сформулированы **на русском языке**, описывая поведение и ожидаемый результат.
28
- - Формат заголовков e2e‑тестов (`test(...)` / `it(...)`):
29
- - перед текстовым описанием сценария указывается **префикс с номером** в формате: `ПРЕФИКС-XXX Описание сценария`.
30
- - `ПРЕФИКС` аббревиатура из **первых букв слов** тестируемой сущности, записанная **латиницей в верхнем регистре**.
31
- - пример: `OrderHistory` `OH`, `BillingReport` `BR`.
32
- - `XXX` порядковый номер теста **с тремя разрядами и лидирующими нулями**: `001`, `002`, `010`, `123` и т.д.
33
- - пример полного названия e2e‑теста:
34
- - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })`
35
- - внутри одной сущности (`ПРЕФИКС`) номера тестов должны образовывать **непротиворечивую последовательность**, без дубликатов номеров.
36
-
37
- # data-testid для e2e
38
-
39
- - **Приоритет селекторов:** `data-testid` для стабильных элементов; `getByRole` и `getByLabel` для форм и доступных элементов.
40
- - **Именование:** схема `{parent}__{element}` (например, `history-page__title`, `history-page__recognition-banner__attach-files-button`).
41
- - **Где добавлять:** на корневые контейнеры страниц и ключевые интерактивные элементы (кнопки, ссылки, поля), к которым обращаются page objects.
42
- - **При изменении UI:** обновлять data-testid в компонентах и соответствующие селекторы в page objects; сверять с `*.cases.md`.
43
-
44
- # Требование к агенту
45
-
46
- При добавлении/изменении e2e‑тестов:
47
-
48
- - Сначала смотреть соответствующий `*.cases.md` и синхронизировать названия сценариев.
49
- - Размещать спеки рядом с планами в той же директории.
50
- - Переиспользовать общие page‑objects и хелперы, а не копировать селекторы напрямую в каждый тест.
51
-
52
- См. также **`testing/playwright-agents.md`** для planner/generator/healer.
6
+ # E2E structure in the project
7
+
8
+ - E2E folder: `app/__tests__/e2e/**`.
9
+ - Scenario plans:
10
+ - `*.cases.md` files**canonical source of scenarios**.
11
+ - Tests:
12
+ - `*.spec.ts` filesPlaywright scenario implementations.
13
+ - Shared utilities and abstractions:
14
+ - `app/__tests__/e2e/_shared/**` — constants, fluent interfaces, helpers.
15
+
16
+ # Principles
17
+
18
+ - Every scenario from `*.cases.md` must have a corresponding test (or set of tests).
19
+ - **Do not** weaken assertions in tests if that contradicts business expectations from the plans.
20
+ - Prefer:
21
+ - page objects (for example, `OrderHistoryPage.ts`);
22
+ - shared helpers from `_shared`.
23
+
24
+ # E2E test naming
25
+
26
+ - Language:
27
+ - in consumer apps, `test` / `it`, `describe` block titles, and steps in `*.cases.md` **may use the project locale** (often Russian) phrasing behavior and expected outcome;
28
+ - when the repo ESLint or team convention requires Russian titles, follow that; otherwise use clear English business phrases.
29
+ - E2E test title format (`test(...)` / `it(...)`):
30
+ - before the scenario description, include a **numbered prefix** in the form: `PREFIX-XXX Scenario description`.
31
+ - `PREFIX` abbreviation from the **first letters of words** in the entity under test, written **in Latin uppercase**.
32
+ - example: `OrderHistory` `OH`, `BillingReport` `BR`.
33
+ - `XXX` sequential test number **with three digits and leading zeros**: `001`, `002`, `010`, `123`, etc.
34
+ - full e2e test title example (Russian locale in consumer app):
35
+ - `test('OH-001 Отображается список заказов', async ({ page }) => { ... })` <!-- i18n-keep: E5 --> (Order list is displayed)
36
+ - within one entity (`PREFIX`), test numbers must form a **consistent sequence** with no duplicate numbers.
37
+
38
+ # data-testid for e2e
39
+
40
+ - **Selector priority:** `data-testid` for stable elements; `getByRole` and `getByLabel` for forms and accessible elements.
41
+ - **Naming:** `{parent}__{element}` scheme (for example, `history-page__title`, `history-page__recognition-banner__attach-files-button`).
42
+ - **Where to add:** on page root containers and key interactive elements (buttons, links, fields) that page objects target.
43
+ - **When changing UI:** update data-testid in components and matching selectors in page objects; cross-check with `*.cases.md`.
44
+
45
+ # Agent requirement
46
+
47
+ When adding/changing e2e tests:
48
+
49
+ - First read the matching `*.cases.md` and sync scenario titles.
50
+ - Place specs next to plans in the same directory.
51
+ - Reuse shared page objects and helpers instead of copying selectors directly into every test.
52
+
53
+ See also **`testing/playwright-agents.md`** for planner/generator/healer.