@bonesofspring/ai-rules 0.2.6 → 0.2.8

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 (405) hide show
  1. package/CHANGELOG.md +65 -1
  2. package/README.md +13 -5
  3. package/bin/cli.js +30 -1
  4. package/package.json +3 -2
  5. package/presets/_shared/README.md +1 -1
  6. package/presets/_shared/core/agent-team/agent-team-intake.md +1 -1
  7. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +1 -1
  8. package/presets/_shared/core/architecture/reference-features.template.md +12 -0
  9. package/presets/_shared/core/meta/preset-layering.md +1 -1
  10. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +6 -4
  11. package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
  12. package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
  13. package/presets/_shared/core/quality/code-quality-and-refactoring.md +11 -0
  14. package/presets/_shared/core/review/code-review-mr.md +9 -0
  15. package/presets/claude/go/CLAUDE.md +5 -1
  16. package/presets/claude/go/README.md +5 -1
  17. package/presets/claude/go/REPO_AGENTS.md +48 -0
  18. package/presets/claude/go/agents/README.md +19 -2
  19. package/presets/claude/go/agents/build-verifier.md +6 -1
  20. package/presets/claude/go/agents/codebase-analyzer.md +28 -0
  21. package/presets/claude/go/agents/feature-developer.md +13 -0
  22. package/presets/claude/go/hooks/README.md +6 -0
  23. package/presets/claude/go/hooks/examples/README.md +18 -0
  24. package/presets/claude/go/hooks/examples/format-edited.example.sh +9 -0
  25. package/presets/claude/go/hooks/examples/secret-guard.example.sh +10 -0
  26. package/presets/claude/go/hooks/examples/test-on-save.example.sh +11 -0
  27. package/presets/claude/go/rules/api-and-data/api-http.md +10 -3
  28. package/presets/claude/go/rules/architecture/reference-features.md +4 -0
  29. package/presets/claude/go/rules/stack/go-conventions.md +30 -3
  30. package/presets/claude/go/rules/tooling-and-review/agent-team-intake.md +1 -1
  31. package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
  32. package/presets/claude/go/rules/tooling-and-review/code-quality.md +12 -1
  33. package/presets/claude/go/rules/tooling-and-review/code-review.md +9 -0
  34. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +1 -1
  35. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -8
  36. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  37. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -0
  38. package/presets/claude/go/skills/README.md +2 -2
  39. package/presets/claude/go/skills/code-review/SKILL.md +11 -2
  40. package/presets/claude/go/skills/feature-delivery/SKILL.md +4 -0
  41. package/presets/claude/go/skills/technical-retro/SKILL.md +46 -2
  42. package/presets/claude/go/skills/write-adr/SKILL.md +41 -0
  43. package/presets/claude/go/team/conventions.md +21 -0
  44. package/presets/claude/go/team/fixtures/feature-full.json +5 -23
  45. package/presets/claude/ios-swift/CLAUDE.md +4 -1
  46. package/presets/claude/ios-swift/README.md +5 -1
  47. package/presets/claude/ios-swift/REPO_AGENTS.md +46 -0
  48. package/presets/claude/ios-swift/agents/README.md +3 -2
  49. package/presets/claude/ios-swift/agents/build-verifier.md +7 -2
  50. package/presets/claude/ios-swift/agents/codebase-analyzer.md +28 -0
  51. package/presets/claude/ios-swift/agents/feature-developer.md +13 -0
  52. package/presets/claude/ios-swift/hooks/README.md +6 -0
  53. package/presets/claude/ios-swift/hooks/examples/README.md +18 -0
  54. package/presets/claude/ios-swift/hooks/examples/format-edited.example.sh +13 -0
  55. package/presets/claude/ios-swift/hooks/examples/secret-guard.example.sh +10 -0
  56. package/presets/claude/ios-swift/hooks/examples/test-on-save.example.sh +8 -0
  57. package/presets/claude/ios-swift/rules/architecture/reference-features.md +4 -0
  58. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +5 -28
  59. package/presets/claude/ios-swift/rules/stack/swift-conventions.md +12 -2
  60. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +1 -1
  61. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
  62. package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +12 -1
  63. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +47 -0
  64. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +1 -1
  65. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -4
  66. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  67. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -0
  68. package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +8 -0
  69. package/presets/claude/ios-swift/skills/README.md +1 -0
  70. package/presets/claude/ios-swift/skills/code-review/SKILL.md +10 -2
  71. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +4 -0
  72. package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +46 -2
  73. package/presets/claude/ios-swift/skills/write-adr/SKILL.md +41 -0
  74. package/presets/claude/ios-swift/team/conventions.md +21 -0
  75. package/presets/claude/java/CLAUDE.md +29 -0
  76. package/presets/claude/java/MCP.md +13 -0
  77. package/presets/claude/java/README.md +26 -0
  78. package/presets/claude/java/REPO_AGENTS.md +45 -0
  79. package/presets/claude/java/agents/README.md +32 -0
  80. package/presets/claude/java/agents/api-contract-reviewer.md +23 -0
  81. package/presets/claude/java/agents/build-verifier.md +45 -0
  82. package/presets/claude/java/agents/ci-investigator.md +17 -0
  83. package/presets/claude/java/agents/code-reviewer.md +40 -0
  84. package/presets/claude/java/agents/codebase-analyzer.md +28 -0
  85. package/presets/claude/java/agents/debugger.md +25 -0
  86. package/presets/claude/java/agents/feature-developer.md +43 -0
  87. package/presets/claude/java/agents/integration-test-generator.md +22 -0
  88. package/presets/claude/java/agents/integration-test-healer.md +22 -0
  89. package/presets/claude/java/agents/integration-test-planner.md +22 -0
  90. package/presets/claude/java/agents/migration-specialist.md +31 -0
  91. package/presets/claude/java/agents/performance-auditor.md +22 -0
  92. package/presets/claude/java/agents/qa-tester.md +24 -0
  93. package/presets/claude/java/agents/security-reviewer.md +20 -0
  94. package/presets/claude/java/agents/solution-architect.md +28 -0
  95. package/presets/claude/java/agents/task-analyst.md +25 -0
  96. package/presets/claude/java/agents/task-router.md +69 -0
  97. package/presets/claude/java/agents/tech-writer.md +15 -0
  98. package/presets/claude/java/agents/unit-test-generator.md +21 -0
  99. package/presets/claude/java/agents/unit-test-healer.md +13 -0
  100. package/presets/claude/java/agents/unit-test-planner.md +26 -0
  101. package/presets/claude/java/commands/README.md +13 -0
  102. package/presets/claude/java/commands/feature-continue.md +51 -0
  103. package/presets/claude/java/commands/feature-start.md +30 -0
  104. package/presets/claude/java/commands/task-continue.md +49 -0
  105. package/presets/claude/java/commands/task.md +49 -0
  106. package/presets/claude/java/commands/technical-retro.md +58 -0
  107. package/presets/claude/java/hooks/README.md +16 -0
  108. package/presets/claude/java/hooks/chain-team-phases.sh +381 -0
  109. package/presets/claude/java/hooks/examples/README.md +18 -0
  110. package/presets/claude/java/hooks/examples/format-edited.example.sh +11 -0
  111. package/presets/claude/java/hooks/examples/secret-guard.example.sh +10 -0
  112. package/presets/claude/java/hooks/examples/test-on-save.example.sh +18 -0
  113. package/presets/claude/java/hooks/guard-shell-command.sh +80 -0
  114. package/presets/claude/java/mcp.json +11 -0
  115. package/presets/claude/java/rules/README.md +60 -0
  116. package/presets/claude/java/rules/api-and-data/README.md +14 -0
  117. package/presets/claude/java/rules/api-and-data/adapters-driven.md +38 -0
  118. package/presets/claude/java/rules/api-and-data/adapters-driving.md +38 -0
  119. package/presets/claude/java/rules/api-and-data/api-grpc.md +29 -0
  120. package/presets/claude/java/rules/api-and-data/api-http.md +36 -0
  121. package/presets/claude/java/rules/api-and-data/messaging-adapters.md +24 -0
  122. package/presets/claude/java/rules/api-and-data/persistence-adapters.md +33 -0
  123. package/presets/claude/java/rules/architecture/README.md +16 -0
  124. package/presets/claude/java/rules/architecture/application-usecases.md +32 -0
  125. package/presets/claude/java/rules/architecture/boundaries.md +29 -0
  126. package/presets/claude/java/rules/architecture/composition-root.md +31 -0
  127. package/presets/claude/java/rules/architecture/domain-layer.md +38 -0
  128. package/presets/claude/java/rules/architecture/feature-delivery.md +52 -0
  129. package/presets/claude/java/rules/architecture/module-public-api.md +31 -0
  130. package/presets/claude/java/rules/architecture/ports-interfaces.md +34 -0
  131. package/presets/claude/java/rules/architecture/reference-features.md +34 -0
  132. package/presets/claude/java/rules/stack/README.md +10 -0
  133. package/presets/claude/java/rules/stack/java-app-core.md +32 -0
  134. package/presets/claude/java/rules/stack/java-conventions.md +52 -0
  135. package/presets/claude/java/rules/testing/README.md +11 -0
  136. package/presets/claude/java/rules/testing/e2e.md +22 -0
  137. package/presets/claude/java/rules/testing/integration.md +27 -0
  138. package/presets/claude/java/rules/testing/unit.md +33 -0
  139. package/presets/claude/java/rules/tooling-and-review/README.md +21 -0
  140. package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +26 -0
  141. package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +179 -0
  142. package/presets/claude/java/rules/tooling-and-review/code-quality.md +83 -0
  143. package/presets/claude/java/rules/tooling-and-review/code-review.md +59 -0
  144. package/presets/claude/java/rules/tooling-and-review/design-guidance.md +110 -0
  145. package/presets/claude/java/rules/tooling-and-review/java-tooling.md +36 -0
  146. package/presets/claude/java/rules/tooling-and-review/post-change-test.md +32 -0
  147. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +36 -0
  148. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +56 -0
  149. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +39 -0
  150. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +41 -0
  151. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +44 -0
  152. package/presets/claude/java/rules/tooling-and-review/security-java.md +29 -0
  153. package/presets/claude/java/rules/tooling-and-review/technical-retro.md +20 -0
  154. package/presets/claude/java/rules/ui-and-accessibility/README.md +5 -0
  155. package/presets/claude/java/skills/README.md +5 -0
  156. package/presets/claude/java/skills/ci-investigation/SKILL.md +11 -0
  157. package/presets/claude/java/skills/code-review/SKILL.md +25 -0
  158. package/presets/claude/java/skills/debug-investigation/SKILL.md +15 -0
  159. package/presets/claude/java/skills/feature-delivery/SKILL.md +30 -0
  160. package/presets/claude/java/skills/integration-testing/SKILL.md +15 -0
  161. package/presets/claude/java/skills/technical-retro/SKILL.md +54 -0
  162. package/presets/claude/java/skills/unit-testing/SKILL.md +14 -0
  163. package/presets/claude/java/skills/write-adr/SKILL.md +41 -0
  164. package/presets/claude/java/team/README.md +27 -0
  165. package/presets/claude/java/team/conventions.md +21 -0
  166. package/presets/claude/java/team/fixtures/bugfix-standard.json +37 -0
  167. package/presets/claude/java/team/fixtures/feature-full.json +25 -0
  168. package/presets/claude/java/team/fixtures/feature-light.json +17 -0
  169. package/presets/claude/next/CLAUDE.md +5 -1
  170. package/presets/claude/next/README.md +6 -1
  171. package/presets/claude/next/REPO_AGENTS.md +48 -0
  172. package/presets/claude/next/agents/README.md +7 -1
  173. package/presets/claude/next/agents/build-verifier.md +7 -2
  174. package/presets/claude/next/agents/codebase-analyzer.md +28 -0
  175. package/presets/claude/next/agents/feature-developer.md +13 -0
  176. package/presets/claude/next/agents/security-reviewer.md +4 -2
  177. package/presets/claude/next/hooks/README.md +6 -0
  178. package/presets/claude/next/hooks/examples/README.md +18 -0
  179. package/presets/claude/next/hooks/examples/format-edited.example.sh +11 -0
  180. package/presets/claude/next/hooks/examples/secret-guard.example.sh +10 -0
  181. package/presets/claude/next/hooks/examples/test-on-save.example.sh +8 -0
  182. package/presets/claude/next/rules/README.md +2 -1
  183. package/presets/claude/next/rules/api-and-data/api-services.md +22 -0
  184. package/presets/claude/next/rules/api-and-data/http-client.md +21 -0
  185. package/presets/claude/next/rules/api-and-data/store-rtk.md +20 -0
  186. package/presets/claude/next/rules/architecture/architecture-boundaries.md +28 -0
  187. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +15 -0
  188. package/presets/claude/next/rules/architecture/public-imports.md +14 -0
  189. package/presets/claude/next/rules/architecture/reference-features.md +4 -0
  190. package/presets/claude/next/rules/stack/arrow-functions.md +13 -28
  191. package/presets/claude/next/rules/stack/next-app-router.md +13 -1
  192. package/presets/claude/next/rules/testing/tests-unit.md +13 -0
  193. package/presets/claude/next/rules/tooling-and-review/README.md +2 -1
  194. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +1 -1
  195. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
  196. package/presets/claude/next/rules/tooling-and-review/code-quality.md +12 -2
  197. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +22 -0
  198. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +1 -1
  199. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -4
  200. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  201. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -0
  202. package/presets/claude/next/rules/tooling-and-review/security-next.md +57 -0
  203. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +21 -0
  204. package/presets/claude/next/skills/README.md +2 -0
  205. package/presets/claude/next/skills/code-review/SKILL.md +10 -2
  206. package/presets/claude/next/skills/feature-delivery/SKILL.md +4 -0
  207. package/presets/claude/next/skills/react-performance/SKILL.md +44 -0
  208. package/presets/claude/next/skills/technical-retro/SKILL.md +19 -5
  209. package/presets/claude/next/skills/write-adr/SKILL.md +41 -0
  210. package/presets/claude/next/team/conventions.md +21 -0
  211. package/presets/cursor/go/AGENTS.md +6 -0
  212. package/presets/cursor/go/README.md +6 -5
  213. package/presets/cursor/go/REPO_AGENTS.md +48 -0
  214. package/presets/cursor/go/agents/README.md +23 -2
  215. package/presets/cursor/go/agents/build-verifier.md +6 -1
  216. package/presets/cursor/go/agents/codebase-analyzer.md +28 -0
  217. package/presets/cursor/go/agents/feature-developer.md +13 -0
  218. package/presets/cursor/go/commands/README.md +1 -1
  219. package/presets/cursor/go/hooks/README.md +4 -0
  220. package/presets/cursor/go/hooks/examples/README.md +18 -0
  221. package/presets/cursor/go/hooks/examples/format-edited.example.sh +9 -0
  222. package/presets/cursor/go/hooks/examples/secret-guard.example.sh +10 -0
  223. package/presets/cursor/go/hooks/examples/test-on-save.example.sh +11 -0
  224. package/presets/cursor/go/rules/README.md +2 -2
  225. package/presets/cursor/go/rules/agent-team-intake.mdc +1 -1
  226. package/presets/cursor/go/rules/agent-team-orchestrator.mdc +1 -1
  227. package/presets/cursor/go/rules/api-http.mdc +10 -3
  228. package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +12 -1
  229. package/presets/cursor/go/rules/code-review-mr.mdc +9 -0
  230. package/presets/cursor/go/rules/go-conventions.mdc +30 -3
  231. package/presets/cursor/go/rules/preset-layering.mdc +1 -1
  232. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +6 -8
  233. package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
  234. package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -0
  235. package/presets/cursor/go/rules/reference-features.mdc +4 -0
  236. package/presets/cursor/go/skills/README.md +2 -2
  237. package/presets/cursor/go/skills/code-review/SKILL.md +10 -1
  238. package/presets/cursor/go/skills/feature-delivery/SKILL.md +4 -0
  239. package/presets/cursor/go/skills/technical-retro/SKILL.md +46 -2
  240. package/presets/cursor/go/skills/write-adr/SKILL.md +41 -0
  241. package/presets/cursor/go/team/conventions.md +21 -0
  242. package/presets/cursor/go/team/fixtures/feature-full.json +5 -23
  243. package/presets/cursor/ios-swift/AGENTS.md +5 -2
  244. package/presets/cursor/ios-swift/README.md +6 -5
  245. package/presets/cursor/ios-swift/REPO_AGENTS.md +46 -0
  246. package/presets/cursor/ios-swift/agents/README.md +3 -2
  247. package/presets/cursor/ios-swift/agents/build-verifier.md +7 -2
  248. package/presets/cursor/ios-swift/agents/codebase-analyzer.md +28 -0
  249. package/presets/cursor/ios-swift/agents/feature-developer.md +13 -0
  250. package/presets/cursor/ios-swift/commands/README.md +1 -1
  251. package/presets/cursor/ios-swift/hooks/README.md +4 -0
  252. package/presets/cursor/ios-swift/hooks/examples/README.md +18 -0
  253. package/presets/cursor/ios-swift/hooks/examples/format-edited.example.sh +13 -0
  254. package/presets/cursor/ios-swift/hooks/examples/secret-guard.example.sh +10 -0
  255. package/presets/cursor/ios-swift/hooks/examples/test-on-save.example.sh +8 -0
  256. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +1 -1
  257. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +1 -1
  258. package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +12 -1
  259. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +9 -0
  260. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +5 -28
  261. package/presets/cursor/ios-swift/rules/preset-layering.mdc +1 -1
  262. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +6 -4
  263. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +1 -1
  264. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -0
  265. package/presets/cursor/ios-swift/rules/reference-features.mdc +4 -0
  266. package/presets/cursor/ios-swift/rules/swift-conventions.mdc +12 -2
  267. package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +8 -0
  268. package/presets/cursor/ios-swift/skills/README.md +1 -0
  269. package/presets/cursor/ios-swift/skills/code-review/SKILL.md +10 -2
  270. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +4 -0
  271. package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +46 -2
  272. package/presets/cursor/ios-swift/skills/write-adr/SKILL.md +41 -0
  273. package/presets/cursor/ios-swift/team/conventions.md +21 -0
  274. package/presets/cursor/java/AGENTS.md +37 -0
  275. package/presets/cursor/java/BUGBOT.md +11 -0
  276. package/presets/cursor/java/MCP.md +15 -0
  277. package/presets/cursor/java/README.md +26 -0
  278. package/presets/cursor/java/REPO_AGENTS.md +45 -0
  279. package/presets/cursor/java/agents/README.md +36 -0
  280. package/presets/cursor/java/agents/api-contract-reviewer.md +23 -0
  281. package/presets/cursor/java/agents/build-verifier.md +45 -0
  282. package/presets/cursor/java/agents/ci-investigator.md +17 -0
  283. package/presets/cursor/java/agents/code-reviewer.md +40 -0
  284. package/presets/cursor/java/agents/codebase-analyzer.md +28 -0
  285. package/presets/cursor/java/agents/debugger.md +25 -0
  286. package/presets/cursor/java/agents/feature-developer.md +43 -0
  287. package/presets/cursor/java/agents/integration-test-generator.md +22 -0
  288. package/presets/cursor/java/agents/integration-test-healer.md +22 -0
  289. package/presets/cursor/java/agents/integration-test-planner.md +22 -0
  290. package/presets/cursor/java/agents/migration-specialist.md +31 -0
  291. package/presets/cursor/java/agents/performance-auditor.md +22 -0
  292. package/presets/cursor/java/agents/qa-tester.md +24 -0
  293. package/presets/cursor/java/agents/security-reviewer.md +20 -0
  294. package/presets/cursor/java/agents/solution-architect.md +28 -0
  295. package/presets/cursor/java/agents/task-analyst.md +25 -0
  296. package/presets/cursor/java/agents/task-router.md +69 -0
  297. package/presets/cursor/java/agents/tech-writer.md +15 -0
  298. package/presets/cursor/java/agents/unit-test-generator.md +21 -0
  299. package/presets/cursor/java/agents/unit-test-healer.md +13 -0
  300. package/presets/cursor/java/agents/unit-test-planner.md +26 -0
  301. package/presets/cursor/java/commands/README.md +54 -0
  302. package/presets/cursor/java/commands/feature-continue.md +19 -0
  303. package/presets/cursor/java/commands/feature-start.md +33 -0
  304. package/presets/cursor/java/commands/task-continue.md +49 -0
  305. package/presets/cursor/java/commands/task.md +49 -0
  306. package/presets/cursor/java/commands/technical-retro.md +81 -0
  307. package/presets/cursor/java/hooks/README.md +12 -0
  308. package/presets/cursor/java/hooks/chain-team-phases.sh +381 -0
  309. package/presets/cursor/java/hooks/examples/README.md +18 -0
  310. package/presets/cursor/java/hooks/examples/format-edited.example.sh +11 -0
  311. package/presets/cursor/java/hooks/examples/secret-guard.example.sh +10 -0
  312. package/presets/cursor/java/hooks/examples/test-on-save.example.sh +18 -0
  313. package/presets/cursor/java/hooks/guard-shell-command.sh +80 -0
  314. package/presets/cursor/java/hooks.json +17 -0
  315. package/presets/cursor/java/mcp.json +11 -0
  316. package/presets/cursor/java/rules/README.md +97 -0
  317. package/presets/cursor/java/rules/adapters-driven.mdc +40 -0
  318. package/presets/cursor/java/rules/adapters-driving.mdc +40 -0
  319. package/presets/cursor/java/rules/agent-team-intake.mdc +20 -0
  320. package/presets/cursor/java/rules/agent-team-orchestrator.mdc +173 -0
  321. package/presets/cursor/java/rules/api-grpc.mdc +31 -0
  322. package/presets/cursor/java/rules/api-http.mdc +38 -0
  323. package/presets/cursor/java/rules/application-usecases.mdc +34 -0
  324. package/presets/cursor/java/rules/architecture-boundaries.mdc +30 -0
  325. package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +84 -0
  326. package/presets/cursor/java/rules/code-review-mr.mdc +54 -0
  327. package/presets/cursor/java/rules/composition-root.mdc +33 -0
  328. package/presets/cursor/java/rules/design-guidance.mdc +112 -0
  329. package/presets/cursor/java/rules/domain-layer.mdc +40 -0
  330. package/presets/cursor/java/rules/feature-delivery-workflow.mdc +47 -0
  331. package/presets/cursor/java/rules/java-app-core.mdc +33 -0
  332. package/presets/cursor/java/rules/java-conventions.mdc +54 -0
  333. package/presets/cursor/java/rules/java-tooling.mdc +34 -0
  334. package/presets/cursor/java/rules/messaging-adapters.mdc +26 -0
  335. package/presets/cursor/java/rules/module-public-api.mdc +33 -0
  336. package/presets/cursor/java/rules/persistence-adapters.mdc +35 -0
  337. package/presets/cursor/java/rules/ports-interfaces.mdc +36 -0
  338. package/presets/cursor/java/rules/post-change-test.mdc +30 -0
  339. package/presets/cursor/java/rules/preset-layering.mdc +36 -0
  340. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +56 -0
  341. package/presets/cursor/java/rules/preset-pr-checklist.mdc +39 -0
  342. package/presets/cursor/java/rules/preset-token-budget.mdc +41 -0
  343. package/presets/cursor/java/rules/preset-twin-sync.mdc +44 -0
  344. package/presets/cursor/java/rules/reference-features.mdc +36 -0
  345. package/presets/cursor/java/rules/security-java.mdc +31 -0
  346. package/presets/cursor/java/rules/technical-retro.mdc +14 -0
  347. package/presets/cursor/java/rules/tests-e2e.mdc +24 -0
  348. package/presets/cursor/java/rules/tests-integration.mdc +29 -0
  349. package/presets/cursor/java/rules/tests-unit.mdc +35 -0
  350. package/presets/cursor/java/skills/README.md +5 -0
  351. package/presets/cursor/java/skills/ci-investigation/SKILL.md +11 -0
  352. package/presets/cursor/java/skills/code-review/SKILL.md +25 -0
  353. package/presets/cursor/java/skills/debug-investigation/SKILL.md +15 -0
  354. package/presets/cursor/java/skills/feature-delivery/SKILL.md +30 -0
  355. package/presets/cursor/java/skills/integration-testing/SKILL.md +15 -0
  356. package/presets/cursor/java/skills/technical-retro/SKILL.md +54 -0
  357. package/presets/cursor/java/skills/unit-testing/SKILL.md +14 -0
  358. package/presets/cursor/java/skills/write-adr/SKILL.md +41 -0
  359. package/presets/cursor/java/team/README.md +31 -0
  360. package/presets/cursor/java/team/conventions.md +21 -0
  361. package/presets/cursor/java/team/fixtures/bugfix-standard.json +37 -0
  362. package/presets/cursor/java/team/fixtures/feature-full.json +25 -0
  363. package/presets/cursor/java/team/fixtures/feature-light.json +17 -0
  364. package/presets/cursor/next/AGENTS.md +5 -2
  365. package/presets/cursor/next/README.md +7 -6
  366. package/presets/cursor/next/REPO_AGENTS.md +48 -0
  367. package/presets/cursor/next/agents/README.md +7 -1
  368. package/presets/cursor/next/agents/build-verifier.md +7 -2
  369. package/presets/cursor/next/agents/codebase-analyzer.md +28 -0
  370. package/presets/cursor/next/agents/feature-developer.md +13 -0
  371. package/presets/cursor/next/agents/security-reviewer.md +4 -2
  372. package/presets/cursor/next/commands/README.md +1 -1
  373. package/presets/cursor/next/hooks/README.md +4 -0
  374. package/presets/cursor/next/hooks/examples/README.md +18 -0
  375. package/presets/cursor/next/hooks/examples/format-edited.example.sh +11 -0
  376. package/presets/cursor/next/hooks/examples/secret-guard.example.sh +10 -0
  377. package/presets/cursor/next/hooks/examples/test-on-save.example.sh +8 -0
  378. package/presets/cursor/next/rules/README.md +4 -3
  379. package/presets/cursor/next/rules/agent-team-intake.mdc +1 -1
  380. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +1 -1
  381. package/presets/cursor/next/rules/api-services.mdc +21 -0
  382. package/presets/cursor/next/rules/architecture-boundaries.mdc +27 -0
  383. package/presets/cursor/next/rules/arrow-functions.mdc +13 -28
  384. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +12 -2
  385. package/presets/cursor/next/rules/code-review-mr.mdc +11 -13
  386. package/presets/cursor/next/rules/http-client.mdc +21 -0
  387. package/presets/cursor/next/rules/layer-barrel-exports.mdc +15 -0
  388. package/presets/cursor/next/rules/next-app-router.mdc +13 -1
  389. package/presets/cursor/next/rules/preset-layering.mdc +1 -1
  390. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +6 -4
  391. package/presets/cursor/next/rules/preset-pr-checklist.mdc +1 -1
  392. package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -0
  393. package/presets/cursor/next/rules/public-imports.mdc +14 -0
  394. package/presets/cursor/next/rules/react-ui.mdc +20 -0
  395. package/presets/cursor/next/rules/reference-features.mdc +4 -0
  396. package/presets/cursor/next/rules/security-next.mdc +57 -0
  397. package/presets/cursor/next/rules/store-rtk.mdc +19 -0
  398. package/presets/cursor/next/rules/tests-unit.mdc +12 -0
  399. package/presets/cursor/next/skills/README.md +2 -0
  400. package/presets/cursor/next/skills/code-review/SKILL.md +10 -2
  401. package/presets/cursor/next/skills/feature-delivery/SKILL.md +4 -0
  402. package/presets/cursor/next/skills/react-performance/SKILL.md +44 -0
  403. package/presets/cursor/next/skills/technical-retro/SKILL.md +19 -5
  404. package/presets/cursor/next/skills/write-adr/SKILL.md +41 -0
  405. package/presets/cursor/next/team/conventions.md +21 -0
