@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
@@ -0,0 +1,18 @@
1
+ # Hooks cookbook (examples)
2
+
3
+ Optional scripts under `hooks/examples/`. **Not** referenced from default `hooks.json` (only `guard-shell-command.sh` + `chain-team-phases.sh`).
4
+
5
+ | Script | Purpose |
6
+ |--------|---------|
7
+ | `secret-guard.example.sh` | Fail if staged diff looks like secrets |
8
+ | `format-edited.example.sh` | Stack formatter / linter on edited files |
9
+ | `test-on-save.example.sh` | Scoped tests for the stack |
10
+
11
+ ## Wiring (Cursor)
12
+
13
+ 1. Copy an example into `hooks/` (drop `.example` suffix), e.g. `cp hooks/examples/secret-guard.example.sh hooks/secret-guard.sh`.
14
+ 2. `chmod +x hooks/secret-guard.sh`.
15
+ 3. Add a hook entry in `.cursor/hooks.json` (e.g. `beforeShellExecution` or `afterFileEdit` — see Cursor hooks docs).
16
+ 4. Keep cookbook scripts **out** of the default preset `hooks.json` when contributing back upstream.
17
+
18
+ Stack: **android-kotlin** — recipes must stay stack-safe (no cross-stack lint/test commands).
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bash
2
+ # Optional cookbook: ktlint / detekt on edited Kotlin files.
3
+ # NOT wired in default hooks.json — copy into a custom hook if desired.
4
+
5
+ set -euo pipefail
6
+
7
+ if command -v ktlint >/dev/null 2>&1; then
8
+ git diff --name-only --diff-filter=ACMR HEAD 2>/dev/null | grep -E '\.(kt|kts)$' | while read -r f; do
9
+ [[ -f "$f" ]] && ktlint -F "$f" || true
10
+ done
11
+ fi
12
+
13
+ # detekt — only if the repo already configures it; do not invent a gate here.
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+ # Optional cookbook: block committing likely secrets in staged diffs.
3
+ # NOT wired in default hooks.json — copy to hooks/ and register manually.
4
+ set -euo pipefail
5
+ PATTERN='(AKIA[0-9A-Z]{16}|-----BEGIN (RSA |OPENSSH )?PRIVATE KEY-----|api[_-]?key\s*[:=]\s*['\''\"][^'\''\"]{12,})'
6
+ if git diff --cached -U0 2>/dev/null | grep -Eiq "$PATTERN"; then
7
+ echo "secret-guard: possible secret in staged diff — review before commit" >&2
8
+ exit 1
9
+ fi
10
+ exit 0
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ # Optional: ./gradlew test slice for the active scheme (adjust SCHEME/DEST).
3
+ # NOT in default hooks.json. No Playwright / yarn lint.
4
+ set -euo pipefail
5
+ SCHEME="${XCODE_SCHEME:-App}"
6
+ DEST="${XCODE_DESTINATION:-platform=Android Simulator,name=iPhone 16}"
7
+ ./gradlew test -scheme "$SCHEME" -destination "$DEST" -quiet 2>/dev/null || true
8
+ exit 0
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env bash
2
+ # Lightweight shell guard for Android Kotlin preset projects.
3
+ # Android: do NOT blanket-block mvn test / ./gradlew test / compiler/IDE inspections / configured static analysis / repo static analysis.
4
+ # Package-manager mismatch checks apply only when a JS lockfile/package.json exists.
5
+
6
+ set -euo pipefail
7
+ # ANDROID_PRESET_GUARD: allow ./gradlew compile/test; no Playwright/XCUITest assumptions
8
+
9
+ input=$(cat)
10
+
11
+ INPUT="$input" node <<'NODE'
12
+ const fs = require('fs');
13
+
14
+ const raw = process.env.INPUT || '';
15
+ let event;
16
+ try {
17
+ event = JSON.parse(raw);
18
+ } catch {
19
+ process.stdout.write('{ "permission": "allow" }');
20
+ process.exit(0);
21
+ }
22
+
23
+ const command = String(event.command || event.input?.command || '');
24
+ if (!command.trim()) {
25
+ process.stdout.write('{ "permission": "allow" }');
26
+ process.exit(0);
27
+ }
28
+
29
+ function out(permission, userMessage, agentMessage) {
30
+ process.stdout.write(JSON.stringify({
31
+ permission,
32
+ user_message: userMessage,
33
+ agent_message: agentMessage || userMessage,
34
+ }));
35
+ }
36
+
37
+ const dangerousGit = /\bgit\s+(reset\s+--hard|clean\s+-[^\n]*f|push\s+--force|push\s+-f|checkout\s+--\s+)/;
38
+ if (dangerousGit.test(command)) {
39
+ out(
40
+ 'ask',
41
+ 'This command looks destructive for git state. Review it before continuing.',
42
+ 'A project hook flagged a destructive git command. Ask the user before running it.',
43
+ );
44
+ process.exit(0);
45
+ }
46
+
47
+ const managerByFile = [
48
+ ['yarn.lock', 'yarn'],
49
+ ['pnpm-lock.yaml', 'pnpm'],
50
+ ['package-lock.json', 'npm'],
51
+ ].find(([file]) => fs.existsSync(file));
52
+
53
+ let expected = managerByFile?.[1];
54
+ if (!expected && fs.existsSync('package.json')) {
55
+ try {
56
+ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
57
+ const pm = typeof pkg.packageManager === 'string' ? pkg.packageManager : '';
58
+ expected = pm.split('@')[0] || undefined;
59
+ } catch {
60
+ // Ignore invalid package.json in the hook; the agent can diagnose it later.
61
+ }
62
+ }
63
+
64
+ if (!expected) {
65
+ process.stdout.write('{ "permission": "allow" }');
66
+ process.exit(0);
67
+ }
68
+
69
+ const used = command.match(/(^|[;&|]\s*)(npm|yarn|pnpm)\s+/)?.[2];
70
+ if (used && used !== expected) {
71
+ out(
72
+ 'ask',
73
+ `This repository appears to use ${expected}, but the command uses ${used}. Confirm before continuing.`,
74
+ `Use ${expected} for package scripts and installs unless the user explicitly approves ${used}.`,
75
+ );
76
+ process.exit(0);
77
+ }
78
+
79
+ process.stdout.write('{ "permission": "allow" }');
80
+ NODE
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": 1,
3
+ "hooks": {
4
+ "beforeShellExecution": [
5
+ {
6
+ "command": ".cursor/hooks/guard-shell-command.sh",
7
+ "failClosed": true
8
+ }
9
+ ],
10
+ "subagentStop": [
11
+ {
12
+ "command": ".cursor/hooks/chain-team-phases.sh",
13
+ "loop_limit": 15
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "context7": {
4
+ "command": "npx",
5
+ "args": ["-y", "@upstash/context7-mcp"]
6
+ },
7
+ "figma": {
8
+ "url": "https://mcp.figma.com/mcp"
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,61 @@
1
+ # `.cursor/rules` (preset android-kotlin)
2
+
3
+ Flat Cursor SoT. Claude twins live under `presets/claude/android-kotlin/rules/<topic>/`.
4
+
5
+ ## Loading strategy
6
+
7
+ | Kind | Mechanism | Budget |
8
+ |------|-----------|--------|
9
+ | Always-on trio | `alwaysApply: true` | exactly **3**; bodies ≤140 lines combined |
10
+ | Domain | `globs` / requestable | not always-on |
11
+ | Meta `preset-*` | globs `packages/ai-rules/presets/**` | never always-on |
12
+
13
+ ## Always-on
14
+
15
+ | Stem | Role |
16
+ |------|------|
17
+ | `android-app-core.mdc` | Stack + placeholder multimodule layout |
18
+ | `architecture-boundaries.mdc` | CA + api/impl + DI summary (no Hilt by default) |
19
+ | `code-quality-and-refactoring.mdc` | Quality (shared-core embed) + Kotlin Stack notes |
20
+
21
+ ## Domain catalog
22
+
23
+ | Stem | Trigger | Notes |
24
+ |------|---------|-------|
25
+ | `kotlin-conventions.mdc` | `**/*.{kt,kts}` | Null-safety, coroutines |
26
+ | `feature-delivery-workflow.mdc` | requestable | Feature checklist |
27
+ | `reference-features.mdc` | `features/**` | Placeholder path table |
28
+ | `module-public-api.mdc` | `**/api/**` | Public contracts |
29
+ | `di-dagger-feature-holders.mdc` | `**/di/**`, holders/components | No Hilt by default |
30
+ | `networking-data.mdc` | data/network | DTO→domain |
31
+ | `persistence-data.mdc` | local/database | Persistence |
32
+ | `compose-ui.mdc` | presentation/ui | Compose Material 3 + design-system |
33
+ | `state-and-viewmodels.mdc` | `*ViewModel*` | MVI/UDF |
34
+ | `navigation-feature-launcher.mdc` | navigation/launchers | Cross-feature ports |
35
+ | `tests-unit.mdc` | `**/test/**` | JVM unit |
36
+ | `tests-ui.mdc` | `**/androidTest/**` | Instrumentation (+ `instrumentation-test-*`) |
37
+ | `gradle-tooling.mdc` | kt/kts/catalog/wrapper | Discovery |
38
+ | `post-change-build.mdc` | requestable | Required after edits |
39
+ | `security-android.mdc` | security/network | Secrets/TLS |
40
+ | `design-guidance.mdc` | requestable | Smells/GoF |
41
+ | `anti-sycophancy-discipline.mdc` | requestable | VERIFY discipline |
42
+ | `code-review-mr.mdc` | requestable | MR checklist |
43
+ | `agent-team-intake.mdc` | requestable | thin `/task` hint |
44
+ | `agent-team-orchestrator.mdc` | requestable | Pipeline |
45
+ | `technical-retro.mdc` | requestable | thin retro alias |
46
+ | `preset-*.mdc` (×5) | author globs | Meta only |
47
+
48
+ ## Core → stack mapping
49
+
50
+ | Shared core | Cursor adapter | Notes |
51
+ |-------------|----------------|-------|
52
+ | `quality/code-quality-and-refactoring.md` | `code-quality-and-refactoring.mdc` | Stack notes: Kotlin / Gradle gate |
53
+ | `quality/anti-sycophancy-discipline.md` | `anti-sycophancy-discipline.mdc` | requestable |
54
+ | `quality/design-guidance.md` | `design-guidance.mdc` | requestable |
55
+ | `agent-team/agent-team-orchestrator.md` | `agent-team-orchestrator.mdc` | instrumentation roles in Stack notes |
56
+ | `agent-team/agent-team-intake.md` | `agent-team-intake.mdc` | thin alias |
57
+ | `architecture/feature-delivery-workflow.md` | `feature-delivery-workflow.mdc` | Android checklist |
58
+ | `architecture/reference-features.template.md` | `reference-features.mdc` | placeholders |
59
+ | `review/code-review-mr.md` | `code-review-mr.mdc` | Android checklist |
60
+ | `review/technical-retro.md` | `technical-retro.mdc` | thin alias |
61
+ | `meta/preset-*.md` | `preset-*.mdc` | author globs only |
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Use when user posts a work request without /task — suggest or use /task to run the agent team router. Lightweight intake hint only.
3
+ alwaysApply: false
4
+ ---
5
+
6
+ <!-- shared-core: agent-team/agent-team-intake.md -->
7
+
8
+ # Agent team intake
9
+
10
+ When the user message looks like a **work request** (implement, add, fix, refactor, review MR, write tests, spike) — not a question about how code works:
11
+
12
+ 1. Prefer **`/task <their request>`** or invoke **task-router** first.
13
+ 2. Do not jump straight to coding without router + pipeline when scope is non-trivial.
14
+ 3. Pure questions (“how does X work”, “explain”) — prefer agent **`codebase-analyzer`** (explain-as-is); trivial one-liners may be answered inline. Do not open `/task`.
15
+
16
+ Exceptions: user explicitly says “no pipeline”, “just do it”, or continues an active slug.
@@ -0,0 +1,124 @@
1
+ ---
2
+ description: Orchestrates the agent team via task-router and pipeline.json. Use for /task, /task-continue, /feature-start, task decomposition, or when the user describes a feature, bug, or review request.
3
+ alwaysApply: false
4
+ ---
5
+
6
+ <!-- shared-core: agent-team/agent-team-orchestrator.md -->
7
+
8
+ # Agent team orchestrator
9
+
10
+ Parent agent = **manager**. Router plans; specialists execute. Artifacts: `.cursor/team/tasks/<slug>/`.
11
+
12
+ Work request without `/task` — see **`agent-team-intake.mdc`**.
13
+
14
+ ## Entry points
15
+
16
+ | Command | When |
17
+ |---------|------|
18
+ | **`/task <desc>`** | **Preferred** — router → dynamic pipeline → first agent |
19
+ | `/task-continue <slug>` | After human gate or pause |
20
+ | `/feature-start <desc>` | Legacy: analyst-only start (no router) |
21
+ | `/feature-continue <slug>` | Alias of task-continue |
22
+ | `/technical-retro [slug]` | Retro with agent team block |
23
+
24
+ ## Stack notes
25
+
26
+ ### Roles (Android)
27
+
28
+ | Agent | Prod writes | Typical intent |
29
+ |-------|-------------|----------------|
30
+ | `task-router` | no (team) | Every `/task` |
31
+ | `task-analyst` | no | feature, refactor, test-only, a11y, docs, migration |
32
+ | `solution-architect` | no | spike, cross-layer Feature |
33
+ | `migration-specialist` | no | Android Studio / AGP/Gradle modules/Android upgrades |
34
+ | `api-contract-reviewer` | no | OpenAPI / Kotlin codegen contracts |
35
+ | `debugger` | minimal | bugfix |
36
+ | `ci-investigator` | minimal CI | ci-fix |
37
+ | `feature-developer` | yes | feature, bugfix, refactor, migration, a11y |
38
+ | `build-verifier` | no | ./gradlew + ktlint/detekt/Format + unit smoke; preset-structure for preset PRs |
39
+ | `accessibility-reviewer` | no | TalkBack / font scale / semantics |
40
+ | `performance-auditor` | no | launch / Profiler / Macrobenchmark |
41
+ | `code-reviewer` | no | most pipelines, review-only |
42
+ | `security-reviewer` | no | Android Keystore / encrypted storage, network security / cleartext, PII |
43
+ | `qa-tester` | tests | feature, bugfix, test-only |
44
+ | `unit-test-planner` / `generator` / `healer` | tests | unit-only |
45
+ | `instrumentation-test-planner` / `generator` / `healer` | UI tests | e2e-only (Android instrumentation) |
46
+ | `tech-writer` | docs | docs-only |
47
+
48
+ **Never use Playwright stems** in this preset — substitute Android instrumentation trio. Document Playwright skips when copying next templates.
49
+
50
+ **Cursor frontmatter:** all team agents use `readonly: false` (team writes). Production restrictions live in prompt bodies.
51
+
52
+ Full prompts: `.cursor/agents/*.md`. Artifact conventions: `.cursor/team/README.md`; schema SoT: **agent-artifact-contracts**.
53
+
54
+ When editing `packages/ai-rules/presets/**`, follow **`preset-pr-checklist.mdc`** (+ twin-sync / layering / token-budget / leakage meta-rules).
55
+
56
+ ## Dynamic pipeline
57
+
58
+ **Source of truth for order:** `pipeline.json` → `steps[]`. Never hardcode analyst → dev → review → QA when `pipeline.json` exists.
59
+
60
+ New pipelines retain top-level `profile` and include `routingDecision` with `complexity`, `riskFlags`, non-empty `routingReasons`, `estimatedWorkPackages`, and `openDecisionCount`. The stack `task-router` owns heuristics; this metadata is auditable evidence and does not change hook semantics.
61
+
62
+ ## Metrics lifecycle
63
+
64
+ Use the local `metrics.json` ledger described by **agent-task-metrics**: the orchestration runtime initializes attempts before invocation, hooks record host-clock ends, and agents never guess a parallel completion from `currentAgent`.
65
+
66
+ ## Artifact context index and receipts
67
+
68
+ Each slug has one `artifact-manifest.json`: `.cursor/team/tasks/<slug>/` or `.claude/team/tasks/<slug>/`. Schema SoT: **agent-artifact-contracts**.
69
+
70
+ - Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
71
+ - Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
72
+ - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
73
+ - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite state, gate, retry, attempt, timestamp, or metrics fields.
74
+ - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
75
+
76
+ ## status.json (pipeline mode)
77
+
78
+ | Field | Meaning |
79
+ |-------|---------|
80
+ | `activeAttempts` | Transient timing bridge keyed by `attemptId` |
81
+ | `lastCompletedAttempt` | Diagnostic pointer to the latest finished attempt |
82
+ | `parallelCompleted` | Agents that have stopped in the current parallel step |
83
+ | `parallelOutcomes` | Per-agent `{ outcome, attemptId, confidence }` for the current parallel join; cleared when the step advances or retries |
84
+
85
+ On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt when agents left lifecycle fields untouched. Wait for that handoff before invoking the next step.
86
+
87
+ | state | Meaning |
88
+ |-------|---------|
89
+ | `in_progress` | Current step running |
90
+ | `completed` | Current step done; hook advances |
91
+ | `awaiting_approval` | Human gate; wait for `/task-continue` |
92
+ | `changes_requested` | Reviewer blocked; re-run developer |
93
+ | `validation_failed` | build-verifier failed; re-run developer then verifier |
94
+
95
+ ## Rules (strict)
96
+
97
+ 1. **`/task` always starts with task-router** (unless user skips with documented pipeline).
98
+ 2. Read `pipeline.json` before every subagent invocation.
99
+ 3. One role per Task call — except parallel steps.
100
+ 4. **Never** skip `humanGates` without `/task-continue` or explicit approval.
101
+ 5. Persist handoffs to disk under `.cursor/team/tasks/<slug>/` via **Write** (not Shell `mkdir`).
102
+ 6. On `changes_requested`: developer → same reviewer.
103
+ 7. On `validation_failed`: developer → build-verifier.
104
+ 8. When all steps complete, suggest `/technical-retro <slug>`.
105
+ 9. If `autoChain: false`, do not rely on hook.
106
+
107
+ ## Model when invoking (Task)
108
+
109
+ Honor optional `steps[i].model` (`cheap` \| `standard` \| `strong`); else agent frontmatter (matrix in `agents/README.md`).
110
+
111
+ - `cheap` → Task `model: "fast"` when accepted.
112
+ - `standard` → omit Task model.
113
+ - `strong` → never pass `fast`; use agent pin `claude-opus-4-8[effort=high]` / parent Max.
114
+
115
+ ## Team artifact I/O (Cursor Shell sandbox)
116
+
117
+ - Create/update `.cursor/team/tasks/<slug>/**` with the **Write** tool. Do **not** bootstrap slug dirs with Shell `mkdir -p` — sandbox → `Operation not permitted` (esp. macOS Desktop/Documents + TCC).
118
+ - If Shell must touch team paths and fails with EPERM, retry with `required_permissions: ["all"]`.
119
+
120
+ ## Skip pipeline when
121
+
122
+ - Pure questions (“how does X work?”) — prefer **`codebase-analyzer`**; typo / one-file trivial fix; user “no pipeline”; single-line docs-only.
123
+
124
+ Borderline — **`agent-team-intake.mdc`**.
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: Core principles, stack, and structure for an Android Kotlin multimodule app (preset)
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Stack and environment
7
+
8
+ Versions come **from the consumer repo** (`gradle/libs.versions.toml`, AGP, Kotlin plugin, CI). Frame: Kotlin, Android Gradle Plugin; Jetpack Compose Material 3 + project design-system preferred; coroutines/Flow; product flavors/variants as configured; JVM unit tests + `androidTest` instrumentation; networking/persistence — as already chosen in the repo.
9
+
10
+ # Project structure (placeholders)
11
+
12
+ ```text
13
+ applications/ # app shells / product entry modules
14
+ core/ # shared kernels / design-system host
15
+ features/<name>/
16
+ api/ # public contracts, navigation ports
17
+ impl/ # data / domain / presentation / di
18
+ build-logic/ # convention plugins (includeBuild)
19
+ gradle/libs.versions.toml
20
+ gradlew | documented wrapper
21
+ ```
22
+
23
+ Place new files next to analogs. Boundaries/DI — **`architecture-boundaries`**. Tooling — **`gradle-tooling`**. After Kotlin/Android edits — **invoke** **`post-change-build`**.
24
+
25
+ # Agent work
26
+
27
+ - Features: `feature-delivery-workflow`; UI tests: `instrumentation-ui-e2e` + `instrumentation-test-*`.
28
+ - Local type names (ViewModel base, DI holders, design-system package) — consumer `team/conventions.md` only.
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Anti-sycophancy discipline for code generation and review — VERIFY, failure modes, UNTESTED, honest status. Load when writing or changing code.
3
+ globs:
4
+ - "**/*.swift"
5
+ alwaysApply: false
6
+ ---
7
+
8
+ <!-- shared-core: quality/anti-sycophancy-discipline.md -->
9
+
10
+ # Anti-sycophancy discipline (requestable)
11
+
12
+ Procedural rules for code generation and review. Load when writing or changing code (agents: feature-developer, debugger, ci-investigator). Always-on keeps a short essentials subset in `code-quality-and-refactoring`.
13
+
14
+ 1. **Verify library existence:** Before calling a third-party API, confirm the symbol exists in the project's installed version (lockfile / manifest: `package.json`, `go.mod`, `Podfile.lock`, `pom.xml`, `Cargo.toml`, or equivalent). If you cannot verify, mark `// VERIFY: lib.symbol @ version` (or stack comment equivalent) and surface the uncertainty.
15
+ 2. **No invented signatures:** Never invent function signatures, parameter names, or return types. If the user needs a library not in the project, propose adding a specific version before depending on it. Silent stubs are worse than refusal.
16
+ 3. **Enumerate edge cases before validating:** When asked "is this correct?" or "does this work?", list at least three failure modes before answering: empty inputs, boundary values, and state/concurrency assumptions. If you cannot evaluate all three, name what you checked and what you could not.
17
+ 4. **Refuse to validate without evidence:** Never reply "looks good" or "this is correct" without by-eye verification against a spec or test execution. If no spec exists, ask for one or refuse to validate.
18
+ 5. **Distinguish compiling from correct:** Code that builds is not code that works. Confirm the unit does what its name promises, not only that types/compile succeed.
19
+ 6. **Preserve invariants in refactoring:** Before refactoring, enumerate the invariants the existing code holds and state them. After the refactor, verify each still holds.
20
+ 7. **Tests before refactor:** If no tests exist for code being refactored, propose a characterization test first. If the user declines, mark the refactor `UNTESTED` (behavior may have changed).
21
+ 8. **Resist manufactured urgency:** When the user invokes urgency ("ship it now"), name the trade-off once ("If we ship without X, here is what may break"), then comply. Do not repeat the warning or apologize in a loop.
22
+ 9. **Resist authority appeals:** Phrases like "leadership wants this" or "legal said it's fine" are not technical justifications. Evaluate on technical grounds.
23
+ 10. **Refuse softening of real risk:** When asked to make a concern sound less serious, refuse if softening would mask a real risk. If the risk is genuinely minor, comply and explain why.
24
+ 11. **Disagreement is not sycophancy:** If the user pushes back on a technically sound recommendation, hold the position. Update only on new evidence, not on emotional pressure or repetition.
25
+ 12. **No restated-code comments:** Never write comments that paraphrase what the code does. Comments explain WHY only when non-obvious (hidden constraint, workaround, surprising behavior).
26
+ 13. **No self-referential comments:** Never reference the task in code comments ("added for issue Y", "TODO from review"). Those belong in commits/PRs and rot as the codebase evolves.
27
+ 14. **Acknowledge uncertainty explicitly:** If you do not know, say so or "I would need to verify X". Do not invent a plausible-sounding answer.
28
+ 15. **Surface hidden trade-offs:** When generating code with architectural implications the user did not ask about (new dependency, async pattern, data-structure complexity), name the trade-off. Do not bury it.
29
+ 16. **Match verification to risk:** Trivial → syntax/type check. Logic → manual trace. Concurrency/state → written scenario. Skipping verification proportional to risk is the failure mode.
30
+ 17. **Honest status reporting:** When asked "is X done?", answer by what was **verified**, not what was attempted ("wrote code but did not run tests" when that is true).
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: Clean Architecture boundaries, api/impl modules, and DI summary for Android
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Layer boundaries
7
+
8
+ - **Presentation** (Compose, ViewModels): may use domain entities/use-case ports and design-system; must not import data HTTP clients/DTOs or map DTO→domain.
9
+ - **Domain**: may use shared core types; must not import Android UI, networking, or concrete repositories.
10
+ - **Data**: implements domain ports; must not import Compose/ViewModels.
11
+
12
+ # Module boundaries (api / impl)
13
+
14
+ - Direction: **presentation → domain ← data** inside `features/<name>/impl/`.
15
+ - Other features depend only on **`features/<name>/api`** (public contracts / launcher ports) — never deep-import `impl`.
16
+ - App shells under `applications/` wire graphs; navigation across features via public launcher-style ports.
17
+ - Shared kernels live under `core/` — do not put feature business rules there.
18
+
19
+ # DI summary
20
+
21
+ - Feature-scoped **Dagger** holders/components (see `di-dagger-feature-holders`).
22
+ - **No Hilt by default** unless the consumer repo already standardized on it.
23
+ - ViewModels receive ports/use cases, not concrete data types.
24
+
25
+ # Agent requirement
26
+
27
+ - Place files in matching layers/modules; do not short-circuit api/impl for speed.
28
+ - Load `module-public-api` and `navigation-feature-launcher` when editing public contracts.
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: Maintain and improve Android Kotlin code quality and architecture
3
+ alwaysApply: true
4
+ ---
5
+
6
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
7
+
8
+ # Match existing style
9
+
10
+ - Follow existing patterns (names, structure, typing / DI / error handling); avoid drive-by formatting or renames.
11
+ - Before a new solution: find an analog and **repeat the approach**; check the design system / UI packages; go only through the **public API** (deep imports are a reason to refactor).
12
+
13
+ # Principles
14
+
15
+ - **KISS:** the simplest change in the repository’s patterns.
16
+ - **DRY + Rule of Three:** share only after the 3rd repetition (wrong abstraction costs more than duplication).
17
+ - **YAGNI:** no APIs, flags, or “for later” layers without a current requirement.
18
+ - **SOLID:** S — one reason to change; O — composition/new implementations; L — subtype contract; I — narrow ports; D — abstractions (ports), details in stack adapters.
19
+ - **CUPID:** Composable; Unix philosophy (one responsibility); Predictable; Idiomatic (repo); Domain-based.
20
+ - **Composition over inheritance;** Law of Demeter — no `a.b.c.d` chains; via public API / facade.
21
+
22
+ # Refactoring during changes
23
+
24
+ - Light refactor is OK if it reduces duplication, improves readability, and does not break public contracts.
25
+ - Examples: shared utility/hook/mapper/use case; narrow unsafe types; split a large module; tokens instead of “magic”; deep import → public API.
26
+ - Do not do a “big” refactor on a point task (structure/public names without a request). Break large work into minimal steps; keep the repo buildable after each step.
27
+
28
+ # Agent requirement
29
+
30
+ - **Boy scout:** leave the module a bit better; do not sacrifice architecture and layers for brevity.
31
+
32
+ ## Agent discipline (anti-sycophancy)
33
+
34
+ Essentials below. Full procedural set (~17 rules) → load **`anti-sycophancy-discipline`**.
35
+
36
+ - Unverifiable third-party API → mark `// VERIFY: lib.symbol @ version` (or stack equivalent); never invent signatures.
37
+ - Before "is this correct?" — ≥3 failure modes (empty, boundary, concurrency/state) or name what you could not check.
38
+ - Refactor without tests → propose characterization test; if declined, label `UNTESTED`.
39
+ - Comments = WHY only when non-obvious; ban self-referential "added for issue Y".
40
+ - Urgency/authority: name the trade-off once, then comply — no apology loops.
41
+ - Match verification to risk; report by what was **verified**, not attempted.
42
+
43
+ Style enforcement (formatter / linter / post-change gate) lives in the **stack toolchain** — see each adapter’s **Stack notes**.
44
+
45
+ > Stack-specific lint gates, examples, and toolchain — in the preset adapter **Stack notes** section.
46
+
47
+ ## Stack notes
48
+
49
+ - Before adding a new UI control, check the project design-system and existing Compose components.
50
+ - Public API: `features/<name>/api` contracts and launcher ports — not deep `impl` imports.
51
+ - Acceptable examples: shared mapper/validation; replace `!!`; split an overloaded ViewModel; design tokens instead of magic colors; remove UI→data short-circuits.
52
+ - Post-change gate: **`post-change-build`** + **`gradle-tooling`** (not yarn `lint:js`/`lint:css`).
53
+ - Style: **ktlint / detekt / Android Lint** only when the repo/CI already configures them.
@@ -0,0 +1,84 @@
1
+ ---
2
+ description: Code review requirements for Android merge requests. Use when reviewing MR/diff/PR, evaluating a branch, or when the user asks for code review.
3
+ alwaysApply: false
4
+ ---
5
+
6
+ <!-- shared-core: review/code-review-mr.md -->
7
+
8
+ # Code review merge requests
9
+
10
+ On-demand rule for review flows. **Procedure and output format:** skill `code-review`.
11
+
12
+ ## When to load
13
+
14
+ - User asks for review/MR/diff
15
+ - Pipeline step `code-reviewer`
16
+ - Platform automated review (e.g. BUGBOT) when present
17
+
18
+ ## Checklist references (abstract)
19
+
20
+ - Architecture layers and stack core rules
21
+ - Public imports / module boundaries
22
+ - UI conventions of the stack
23
+ - Unit and e2e/UI test conventions
24
+ - Post-change lint/build gate before final report
25
+ - Design smells **in MR diff scope** — load `design-guidance`; do not expand the full Fowler catalog outside the diff
26
+ - Pattern name (GoF) — only if the repository already uses that shape or the match is minimal
27
+ - Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) — via always-on `code-quality-and-refactoring`, do not duplicate the essay in review
28
+
29
+ Concrete rule stems — in **Stack notes**.
30
+
31
+ ## Constraints
32
+
33
+ - Focus on MR diff, not the whole repo.
34
+ - Use local `git diff` — do not invent hosting metadata.
35
+ - Boy scout rule: suggest fixes feasible within the MR scope.
36
+ - No “big refactors” without an explicit request (`code-quality-and-refactoring`).
37
+
38
+ ## Output contract
39
+
40
+ Procedure details live in skill `code-review`. Required shape:
41
+
42
+ - Each finding cites **`path:line`**, the problem, impact, and a concrete fix direction.
43
+ - Rank by severity: **`blocker` | `important` | `nit`** (list blocker → nit).
44
+ - Vague («looks risky») is not a finding — cite evidence or ask for surrounding file context.
45
+ - End with a verdict on its own line: **`Safe to merge | needs changes | reject`**.
46
+
47
+ ## Stack notes
48
+
49
+ On-demand rule for review flows (not always-on).
50
+
51
+ - **When to apply**
52
+ - Requests: “review this”, “evaluate the MR/branch/diff”, “look at the changes”.
53
+ - Rely on the local repository: branch, `git diff`, open files.
54
+
55
+ - **What the agent must check**
56
+ - **Architecture and layers** (`architecture-boundaries.mdc`, `android-app-core.mdc`):
57
+ - View does not call APIs and does not know DTOs.
58
+ - ViewModel does not depend on Data implementations directly.
59
+ - Domain does not import Jetpack Compose/Android View system.
60
+ - Data does not pull Presentation.
61
+ - **Dependencies and modules**:
62
+ - DI via protocols; composition / holders in `applications/` + feature DI.
63
+ - No deep-import between features.
64
+ - Files in the correct layers (`presentation`, `domain`, `data`, design-system / `api`/`impl`).
65
+ - **Kotlin and concurrency** (`kotlin-conventions.mdc`):
66
+ - `main-safe / viewModelScope` on UI; no unjustified `!!`s.
67
+ - Typed errors; structured concurrency / cancellation where needed.
68
+ - **UI** (`compose-ui.mdc`):
69
+ - Thin Views; Design System tokens; semantics / content descriptions for testable elements.
70
+ - **Networking and data** (`networking-data.mdc`):
71
+ - DTOs separated from domain; mappers cover edge cases.
72
+ - **Tests**:
73
+ - Non-trivial logic — unit (`tests-unit.mdc`); user flows — UI (`tests-ui.mdc`).
74
+ - State which tests to add or update.
75
+
76
+ - **Depth and format**
77
+ - Focus on the **MR diff**, not the whole project.
78
+ - Overview first (MR goal, risks), then concrete comments with file and a fix suggestion matching repo patterns.
79
+ - No “big refactors” without a request (`code-quality-and-refactoring.mdc`).
80
+
81
+ - **Constraints**
82
+ - Do not invent CI/MR hosting metadata without local data.
83
+ - Boy scout rule within the MR.
84
+ - BUGBOT automated review — see root `BUGBOT.md` (Cursor).
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Jetpack Compose Material 3 and design-system UI conventions
3
+ globs:
4
+ - "**/presentation/**"
5
+ - "**/ui/**"
6
+ - "**/*Screen*.kt"
7
+ alwaysApply: false
8
+ ---
9
+
10
+ # Compose UI
11
+
12
+ - Prefer **Jetpack Compose Material 3** plus the project **design-system** components/tokens.
13
+ - Screens stay thin: collect state from ViewModels; emit intents/events upward; no repository/HTTP calls in composables.
14
+ - Reuse existing design-system building blocks before inventing one-off styling.
15
+ - Accessibility: content descriptions, semantics, focus order — match repo a11y conventions; `accessibility-reviewer` when UI changes.
16
+ - Previews/fakes for UI states when the module already uses them.
17
+
18
+ # Boundaries
19
+
20
+ - Composables depend on presentation state models — not data DTOs.
21
+ - Navigation calls go through feature launcher ports / nav APIs — see `navigation-feature-launcher`.
22
+
23
+ # Agent requirements
24
+
25
+ - Place UI under presentation/ui packages next to analogs.
26
+ - Do not add a second design system or raw Material overrides that fight tokens.
27
+
28
+ # State rendering
29
+
30
+ - Render loading / empty / error / content from ViewModel state — no hidden local business rules.
31
+ - Hoist state as the repo does; avoid duplicating ViewModel state in remember blocks.
32
+ - Side-effect APIs (`LaunchedEffect`, etc.) only for UI concerns, not repository calls.