@@ -35,6 +35,10 @@ Taxonomy / shared core: [`presets/_shared/README.md`](../../../../_shared/README
35
35
  3. Зеркаль именование, порядок файлов, паттерны импортов и тестов.
36
36
  4. Если эталона нет — выбери **самую близкую** существующую фичу того же слоя и зафиксируй выбор в handoff.
37
37
 
38
+ ## Living conventions
39
+
40
+ Post-init gotchas / patterns / decisions: **`.claude/team/conventions.md`** (and the twin tool path if both Cursor and Claude are installed). Consumer-owned; not always-on. See root `AGENTS.md` § Living conventions.
41
+
38
42
  ## Связанные правила
39
43
 
40
44
  - `tooling-and-review/code-quality.md` — повторять паттерны, не deep-import.
@@ -1,45 +1,30 @@
1
1
  ---
2
2
  paths:
3
3
  - app/src/**/*.{ts,tsx,js,jsx}
4
+ impact: LOW
4
5
  ---
5
-
6
6
  # Стрелочные функции
7
7
 
8
- При разработке **использовать стрелочный синтаксис** для функций, где это допустимо в TypeScript/JavaScript.
9
-
10
- ## Что делать
8
+ Предпочитать стрелочный синтаксис для нового кода в `app/src/**`, где это допустимо в TypeScript/JavaScript.
11
9
 
12
- - Объявлять функции как **`const имя = (...) => { ... }`** вместо **`function имя(...) { ... }`**, если не нужны особенности объявления `function`.
13
- - Колбэки и обработчики — стрелочные функции: `.map((x) => ...)`, `onClick={() => ...}`.
14
- - React-компоненты и хуки — как стрелочные функции с явной типизацией пропсов/возврата по принятому в проекте стилю.
10
+ **Style enforcement:** детальные pref в ESLint (`app/eslint.config.mjs`) и Stylelint; после правок **`post-change-lint`**. Это правило краткий intent, не дублировать линтер.
15
11
 
16
- ## Исключения (допустимо не стрелка)
12
+ ## Исключения
17
13
 
18
- - **Генераторы** (`function*`) — стрелкой не выразить.
19
- - **Методы класса** если в коде используются классы, допустимы обычные методы (`method() {}`).
20
- - Когда осознанно нужны **подъём (hoisting)** или **имя функции в стеке** только у `function` редкие случаи.
14
+ - Генераторы (`function*`)
15
+ - Методы класса, где нужен `this` прототипа
16
+ - Редкие случаи hoisting / именованного `function` в стеке
21
17
 
22
- ## Примеры
18
+ ## Incorrect
23
19
 
24
- ```typescript
25
- // ❌ Избегать для нового кода
20
+ ```ts
26
21
  function formatLabel(id: string): string {
27
22
  return id.toUpperCase()
28
23
  }
29
-
30
- // ✅ Предпочтительно
31
- const formatLabel = (id: string): string => {
32
- return id.toUpperCase()
33
- }
34
24
  ```
35
25
 
36
- ```tsx
37
- // ✅ Предпочтительно
38
- const UserCard = ({ name }: { name: string }) => {
39
- return <span>{name}</span>
40
- }
41
- ```
26
+ ## Correct
42
27
 
43
- ## Требование к агенту
44
-
45
- При генерации и правке кода **по умолчанию выбирать стрелочные функции**; отступать к `function` только в случаях из раздела исключений.
28
+ ```ts
29
+ const formatLabel = (id: string): string => id.toUpperCase()
30
+ ```
@@ -22,7 +22,7 @@ paths:
22
22
 
23
23
  ## Маршруты и UX
24
24
 
25
- - Для async routes использовать **`loading.tsx`**, **`error.tsx`**, **`not-found.tsx`** по образцу соседних routes.
25
+ - Для async data routes **обязательны** sibling **`loading.tsx`** и **`error.tsx`** (и `not-found.tsx` где уместно) — по образцу соседних routes.
26
26
  - **Suspense** — для медленных client/server секций; fallback согласован с дизайн-системой.
27
27
  - Навигация — `stack/navigation-router.md` + router/link паттерны проекта.
28
28
 
@@ -31,6 +31,18 @@ paths:
31
31
  - RSC/route handlers **не импортируют UI-компоненты с client-only зависимостями** напрямую в server tree без `'use client'` границы.
32
32
  - Доменные типы — `@/types`; вызовы backend — через `@/api` / services, не raw `fetch` из page.tsx без слоя API.
33
33
 
34
+ ## Anti-hallucination (App Router)
35
+
36
+ Меньше угаданного кода лучше, чем больше. Сверяй API с версией Next в `package.json` и соседними routes.
37
+
38
+ | ❌ Avoid | ✅ Prefer |
39
+ |---------|----------|
40
+ | Sync `params` / `searchParams` / `cookies()` / `headers()` when the installed Next treats them as async | `await params` / `await cookies()` / patterns from existing pages |
41
+ | Invented `getSession()`-only server auth without project verify | Server session verify used by the repo (`tooling-and-review/security-next.md`) |
42
+ | Auth enforcement only in Edge middleware | Layout/page/Server Action checks + middleware refresh if present |
43
+ | New App Router APIs not in the installed Next major | Copy from a sibling route; mark `VERIFY` if unsure |
44
+ | Client `fetch` in `page.tsx` bypassing `@/api` | Services via `@/api` / established data loaders |
45
+
34
46
  ## Эталон
35
47
 
36
48
  Смотри существующий route той же сложности в `app/src/app/**` и повтори структуру (`architecture/reference-features.md`).
@@ -4,6 +4,7 @@ paths:
4
4
  - app/src/**/*.spec.tsx
5
5
  - app/src/**/*.test.ts
6
6
  - app/src/**/*.test.tsx
7
+ impact: MEDIUM
7
8
  ---
8
9
 
9
10
  # Общие правила тестирования
@@ -64,3 +65,15 @@ it('Returns empty list when user is guest', () => {})
64
65
  - для **компонентов UI** — **не создавать** поддиректорию `__tests__` внутри папки компонента; тест — соседний `*.spec.tsx`.
65
66
  - в **других модулях** (например `api/services`) допустима уже существующая схема с `__tests__` — не ломать ради единообразия с UI.
66
67
  - **новые** файлы — `*.spec.ts` / `*.spec.tsx` (см. блок «Имена файлов» выше).
68
+ ## Incorrect
69
+
70
+ ```ts
71
+ it('returns empty list when guest', () => {})
72
+ it('Возвращает пустой список. пользователь не авторизован', () => {})
73
+ ```
74
+
75
+ ## Correct
76
+
77
+ ```ts
78
+ it('Возвращает пустой список. Пользователь не авторизован', () => {})
79
+ ```
@@ -9,6 +9,7 @@ Lint, package manager, качество кода, agent team, code review MR.
9
9
  | `code-quality.md` | Boy scout rule, рефакторинг, ESLint | session start |
10
10
  | `agent-team-intake.md` | Когда предлагать `/task` и router pipeline | `paths:` commands/team |
11
11
  | `agent-team-orchestrator.md` | Dynamic agent team: router, pipeline, gates | `paths:` commands/team/agents |
12
- | `code-review-mr.md` | Чеклист ревью merge request | `paths:` review-related |
12
+ | `code-review-mr.md` | Чеклист ревью merge request + output contract | `paths:` review-related |
13
+ | `security-next.md` | Secrets, auth, XSS, Server Actions (coding-time) | `paths:` app/auth/env |
13
14
 
14
15
  On-demand (не rule): **`commands/technical-retro.md`** (фасилитация ретро).
@@ -12,6 +12,6 @@ When the user message looks like a **work request** (implement, add, fix, refact
12
12
 
13
13
  1. Prefer **`/task <their request>`** or invoke **task-router** first.
14
14
  2. Do not jump straight to coding without router + pipeline when scope is non-trivial.
15
- 3. Pure questions («как работает X», «объясни») — answer normally, no `/task`.
15
+ 3. Pure questions («как работает X», «объясни») — prefer agent **`codebase-analyzer`** (explain-as-is); trivial one-liners may be answered inline. Do not open `/task`.
16
16
 
17
17
  Exceptions: user explicitly says «без pipeline», «просто сделай», or continues an active slug.
@@ -146,7 +146,7 @@ If `pipeline.json` is missing (old `/feature-start` tasks), fall back to fixed p
146
146
 
147
147
  Do **not** run `/task` + router for:
148
148
 
149
- - Pure questions («как работает X», «объясни»).
149
+ - Pure questions («как работает X», «объясни») — prefer agent **`codebase-analyzer`** for deep traces; inline OK for trivial one-liners.
150
150
  - Typo / one-file fix / trivial config with no architecture risk.
151
151
  - User explicitly says «без pipeline», «просто сделай», or continues an active slug.
152
152
  - Single-line `docs-only` with no code impact.
@@ -61,10 +61,20 @@ description: Поддержка и улучшение качества кода
61
61
  - **Boy scout rule:** оставлять модуль немного лучше, чем до изменения (простые, безопасные улучшения).
62
62
  - Не жертвовать архитектурой и слоями ради краткости реализации.
63
63
 
64
- > Stack-specific lint gates, примеры и toolchain — в секции **Stack notes** адаптера пресета.
64
+ ## Agent discipline (anti-sycophancy)
65
+
66
+ - Unverifiable third-party API → mark `// VERIFY: lib.symbol @ version` (or stack equivalent) and surface uncertainty; never invent signatures.
67
+ - Before «is this correct?» — list ≥3 failure modes (empty, boundary, concurrency/state) or name what you could not check.
68
+ - Refactor without tests → propose a characterization test first; if declined, label `UNTESTED`.
69
+ - Comments = WHY only when non-obvious; ban self-referential «added for issue Y» comments.
70
+ - Urgency/authority pressure: name the technical trade-off once, then comply — no apology loops.
71
+ - Match verification depth to risk; report status by what was **verified**, not attempted.
65
72
 
73
+ Style enforcement (formatter / linter / post-change gate) lives in the **stack toolchain** — see each adapter’s **Stack notes**; do not invent a parallel style bible in this core body.
74
+
75
+ > Stack-specific lint gates, примеры и toolchain — в секции **Stack notes** адаптера пресета.
66
76
  ## Stack notes
67
77
 
68
78
  - Public API: index/barrel‑файлы (`architecture/public-imports.md`, `architecture/layer-barrel-exports.md`).
69
79
  - Примеры: общий хук/утилита; `any`/`unknown`; разделение компонента; CSS‑токены.
70
- - Lint/stylelint — только **`tooling-and-review/post-change-lint.md`**; ESLint: `app/eslint.config.mjs`. `eslint-disable` — точечно с комментарием «зачем».
80
+ - Lint/stylelint — только **`tooling-and-review/post-change-lint.md`**; ESLint: `app/eslint.config.mjs`. `eslint-disable` — точечно с комментарием «зачем». Style prose in domain rules stays thin — prefer ESLint/Stylelint over duplicating formatter recipes.
@@ -37,3 +37,25 @@ Concrete rule stems — in **Stack notes**.
37
37
  - Use local `git diff` — do not invent hosting metadata.
38
38
  - Boy scout rule: suggest fixes feasible within the MR scope.
39
39
  - No «большие рефакторинги» without an explicit request (`code-quality-and-refactoring`).
40
+
41
+ ## Output contract
42
+
43
+ Procedure details live in skill `code-review`. Required shape:
44
+
45
+ - Each finding cites **`path:line`**, the problem, impact, and a concrete fix direction.
46
+ - Rank by severity: **`blocker` | `important` | `nit`** (list blocker → nit).
47
+ - Vague («looks risky») is not a finding — cite evidence or ask for surrounding file context.
48
+ - End with a verdict on its own line: **`Safe to merge | needs changes | reject`**.
49
+
50
+ ## Stack notes
51
+
52
+ On-demand rule for review flows. **Procedure and output format:** skill `code-review`.
53
+
54
+ ### Checklist references
55
+
56
+ - Architecture layers: `architecture/architecture-boundaries.md`, `stack/next-app-core.md`; network: `api-and-data/http-client.md`
57
+ - Imports: `architecture/public-imports.md`, `architecture/layer-barrel-exports.md`
58
+ - UI: `ui-and-accessibility/react-ui.md`
59
+ - Security: `tooling-and-review/security-next.md`
60
+ - Tests: `testing/tests-unit.md`, `testing/playwright-agents.md`, `testing/tests-e2e-structure.md`
61
+ - Lint gate before final report: `tooling-and-review/post-change-lint.md`
@@ -24,7 +24,7 @@ paths:
24
24
  ## Куда класть новое правило
25
25
 
26
26
  1. Общие принципы для всех стеков → **core** + адаптеры с `<!-- shared-core: … -->`.
27
- 2. Только один из installable стеков (`next` / `ios-swift` / `go`) → **stack-specific** (не в `_shared`).
27
+ 2. Только один из installable стеков (`next` / `ios-swift` / `go` / `java`) → **stack-specific** (не в `_shared`).
28
28
  3. Только Cursor или только Claude packaging → platform artifact / frontmatter, не дублировать семантику.
29
29
 
30
30
  ## SoT
@@ -17,7 +17,7 @@ paths:
17
17
 
18
18
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
19
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
20
- - `go` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
20
+ - `go` / `java` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
21
21
  - Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
22
22
 
23
23
  ## Forbidden in ios-swift hooks/agents (FAIL)
@@ -35,14 +35,16 @@ Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild`
35
35
  - `xcuitest-test-` as handoff stems
36
36
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
37
37
 
38
- ## Forbidden in go hooks/agents (FAIL)
38
+ ## Forbidden in go / java hooks/agents (FAIL)
39
+
40
+ Shared backend-stack bans (both `go` and `java`):
39
41
 
40
42
  - `playwright-test-`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
41
43
  - Positive yarn recipes `lint:js` / `lint:css`
42
44
  - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
43
45
  - Agent file `accessibility-reviewer` (no UI surface)
44
46
 
45
- Required instead: `integration-test-*`; build-verifier / `post-change-test` / `go-tooling` (`go test`, `go vet`).
47
+ Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`) or `java-tooling` (`mvn test` / `./gradlew test`).
46
48
 
47
49
  ## Soft / document
48
50
 
@@ -51,4 +53,4 @@ Required instead: `integration-test-*`; build-verifier / `post-change-test` / `g
51
53
 
52
54
  ## Chain fork
53
55
 
54
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, and `go` (per platform).
56
+ `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, and `java` (per platform).
@@ -17,7 +17,7 @@ paths:
17
17
 
18
18
  - [ ] **SoT:** правки в `packages/…` (не только root `.cursor/`)
19
19
  - [ ] **Core:** если менялся `_shared/core/**` — обновлены все `<!-- shared-core: … -->` consumers (или documented intentional fork)
20
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, and go — см. `preset-twin-sync`)
20
+ - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, ios-swift, go, and java — см. `preset-twin-sync`)
21
21
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table актуален
22
22
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
23
23
  - [ ] **Leakage:** нет чужих stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -20,6 +20,7 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
20
20
  | `next` | `presets/cursor/next/rules/*.mdc` | `presets/claude/next/rules/<topic>/` | **Required** in `claude/next/rules/README.md` |
21
21
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
22
22
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
23
+ | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
23
24
 
24
25
  ## Same-PR checklist
25
26
 
@@ -38,5 +39,6 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
38
39
  - **next:** missing Claude twin for a changed Cursor rule → **FAIL** (mapping table required).
39
40
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
40
41
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
42
+ - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
41
43
 
42
44
  Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.
@@ -0,0 +1,57 @@
1
+ ---
2
+ description: Next.js frontend security — secrets, auth, XSS, Server Actions, env
3
+ paths:
4
+ - "app/src/**/*.{ts,tsx}"
5
+ - "app/**/app/**/*.{ts,tsx}"
6
+ - "**/*Auth*.{ts,tsx}"
7
+ - "**/*Session*.{ts,tsx}"
8
+ - "**/.env*"
9
+ - .claude/commands/**/*
10
+ - .claude/agents/**/*
11
+ ---
12
+
13
+ # Security (Next.js)
14
+
15
+ Coding-time checklist. Full audit → agent `security-reviewer` + skill `code-review`.
16
+
17
+ ## Secrets and env
18
+
19
+ - Never put service / secret keys in `NEXT_PUBLIC_*` or client bundles (`sk_`, private API keys, DB URLs).
20
+ - Do not commit `.env*` with real secrets; use CI / secret manager patterns already in the repo.
21
+ - Prefer server-only modules for privileged clients; do not import them into Client Components.
22
+
23
+ ## Auth and session
24
+
25
+ - Enforce auth on the **server** (layouts, pages, Server Actions, route handlers) — not only Edge middleware.
26
+ - Middleware may refresh sessions; do not treat middleware alone as authorization.
27
+ - Prefer httpOnly secure cookies over `localStorage` for tokens when the repo pattern allows.
28
+ - Never trust client-only session claims without a server verify step used by the project.
29
+
30
+ ## Mutations and input
31
+
32
+ - Server Actions / route handlers: validate untrusted input at the edge (Zod or the repo’s schema pattern).
33
+ - Prefer an explicit success/error response shape over throwing opaque errors to the client.
34
+ - CSRF / origin checks — follow existing repo middleware and form patterns for state-changing requests.
35
+
36
+ ## XSS and output
37
+
38
+ - Avoid `dangerouslySetInnerHTML` unless sanitized and unavoidable; prefer text nodes / safe components.
39
+ - Sanitize or encode user-generated HTML/markdown before render.
40
+ - Open redirects: validate redirect targets against an allowlist or same-origin paths.
41
+
42
+ ## Data exposure
43
+
44
+ - Do not log tokens, passwords, or full PII in client or server logs.
45
+ - Do not return full privileged records to the client — map to the minimum domain fields the UI needs.
46
+
47
+ ## Anti-hallucination
48
+
49
+ | ❌ Avoid | ✅ Prefer |
50
+ |---------|----------|
51
+ | Invented auth helpers not in `package.json` / codebase | Copy patterns from existing auth routes |
52
+ | Putting secrets in `NEXT_PUBLIC_*` | Server-only env + server modules |
53
+ | Auth only in middleware | Server `getUser` / session verify in layout/page/action |
54
+
55
+ ## Agent requirement
56
+
57
+ On auth, forms, payments, or env changes — load this rule and `tooling-and-review/code-review-mr.md`. Route sensitive features through `security-reviewer`.
@@ -2,6 +2,7 @@
2
2
  paths:
3
3
  - app/src/ui/**/*.tsx
4
4
  - app/src/ui/**/*.ts
5
+ impact: HIGH
5
6
  ---
6
7
 
7
8
  # Общие правила компонентов
@@ -89,3 +90,23 @@ paths:
89
90
  - **Testing Library** для React, как принято в проекте;
90
91
  - проверять поведение и бизнес‑правила, а не конкретные CSS‑классы.
91
92
  - В тестах ориентироваться на текст, роли и aria‑атрибуты.
93
+ ## Incorrect
94
+
95
+ ```tsx
96
+ import { mapUserDto } from '@/api/services/UsersApi/userResponseMappers'
97
+
98
+ export const UserBadge = ({ dto }: { dto: unknown }) => {
99
+ const user = mapUserDto(dto as any) // mapping + deep import in UI
100
+ return <span>{user.name}</span>
101
+ }
102
+ ```
103
+
104
+ ## Correct
105
+
106
+ ```tsx
107
+ import type { TUserProfile } from '@/types'
108
+
109
+ export const UserBadge = ({ user }: { user: TUserProfile }) => {
110
+ return <span>{user.name}</span>
111
+ }
112
+ ```
@@ -11,5 +11,7 @@
11
11
  | `unit-testing` | Planning, generating, or healing unit test coverage |
12
12
  | `playwright-e2e` | Planning, generating, or healing Playwright e2e coverage |
13
13
  | `technical-retro` | Technical retrospective for a task, sprint, incident, or agent pipeline |
14
+ | `write-adr` | Author an Architecture Decision Record (context / decision / consequences) |
15
+ | `react-performance` | Implementer checklist: bundle, RSC/client, memo, waterfalls, CWV (not a perf audit agent) |
14
16
 
15
17
  Папка копируется в `.claude/skills/` при `ai-rules init claude --preset next`, если существует.
@@ -17,11 +17,19 @@ Use the local repository as the source of truth: `git status`, `git diff`, task
17
17
  4. Check public imports through `@/types` and `@/api`, plus barrel updates for new public symbols.
18
18
  5. Review UI consistency, styling conventions, and prop shape.
19
19
  6. Check tests: unit for mapper/domain logic, behavior tests for HTTP client changes, e2e plan/spec updates for user flows.
20
- 7. Report validation gaps: lint, stylelint, type-check, or relevant tests not run.
20
+ 7. **Reuse lens:** flag new helpers that duplicate existing utilities; prefer adjacent shared modules over copy-paste.
21
+ 8. **Efficiency lens:** unnecessary work, sequential ops that should be parallel, hot-path bloat, no-op store updates, overly broad reads.
22
+ 9. Report validation gaps: lint, stylelint, type-check, or relevant tests not run.
21
23
 
22
24
  ## Output
23
25
 
24
- Lead with findings ordered by severity. Each finding should include the file, the problem, impact, and a concrete fix direction. If there are no findings, say so and call out remaining test or validation risk.
26
+ Lead with findings ordered by severity. Required shape (also in `code-review-mr`):
27
+
28
+ - Each finding: **`path:line`** — problem — impact — concrete fix direction.
29
+ - Severity: **`blocker` | `important` | `nit`** (list blocker → nit).
30
+ - Vague («looks risky») is not a finding — cite evidence or ask for surrounding context.
31
+ - End with a verdict line: **`Safe to merge | needs changes | reject`**.
32
+ - If there are no findings, say so and call out remaining test or validation risk.
25
33
 
26
34
  For agent team tasks, write `.claude/team/tasks/<slug>/review.md` and set `status.json` to `completed` or `changes_requested`.
27
35
 
@@ -10,6 +10,10 @@ description: Delivers Next.js frontend features end-to-end across domain types,
10
10
  3. Add or update focused tests for changed behavior.
11
11
  4. Validation from `app/`: **invoke** **`rules/tooling-and-review/post-change-lint.md`** after code edits (requestable, not session-start — but mandatory when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
12
12
 
13
+ ## Scope discipline
14
+
15
+ Implement only the current AC / decomposition task. Clarify ambiguity before coding; do not add unrelated hardening, polish, or refactors. See `feature-developer` → **Zero improvisation**.
16
+
13
17
  ## Handoff
14
18
 
15
19
  Summarize by layer, validation results, and known gaps. Agent team: update `.claude/team/tasks/<slug>/status.json`.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: react-performance
3
+ description: Next.js React performance checklist for implementers — bundle, RSC/client boundaries, memoization discipline, data-fetch waterfalls, Core Web Vitals. Use while coding a next feature; not a substitute for the performance-auditor agent when the user asks for an audit report.
4
+ ---
5
+
6
+ # React performance (next)
7
+
8
+ On-demand checklist for **implementers** shipping Next.js UI. For a formal diff audit report, use the **`performance-auditor`** agent instead — this skill does not replace it.
9
+
10
+ ## Bundle
11
+
12
+ - Prefer route-level and component-level code splitting for heavy UI (charts, editors).
13
+ - Avoid importing large libraries into shared layouts; keep client entry points small.
14
+ - Check that barrel files do not re-export heavy modules into every consumer.
15
+
16
+ ## RSC / client boundaries
17
+
18
+ - Default to Server Components; add `"use client"` only when hooks, browser APIs, or interactivity require it.
19
+ - Keep client leaves small; pass serializable props from server parents.
20
+ - Do not pull server-only modules (secrets, Node APIs) into client components.
21
+
22
+ ## Memoization discipline
23
+
24
+ - Do **not** add `useMemo` / `useCallback` by default — follow the repo’s React Compiler / team guidance.
25
+ - Memoize when profiling shows unstable props causing expensive subtree re-renders, or when an existing pattern already does.
26
+ - Prefer fixing state placement and list keys over blanket memo wrappers.
27
+
28
+ ## Data-fetch waterfalls
29
+
30
+ - Avoid sequential awaits that could be parallel (`Promise.all`) when independent.
31
+ - Lift shared fetches to a layout/parent when multiple children need the same data.
32
+ - Prefer store/thunk or server fetch patterns already used in the feature’s reference slice — do not invent a second data layer.
33
+
34
+ ## Core Web Vitals (quick)
35
+
36
+ | Metric | Implementer checks |
37
+ |--------|--------------------|
38
+ | LCP | Hero/media not blocked by unnecessary client JS; sensible image sizing |
39
+ | INP | Click handlers lean; avoid long sync work on the main thread |
40
+ | CLS | Reserve space for images/skeleton; stable fonts |
41
+
42
+ ## Handoff
43
+
44
+ If the user asks for a **performance audit report** of a diff/deliverable, route to **`performance-auditor`** (readonly `perf-report.md`), not this skill alone.
@@ -29,12 +29,26 @@ Ask for missing period, focus, task slug, participants, or format constraints. I
29
29
 
30
30
  For `/task` pipelines, include router, analyst, developer, **build-verifier**, reviewer, QA/e2e, hooks, and rules.
31
31
 
32
+ ## Wrong-turn taxonomy (optional)
33
+
34
+ When artifacts or the user mention agent mistakes, tag incidents:
35
+
36
+ | Kind | Signal |
37
+ |------|--------|
38
+ | `correction` | User pushback («no», «don't», «actually») |
39
+ | `retry` | Same tool/approach 2+ times before success |
40
+ | `waste` | Many searches before the right file |
41
+ | `reversal` | Edit then revert / delete |
42
+ | `dead-end` | Env/tool failure (missing binary, wrong path) |
43
+
44
+ Severity: **high** (explicit correction / large waste) · **med** · **low**. Confidence 0–100 — be honest; low-confidence items are optional.
45
+
32
46
  ## Preset feedback loop
33
47
 
34
- If the same issue appeared in 2+ tasks, add section **Preset updates**:
48
+ If the same issue appeared in **2+** tasks (or **3+** for packaging a new rule/skill — Rule of Three), add section **Preset updates**:
35
49
 
36
- - Proposed change to `.claude/rules/`, `.claude/agents/`, or `.claude/skills/`
37
- - One concrete diff or file path to update
38
- - Whether it belongs in session-start rules vs `paths:` vs skill
50
+ - Proposed change to `.claude/rules/`, `.claude/agents/`, `.claude/skills/`, or **`.claude/team/conventions.md`** (prefer conventions for project gotchas)
51
+ - One concrete snippet or file path
52
+ - Whether it belongs in session-start vs `paths:` vs skill vs conventions (see `PRESET-CONTRIBUTION` → Building blocks)
39
53
 
40
- Do not apply preset changes without user approval.
54
+ Do not apply preset or conventions changes without user approval.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: write-adr
3
+ description: Author an Architecture Decision Record (ADR) with Context, Decision, Consequences, and Links. Use when capturing a durable technical choice for the team.
4
+ ---
5
+
6
+ # Write ADR
7
+
8
+ On-demand skill for durable architecture decisions. Stack-agnostic sections — fill with project-specific paths and links.
9
+
10
+ ## When to use
11
+
12
+ - Choosing between non-trivial alternatives (storage, layering, library, API shape).
13
+ - Recording a decision that future agents/humans should not silently reverse.
14
+ - User asks for an ADR, decision log, or “why did we pick X”.
15
+
16
+ ## Template
17
+
18
+ Create (or append) a short markdown ADR in the repo’s agreed location (e.g. `docs/adr/`, `.cursor/team/`, wiki). Suggested filename: `NNNN-short-title.md`.
19
+
20
+ ```markdown
21
+ # ADR NNNN: <Title>
22
+
23
+ ## Context
24
+ What problem / constraint / force requires a decision?
25
+
26
+ ## Decision
27
+ What we chose (one clear option). Include rejected alternatives briefly if useful.
28
+
29
+ ## Consequences
30
+ Positive and negative outcomes; follow-up work; what becomes harder.
31
+
32
+ ## Links
33
+ Related PRs, issues, rules, prior ADRs, diagrams.
34
+ ```
35
+
36
+ ## Guidelines
37
+
38
+ - Prefer one decision per ADR.
39
+ - Keep Context factual; Decision imperative and short.
40
+ - Link living gotchas to `team/conventions.md` when the decision becomes a recurring local pattern.
41
+ - Do not put ADR bodies only in root `AGENTS.md` (overwrite on init).
@@ -0,0 +1,21 @@
1
+ # Living conventions (team)
2
+
3
+ Consumer-owned store for post-init gotchas, patterns, and decisions. **Not** always-on. Fill after `ai-rules init`. Root `AGENTS.md` only points here.
4
+
5
+ ## Gotchas
6
+
7
+ <!-- e.g. fragile flows, “never do X in this repo” -->
8
+
9
+ -
10
+
11
+ ## Patterns
12
+
13
+ <!-- local patterns beyond reference-features table -->
14
+
15
+ -
16
+
17
+ ## Decisions
18
+
19
+ <!-- short pointers to ADRs / product choices that affect code -->
20
+
21
+ -
@@ -1,5 +1,7 @@
1
1
  # Go hexagonal stack — Cursor agent team
2
2
 
3
+ **Repo-root agents:** see [`AGENTS.md`](../../AGENTS.md) at the project root (cross-tool setup, commands, security, living conventions pointers).
4
+
3
5
  | Задача | Куда смотреть |
4
6
  |--------|----------------|
5
7
  | Новая work-задача | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` |
@@ -8,6 +10,8 @@
8
10
  | После правок Go | `post-change-test.mdc` (+ `go-tooling.mdc`) |
9
11
  | Integration tests | `integration-test-*` + skill `integration-testing` |
10
12
  | Code review | skill `code-review` + `code-review-mr.mdc` |
13
+ | ADR | skill `write-adr` (on-demand) |
14
+ | Как работает X | agent `codebase-analyzer` (explain-as-is; без `/task`) |
11
15
 
12
16
  ## Install
13
17
 
@@ -15,6 +19,8 @@
15
19
  npx @bonesofspring/ai-rules init cursor --preset go
16
20
  ```
17
21
 
22
+ Копирует rules/agents/hooks/skills/team + `REPO_AGENTS.md` → корневой `AGENTS.md`.
23
+
18
24
  ## Dogfood (5 сценариев)
19
25
 
20
26
  1. `/task` — новый use case (domain → ports → adapters → wire).
@@ -10,14 +10,15 @@ npx @bonesofspring/ai-rules init cursor --preset go
10
10
 
11
11
  | Path | Содержание |
12
12
  |------|------------|
13
- | `AGENTS.md` | Quick-start |
13
+ | `REPO_AGENTS.md` | → repo-root `AGENTS.md` (cross-tool) |
14
+ | `AGENTS.md` | → `.cursor/AGENTS.md` quick-start |
14
15
  | `BUGBOT.md` | Bugbot review priorities (Go) |
15
16
  | `rules/**` | `.mdc` + README (alwaysApply ≤3) |
16
- | `agents/**` | **20** ролей (+ README) |
17
- | `skills/**` | **7** skills (в т.ч. `integration-testing`) |
17
+ | `agents/**` | **21** ролей (+ README; includes on-demand `codebase-analyzer`) |
18
+ | `skills/**` | **8** skills (incl. `integration-testing`, `write-adr`; no `react-performance`) |
18
19
  | `commands/**` | task, task-continue, feature-start/continue, technical-retro |
19
- | `hooks.json` + `hooks/**` | guard-shell + chain-team-phases |
20
- | `team/**` | fixtures + README |
20
+ | `hooks.json` + `hooks/**` | guard-shell + chain-team-phases; optional `hooks/examples/` |
21
+ | `team/**` | fixtures + `conventions.md` + README |
21
22
  | `mcp.json` + `MCP.md` | Context7 + Figma (same as ios baseline) |
22
23
 
23
24
  ## alwaysApply (≤3)