@bonesofspring/ai-rules 0.2.15 → 0.2.17

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 (575) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +22 -3
  3. package/bin/cli.js +41 -0
  4. package/package.json +3 -1
  5. package/presets/_shared/README.md +2 -2
  6. package/presets/_shared/assets/docs-specs/INDEX.md +9 -0
  7. package/presets/_shared/assets/docs-specs/_templates/feature.md +32 -0
  8. package/presets/_shared/assets/docs-specs/_templates/page.md +47 -0
  9. package/presets/_shared/assets/docs-specs/schemas/frontmatter-v1.schema.json +22 -0
  10. package/presets/_shared/core/architecture/product-specs-authoring.md +107 -0
  11. package/presets/_shared/core/architecture/product-specs.md +49 -0
  12. package/presets/_shared/core/meta/preset-layering.md +1 -1
  13. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +25 -12
  14. package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
  15. package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
  16. package/presets/claude/android-kotlin/CLAUDE.md +38 -0
  17. package/presets/claude/android-kotlin/MCP.md +16 -0
  18. package/presets/claude/android-kotlin/README.md +32 -0
  19. package/presets/claude/android-kotlin/REPO_AGENTS.md +48 -0
  20. package/presets/claude/android-kotlin/agents/README.md +44 -0
  21. package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +60 -0
  22. package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +70 -0
  23. package/presets/claude/android-kotlin/agents/build-verifier.md +70 -0
  24. package/presets/claude/android-kotlin/agents/ci-investigator.md +74 -0
  25. package/presets/claude/android-kotlin/agents/code-reviewer.md +76 -0
  26. package/presets/claude/android-kotlin/agents/codebase-analyzer.md +28 -0
  27. package/presets/claude/android-kotlin/agents/debugger.md +77 -0
  28. package/presets/claude/android-kotlin/agents/feature-developer.md +70 -0
  29. package/presets/claude/android-kotlin/agents/instrumentation-test-generator.md +19 -0
  30. package/presets/claude/android-kotlin/agents/instrumentation-test-healer.md +19 -0
  31. package/presets/claude/android-kotlin/agents/instrumentation-test-planner.md +19 -0
  32. package/presets/claude/android-kotlin/agents/migration-specialist.md +74 -0
  33. package/presets/claude/android-kotlin/agents/performance-auditor.md +67 -0
  34. package/presets/claude/android-kotlin/agents/qa-tester.md +66 -0
  35. package/presets/claude/android-kotlin/agents/security-reviewer.md +65 -0
  36. package/presets/claude/android-kotlin/agents/solution-architect.md +21 -0
  37. package/presets/claude/android-kotlin/agents/task-analyst.md +55 -0
  38. package/presets/claude/android-kotlin/agents/task-router.md +114 -0
  39. package/presets/claude/android-kotlin/agents/tech-writer.md +66 -0
  40. package/presets/claude/android-kotlin/agents/unit-test-generator.md +55 -0
  41. package/presets/claude/android-kotlin/agents/unit-test-healer.md +54 -0
  42. package/presets/claude/android-kotlin/agents/unit-test-planner.md +65 -0
  43. package/presets/claude/android-kotlin/commands/README.md +51 -0
  44. package/presets/claude/android-kotlin/commands/feature-continue.md +23 -0
  45. package/presets/claude/android-kotlin/commands/feature-start.md +41 -0
  46. package/presets/claude/android-kotlin/commands/spec-start.md +29 -0
  47. package/presets/claude/android-kotlin/commands/task-continue.md +53 -0
  48. package/presets/claude/android-kotlin/commands/task.md +56 -0
  49. package/presets/claude/android-kotlin/commands/technical-retro.md +85 -0
  50. package/presets/claude/android-kotlin/hooks/README.md +16 -0
  51. package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +705 -0
  52. package/presets/claude/android-kotlin/hooks/examples/README.md +18 -0
  53. package/presets/claude/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
  54. package/presets/claude/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
  55. package/presets/claude/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
  56. package/presets/claude/android-kotlin/hooks/guard-shell-command.sh +80 -0
  57. package/presets/claude/android-kotlin/mcp.json +12 -0
  58. package/presets/claude/android-kotlin/rules/README.md +65 -0
  59. package/presets/claude/android-kotlin/rules/api-and-data/README.md +10 -0
  60. package/presets/claude/android-kotlin/rules/api-and-data/networking.md +30 -0
  61. package/presets/claude/android-kotlin/rules/api-and-data/persistence.md +29 -0
  62. package/presets/claude/android-kotlin/rules/architecture/README.md +9 -0
  63. package/presets/claude/android-kotlin/rules/architecture/boundaries.md +27 -0
  64. package/presets/claude/android-kotlin/rules/architecture/di-dagger-feature-holders.md +34 -0
  65. package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +45 -0
  66. package/presets/claude/android-kotlin/rules/architecture/module-public-api.md +29 -0
  67. package/presets/claude/android-kotlin/rules/architecture/product-specs-authoring.md +121 -0
  68. package/presets/claude/android-kotlin/rules/architecture/product-specs.md +62 -0
  69. package/presets/claude/android-kotlin/rules/architecture/reference-features.md +28 -0
  70. package/presets/claude/android-kotlin/rules/stack/README.md +6 -0
  71. package/presets/claude/android-kotlin/rules/stack/android-app-core.md +27 -0
  72. package/presets/claude/android-kotlin/rules/stack/kotlin-conventions.md +30 -0
  73. package/presets/claude/android-kotlin/rules/testing/README.md +10 -0
  74. package/presets/claude/android-kotlin/rules/testing/ui.md +28 -0
  75. package/presets/claude/android-kotlin/rules/testing/unit.md +29 -0
  76. package/presets/claude/android-kotlin/rules/tooling-and-review/README.md +19 -0
  77. package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-intake.md +18 -0
  78. package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +129 -0
  79. package/presets/claude/android-kotlin/rules/tooling-and-review/anti-sycophancy-discipline.md +29 -0
  80. package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +52 -0
  81. package/presets/claude/android-kotlin/rules/tooling-and-review/code-review.md +88 -0
  82. package/presets/claude/android-kotlin/rules/tooling-and-review/design-guidance.md +110 -0
  83. package/presets/claude/android-kotlin/rules/tooling-and-review/gradle-tooling.md +30 -0
  84. package/presets/claude/android-kotlin/rules/tooling-and-review/post-change-build.md +34 -0
  85. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +36 -0
  86. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +100 -0
  87. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +39 -0
  88. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +41 -0
  89. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +56 -0
  90. package/presets/claude/android-kotlin/rules/tooling-and-review/security-android.md +29 -0
  91. package/presets/claude/android-kotlin/rules/tooling-and-review/technical-retro.md +18 -0
  92. package/presets/claude/android-kotlin/rules/ui-and-accessibility/README.md +7 -0
  93. package/presets/claude/android-kotlin/rules/ui-and-accessibility/compose.md +31 -0
  94. package/presets/claude/android-kotlin/rules/ui-and-accessibility/navigation.md +30 -0
  95. package/presets/claude/android-kotlin/rules/ui-and-accessibility/viewmodels.md +27 -0
  96. package/presets/claude/android-kotlin/skills/README.md +14 -0
  97. package/presets/claude/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
  98. package/presets/claude/android-kotlin/skills/code-review/SKILL.md +39 -0
  99. package/presets/claude/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
  100. package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +36 -0
  101. package/presets/claude/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
  102. package/presets/claude/android-kotlin/skills/spec-authoring/SKILL.md +26 -0
  103. package/presets/claude/android-kotlin/skills/technical-retro/SKILL.md +54 -0
  104. package/presets/claude/android-kotlin/skills/unit-testing/SKILL.md +32 -0
  105. package/presets/claude/android-kotlin/skills/write-adr/SKILL.md +41 -0
  106. package/presets/claude/android-kotlin/team/README.md +54 -0
  107. package/presets/claude/android-kotlin/team/conventions.md +17 -0
  108. package/presets/claude/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
  109. package/presets/claude/android-kotlin/team/fixtures/feature-full.json +97 -0
  110. package/presets/claude/android-kotlin/team/fixtures/feature-light.json +38 -0
  111. package/presets/claude/go/agents/build-verifier.md +3 -0
  112. package/presets/claude/go/agents/code-reviewer.md +2 -0
  113. package/presets/claude/go/agents/feature-developer.md +7 -0
  114. package/presets/claude/go/agents/task-analyst.md +19 -0
  115. package/presets/claude/go/agents/task-router.md +11 -0
  116. package/presets/claude/go/agents/tech-writer.md +5 -0
  117. package/presets/claude/go/commands/feature-continue.md +1 -0
  118. package/presets/claude/go/commands/feature-start.md +8 -0
  119. package/presets/claude/go/commands/spec-start.md +29 -0
  120. package/presets/claude/go/commands/task-continue.md +6 -3
  121. package/presets/claude/go/rules/README.md +2 -0
  122. package/presets/claude/go/rules/architecture/feature-delivery.md +4 -0
  123. package/presets/claude/go/rules/architecture/product-specs-authoring.md +121 -0
  124. package/presets/claude/go/rules/architecture/product-specs.md +63 -0
  125. package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  126. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +1 -1
  127. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  128. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  129. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -0
  130. package/presets/claude/go/skills/feature-delivery/SKILL.md +5 -4
  131. package/presets/claude/go/skills/spec-authoring/SKILL.md +26 -0
  132. package/presets/claude/ios-swift/agents/build-verifier.md +3 -0
  133. package/presets/claude/ios-swift/agents/code-reviewer.md +2 -0
  134. package/presets/claude/ios-swift/agents/feature-developer.md +7 -0
  135. package/presets/claude/ios-swift/agents/task-analyst.md +19 -0
  136. package/presets/claude/ios-swift/agents/task-router.md +11 -0
  137. package/presets/claude/ios-swift/agents/tech-writer.md +2 -15
  138. package/presets/claude/ios-swift/commands/feature-continue.md +4 -0
  139. package/presets/claude/ios-swift/commands/feature-start.md +8 -0
  140. package/presets/claude/ios-swift/commands/spec-start.md +29 -0
  141. package/presets/claude/ios-swift/commands/task-continue.md +6 -3
  142. package/presets/claude/ios-swift/rules/README.md +3 -0
  143. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +4 -0
  144. package/presets/claude/ios-swift/rules/architecture/product-specs-authoring.md +121 -0
  145. package/presets/claude/ios-swift/rules/architecture/product-specs.md +62 -0
  146. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  147. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +1 -1
  148. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  149. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  150. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -0
  151. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +5 -4
  152. package/presets/claude/ios-swift/skills/spec-authoring/SKILL.md +26 -0
  153. package/presets/claude/java/agents/build-verifier.md +3 -0
  154. package/presets/claude/java/agents/code-reviewer.md +2 -0
  155. package/presets/claude/java/agents/feature-developer.md +7 -0
  156. package/presets/claude/java/agents/task-analyst.md +19 -0
  157. package/presets/claude/java/agents/task-router.md +11 -0
  158. package/presets/claude/java/agents/tech-writer.md +5 -0
  159. package/presets/claude/java/commands/feature-continue.md +1 -0
  160. package/presets/claude/java/commands/feature-start.md +8 -0
  161. package/presets/claude/java/commands/spec-start.md +29 -0
  162. package/presets/claude/java/commands/task-continue.md +6 -3
  163. package/presets/claude/java/rules/README.md +2 -0
  164. package/presets/claude/java/rules/architecture/feature-delivery.md +4 -0
  165. package/presets/claude/java/rules/architecture/product-specs-authoring.md +121 -0
  166. package/presets/claude/java/rules/architecture/product-specs.md +63 -0
  167. package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  168. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +1 -1
  169. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  170. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  171. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +2 -0
  172. package/presets/claude/java/skills/feature-delivery/SKILL.md +5 -4
  173. package/presets/claude/java/skills/spec-authoring/SKILL.md +26 -0
  174. package/presets/claude/mcp-ts/agents/build-verifier.md +3 -0
  175. package/presets/claude/mcp-ts/agents/feature-developer.md +7 -0
  176. package/presets/claude/mcp-ts/agents/task-analyst.md +21 -0
  177. package/presets/claude/mcp-ts/agents/task-router.md +11 -0
  178. package/presets/claude/mcp-ts/commands/feature-continue.md +4 -0
  179. package/presets/claude/mcp-ts/commands/feature-start.md +8 -0
  180. package/presets/claude/mcp-ts/commands/spec-start.md +29 -0
  181. package/presets/claude/mcp-ts/commands/task-continue.md +6 -3
  182. package/presets/claude/mcp-ts/rules/README.md +2 -0
  183. package/presets/claude/mcp-ts/rules/architecture/feature-delivery.md +4 -0
  184. package/presets/claude/mcp-ts/rules/architecture/product-specs-authoring.md +121 -0
  185. package/presets/claude/mcp-ts/rules/architecture/product-specs.md +63 -0
  186. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  187. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +1 -1
  188. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  189. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  190. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +2 -0
  191. package/presets/claude/mcp-ts/skills/feature-delivery/SKILL.md +4 -3
  192. package/presets/claude/mcp-ts/skills/spec-authoring/SKILL.md +26 -0
  193. package/presets/claude/next/agents/build-verifier.md +3 -0
  194. package/presets/claude/next/agents/code-reviewer.md +1 -0
  195. package/presets/claude/next/agents/feature-developer.md +7 -0
  196. package/presets/claude/next/agents/task-analyst.md +19 -0
  197. package/presets/claude/next/agents/task-router.md +11 -0
  198. package/presets/claude/next/agents/tech-writer.md +5 -0
  199. package/presets/claude/next/commands/feature-continue.md +1 -0
  200. package/presets/claude/next/commands/feature-start.md +8 -0
  201. package/presets/claude/next/commands/spec-start.md +29 -0
  202. package/presets/claude/next/commands/task-continue.md +6 -3
  203. package/presets/claude/next/rules/README.md +3 -0
  204. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +4 -0
  205. package/presets/claude/next/rules/architecture/product-specs-authoring.md +121 -0
  206. package/presets/claude/next/rules/architecture/product-specs.md +63 -0
  207. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  208. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +1 -1
  209. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  210. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  211. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -0
  212. package/presets/claude/next/skills/feature-delivery/SKILL.md +4 -3
  213. package/presets/claude/next/skills/spec-authoring/SKILL.md +26 -0
  214. package/presets/claude/nuxt/agents/build-verifier.md +3 -0
  215. package/presets/claude/nuxt/agents/code-reviewer.md +2 -0
  216. package/presets/claude/nuxt/agents/feature-developer.md +7 -0
  217. package/presets/claude/nuxt/agents/task-analyst.md +19 -0
  218. package/presets/claude/nuxt/agents/task-router.md +11 -0
  219. package/presets/claude/nuxt/agents/tech-writer.md +5 -0
  220. package/presets/claude/nuxt/commands/feature-continue.md +4 -0
  221. package/presets/claude/nuxt/commands/feature-start.md +8 -0
  222. package/presets/claude/nuxt/commands/spec-start.md +29 -0
  223. package/presets/claude/nuxt/commands/task-continue.md +6 -3
  224. package/presets/claude/nuxt/rules/README.md +3 -0
  225. package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +4 -0
  226. package/presets/claude/nuxt/rules/architecture/product-specs-authoring.md +121 -0
  227. package/presets/claude/nuxt/rules/architecture/product-specs.md +62 -0
  228. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  229. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +1 -1
  230. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  231. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  232. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +2 -0
  233. package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +4 -3
  234. package/presets/claude/nuxt/skills/spec-authoring/SKILL.md +26 -0
  235. package/presets/claude/php-hexagonal/agents/build-verifier.md +3 -0
  236. package/presets/claude/php-hexagonal/agents/code-reviewer.md +2 -0
  237. package/presets/claude/php-hexagonal/agents/feature-developer.md +7 -0
  238. package/presets/claude/php-hexagonal/agents/task-analyst.md +19 -0
  239. package/presets/claude/php-hexagonal/agents/task-router.md +11 -0
  240. package/presets/claude/php-hexagonal/agents/tech-writer.md +5 -0
  241. package/presets/claude/php-hexagonal/commands/feature-continue.md +1 -0
  242. package/presets/claude/php-hexagonal/commands/feature-start.md +8 -0
  243. package/presets/claude/php-hexagonal/commands/spec-start.md +29 -0
  244. package/presets/claude/php-hexagonal/commands/task-continue.md +6 -3
  245. package/presets/claude/php-hexagonal/rules/README.md +2 -0
  246. package/presets/claude/php-hexagonal/rules/architecture/feature-delivery.md +4 -0
  247. package/presets/claude/php-hexagonal/rules/architecture/product-specs-authoring.md +121 -0
  248. package/presets/claude/php-hexagonal/rules/architecture/product-specs.md +63 -0
  249. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  250. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +1 -1
  251. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  252. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  253. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +2 -0
  254. package/presets/claude/php-hexagonal/skills/feature-delivery/SKILL.md +5 -4
  255. package/presets/claude/php-hexagonal/skills/spec-authoring/SKILL.md +26 -0
  256. package/presets/claude/php-laravel/agents/build-verifier.md +3 -0
  257. package/presets/claude/php-laravel/agents/code-reviewer.md +2 -0
  258. package/presets/claude/php-laravel/agents/feature-developer.md +7 -0
  259. package/presets/claude/php-laravel/agents/task-analyst.md +19 -0
  260. package/presets/claude/php-laravel/agents/task-router.md +11 -0
  261. package/presets/claude/php-laravel/agents/tech-writer.md +5 -0
  262. package/presets/claude/php-laravel/commands/feature-continue.md +1 -0
  263. package/presets/claude/php-laravel/commands/feature-start.md +8 -0
  264. package/presets/claude/php-laravel/commands/spec-start.md +29 -0
  265. package/presets/claude/php-laravel/commands/task-continue.md +6 -3
  266. package/presets/claude/php-laravel/rules/README.md +2 -0
  267. package/presets/claude/php-laravel/rules/architecture/feature-delivery.md +4 -0
  268. package/presets/claude/php-laravel/rules/architecture/product-specs-authoring.md +121 -0
  269. package/presets/claude/php-laravel/rules/architecture/product-specs.md +63 -0
  270. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  271. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +1 -1
  272. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  273. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  274. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +2 -0
  275. package/presets/claude/php-laravel/skills/feature-delivery/SKILL.md +5 -4
  276. package/presets/claude/php-laravel/skills/spec-authoring/SKILL.md +26 -0
  277. package/presets/claude/svelte/agents/build-verifier.md +3 -0
  278. package/presets/claude/svelte/agents/code-reviewer.md +2 -0
  279. package/presets/claude/svelte/agents/feature-developer.md +7 -0
  280. package/presets/claude/svelte/agents/task-analyst.md +19 -0
  281. package/presets/claude/svelte/agents/task-router.md +11 -0
  282. package/presets/claude/svelte/agents/tech-writer.md +5 -0
  283. package/presets/claude/svelte/commands/feature-continue.md +4 -0
  284. package/presets/claude/svelte/commands/feature-start.md +8 -0
  285. package/presets/claude/svelte/commands/spec-start.md +29 -0
  286. package/presets/claude/svelte/commands/task-continue.md +6 -3
  287. package/presets/claude/svelte/rules/README.md +3 -0
  288. package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +4 -0
  289. package/presets/claude/svelte/rules/architecture/product-specs-authoring.md +121 -0
  290. package/presets/claude/svelte/rules/architecture/product-specs.md +62 -0
  291. package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
  292. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +1 -1
  293. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +25 -12
  294. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +1 -1
  295. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +2 -0
  296. package/presets/claude/svelte/skills/feature-delivery/SKILL.md +4 -3
  297. package/presets/claude/svelte/skills/spec-authoring/SKILL.md +26 -0
  298. package/presets/cursor/android-kotlin/AGENTS.md +50 -0
  299. package/presets/cursor/android-kotlin/BUGBOT.md +16 -0
  300. package/presets/cursor/android-kotlin/MCP.md +16 -0
  301. package/presets/cursor/android-kotlin/README.md +35 -0
  302. package/presets/cursor/android-kotlin/REPO_AGENTS.md +48 -0
  303. package/presets/cursor/android-kotlin/agents/README.md +44 -0
  304. package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +60 -0
  305. package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +70 -0
  306. package/presets/cursor/android-kotlin/agents/build-verifier.md +70 -0
  307. package/presets/cursor/android-kotlin/agents/ci-investigator.md +74 -0
  308. package/presets/cursor/android-kotlin/agents/code-reviewer.md +76 -0
  309. package/presets/cursor/android-kotlin/agents/codebase-analyzer.md +28 -0
  310. package/presets/cursor/android-kotlin/agents/debugger.md +77 -0
  311. package/presets/cursor/android-kotlin/agents/feature-developer.md +70 -0
  312. package/presets/cursor/android-kotlin/agents/instrumentation-test-generator.md +19 -0
  313. package/presets/cursor/android-kotlin/agents/instrumentation-test-healer.md +19 -0
  314. package/presets/cursor/android-kotlin/agents/instrumentation-test-planner.md +19 -0
  315. package/presets/cursor/android-kotlin/agents/migration-specialist.md +74 -0
  316. package/presets/cursor/android-kotlin/agents/performance-auditor.md +67 -0
  317. package/presets/cursor/android-kotlin/agents/qa-tester.md +66 -0
  318. package/presets/cursor/android-kotlin/agents/security-reviewer.md +65 -0
  319. package/presets/cursor/android-kotlin/agents/solution-architect.md +21 -0
  320. package/presets/cursor/android-kotlin/agents/task-analyst.md +55 -0
  321. package/presets/cursor/android-kotlin/agents/task-router.md +114 -0
  322. package/presets/cursor/android-kotlin/agents/tech-writer.md +66 -0
  323. package/presets/cursor/android-kotlin/agents/unit-test-generator.md +55 -0
  324. package/presets/cursor/android-kotlin/agents/unit-test-healer.md +54 -0
  325. package/presets/cursor/android-kotlin/agents/unit-test-planner.md +65 -0
  326. package/presets/cursor/android-kotlin/commands/README.md +51 -0
  327. package/presets/cursor/android-kotlin/commands/feature-continue.md +23 -0
  328. package/presets/cursor/android-kotlin/commands/feature-start.md +41 -0
  329. package/presets/cursor/android-kotlin/commands/spec-start.md +29 -0
  330. package/presets/cursor/android-kotlin/commands/task-continue.md +53 -0
  331. package/presets/cursor/android-kotlin/commands/task.md +56 -0
  332. package/presets/cursor/android-kotlin/commands/technical-retro.md +85 -0
  333. package/presets/cursor/android-kotlin/hooks/README.md +12 -0
  334. package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +723 -0
  335. package/presets/cursor/android-kotlin/hooks/examples/README.md +18 -0
  336. package/presets/cursor/android-kotlin/hooks/examples/format-edited.example.sh +13 -0
  337. package/presets/cursor/android-kotlin/hooks/examples/secret-guard.example.sh +10 -0
  338. package/presets/cursor/android-kotlin/hooks/examples/test-on-save.example.sh +8 -0
  339. package/presets/cursor/android-kotlin/hooks/guard-shell-command.sh +80 -0
  340. package/presets/cursor/android-kotlin/hooks.json +17 -0
  341. package/presets/cursor/android-kotlin/mcp.json +11 -0
  342. package/presets/cursor/android-kotlin/rules/README.md +64 -0
  343. package/presets/cursor/android-kotlin/rules/agent-team-intake.mdc +16 -0
  344. package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +126 -0
  345. package/presets/cursor/android-kotlin/rules/android-app-core.mdc +28 -0
  346. package/presets/cursor/android-kotlin/rules/anti-sycophancy-discipline.mdc +30 -0
  347. package/presets/cursor/android-kotlin/rules/architecture-boundaries.mdc +28 -0
  348. package/presets/cursor/android-kotlin/rules/code-quality-and-refactoring.mdc +53 -0
  349. package/presets/cursor/android-kotlin/rules/code-review-mr.mdc +84 -0
  350. package/presets/cursor/android-kotlin/rules/compose-ui.mdc +32 -0
  351. package/presets/cursor/android-kotlin/rules/design-guidance.mdc +111 -0
  352. package/presets/cursor/android-kotlin/rules/di-dagger-feature-holders.mdc +35 -0
  353. package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +40 -0
  354. package/presets/cursor/android-kotlin/rules/gradle-tooling.mdc +31 -0
  355. package/presets/cursor/android-kotlin/rules/kotlin-conventions.mdc +31 -0
  356. package/presets/cursor/android-kotlin/rules/module-public-api.mdc +30 -0
  357. package/presets/cursor/android-kotlin/rules/navigation-feature-launcher.mdc +31 -0
  358. package/presets/cursor/android-kotlin/rules/networking-data.mdc +31 -0
  359. package/presets/cursor/android-kotlin/rules/persistence-data.mdc +30 -0
  360. package/presets/cursor/android-kotlin/rules/post-change-build.mdc +30 -0
  361. package/presets/cursor/android-kotlin/rules/preset-layering.mdc +36 -0
  362. package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +100 -0
  363. package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +39 -0
  364. package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +41 -0
  365. package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +56 -0
  366. package/presets/cursor/android-kotlin/rules/product-specs-authoring.mdc +123 -0
  367. package/presets/cursor/android-kotlin/rules/product-specs.mdc +64 -0
  368. package/presets/cursor/android-kotlin/rules/reference-features.mdc +29 -0
  369. package/presets/cursor/android-kotlin/rules/security-android.mdc +30 -0
  370. package/presets/cursor/android-kotlin/rules/state-and-viewmodels.mdc +28 -0
  371. package/presets/cursor/android-kotlin/rules/technical-retro.mdc +16 -0
  372. package/presets/cursor/android-kotlin/rules/tests-ui.mdc +29 -0
  373. package/presets/cursor/android-kotlin/rules/tests-unit.mdc +30 -0
  374. package/presets/cursor/android-kotlin/skills/README.md +14 -0
  375. package/presets/cursor/android-kotlin/skills/ci-investigation/SKILL.md +39 -0
  376. package/presets/cursor/android-kotlin/skills/code-review/SKILL.md +39 -0
  377. package/presets/cursor/android-kotlin/skills/debug-investigation/SKILL.md +34 -0
  378. package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +36 -0
  379. package/presets/cursor/android-kotlin/skills/instrumentation-ui-e2e/SKILL.md +17 -0
  380. package/presets/cursor/android-kotlin/skills/spec-authoring/SKILL.md +26 -0
  381. package/presets/cursor/android-kotlin/skills/technical-retro/SKILL.md +54 -0
  382. package/presets/cursor/android-kotlin/skills/unit-testing/SKILL.md +32 -0
  383. package/presets/cursor/android-kotlin/skills/write-adr/SKILL.md +41 -0
  384. package/presets/cursor/android-kotlin/team/README.md +54 -0
  385. package/presets/cursor/android-kotlin/team/conventions.md +17 -0
  386. package/presets/cursor/android-kotlin/team/fixtures/bugfix-standard.json +47 -0
  387. package/presets/cursor/android-kotlin/team/fixtures/feature-full.json +97 -0
  388. package/presets/cursor/android-kotlin/team/fixtures/feature-light.json +38 -0
  389. package/presets/cursor/go/agents/build-verifier.md +3 -0
  390. package/presets/cursor/go/agents/code-reviewer.md +2 -0
  391. package/presets/cursor/go/agents/feature-developer.md +7 -0
  392. package/presets/cursor/go/agents/task-analyst.md +19 -0
  393. package/presets/cursor/go/agents/task-router.md +11 -0
  394. package/presets/cursor/go/agents/tech-writer.md +5 -0
  395. package/presets/cursor/go/commands/feature-continue.md +4 -0
  396. package/presets/cursor/go/commands/feature-start.md +8 -0
  397. package/presets/cursor/go/commands/spec-start.md +29 -0
  398. package/presets/cursor/go/commands/task-continue.md +6 -3
  399. package/presets/cursor/go/rules/README.md +4 -1
  400. package/presets/cursor/go/rules/agent-team-orchestrator.mdc +2 -0
  401. package/presets/cursor/go/rules/feature-delivery-workflow.mdc +4 -0
  402. package/presets/cursor/go/rules/preset-layering.mdc +1 -1
  403. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +25 -12
  404. package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
  405. package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -0
  406. package/presets/cursor/go/rules/product-specs-authoring.mdc +123 -0
  407. package/presets/cursor/go/rules/product-specs.mdc +65 -0
  408. package/presets/cursor/go/skills/feature-delivery/SKILL.md +5 -4
  409. package/presets/cursor/go/skills/spec-authoring/SKILL.md +26 -0
  410. package/presets/cursor/ios-swift/agents/build-verifier.md +3 -0
  411. package/presets/cursor/ios-swift/agents/code-reviewer.md +2 -0
  412. package/presets/cursor/ios-swift/agents/feature-developer.md +7 -0
  413. package/presets/cursor/ios-swift/agents/task-analyst.md +19 -0
  414. package/presets/cursor/ios-swift/agents/task-router.md +11 -0
  415. package/presets/cursor/ios-swift/agents/tech-writer.md +2 -15
  416. package/presets/cursor/ios-swift/commands/feature-continue.md +4 -0
  417. package/presets/cursor/ios-swift/commands/feature-start.md +8 -0
  418. package/presets/cursor/ios-swift/commands/spec-start.md +29 -0
  419. package/presets/cursor/ios-swift/commands/task-continue.md +6 -3
  420. package/presets/cursor/ios-swift/rules/README.md +4 -1
  421. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +2 -0
  422. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +4 -0
  423. package/presets/cursor/ios-swift/rules/preset-layering.mdc +1 -1
  424. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +25 -12
  425. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +1 -1
  426. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -0
  427. package/presets/cursor/ios-swift/rules/product-specs-authoring.mdc +123 -0
  428. package/presets/cursor/ios-swift/rules/product-specs.mdc +64 -0
  429. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +5 -4
  430. package/presets/cursor/ios-swift/skills/spec-authoring/SKILL.md +26 -0
  431. package/presets/cursor/java/agents/build-verifier.md +3 -0
  432. package/presets/cursor/java/agents/code-reviewer.md +2 -0
  433. package/presets/cursor/java/agents/feature-developer.md +7 -0
  434. package/presets/cursor/java/agents/task-analyst.md +19 -0
  435. package/presets/cursor/java/agents/task-router.md +11 -0
  436. package/presets/cursor/java/agents/tech-writer.md +5 -0
  437. package/presets/cursor/java/commands/feature-continue.md +4 -0
  438. package/presets/cursor/java/commands/feature-start.md +8 -0
  439. package/presets/cursor/java/commands/spec-start.md +29 -0
  440. package/presets/cursor/java/commands/task-continue.md +6 -3
  441. package/presets/cursor/java/rules/README.md +4 -1
  442. package/presets/cursor/java/rules/agent-team-orchestrator.mdc +2 -0
  443. package/presets/cursor/java/rules/feature-delivery-workflow.mdc +4 -0
  444. package/presets/cursor/java/rules/preset-layering.mdc +1 -1
  445. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +25 -12
  446. package/presets/cursor/java/rules/preset-pr-checklist.mdc +1 -1
  447. package/presets/cursor/java/rules/preset-twin-sync.mdc +2 -0
  448. package/presets/cursor/java/rules/product-specs-authoring.mdc +123 -0
  449. package/presets/cursor/java/rules/product-specs.mdc +65 -0
  450. package/presets/cursor/java/skills/feature-delivery/SKILL.md +5 -4
  451. package/presets/cursor/java/skills/spec-authoring/SKILL.md +26 -0
  452. package/presets/cursor/mcp-ts/agents/build-verifier.md +3 -0
  453. package/presets/cursor/mcp-ts/agents/feature-developer.md +7 -0
  454. package/presets/cursor/mcp-ts/agents/task-analyst.md +21 -0
  455. package/presets/cursor/mcp-ts/agents/task-router.md +11 -0
  456. package/presets/cursor/mcp-ts/commands/feature-continue.md +4 -0
  457. package/presets/cursor/mcp-ts/commands/feature-start.md +8 -0
  458. package/presets/cursor/mcp-ts/commands/spec-start.md +29 -0
  459. package/presets/cursor/mcp-ts/commands/task-continue.md +6 -3
  460. package/presets/cursor/mcp-ts/rules/README.md +2 -0
  461. package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +2 -0
  462. package/presets/cursor/mcp-ts/rules/feature-delivery-workflow.mdc +4 -0
  463. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +1 -1
  464. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +25 -12
  465. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +1 -1
  466. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +2 -0
  467. package/presets/cursor/mcp-ts/rules/product-specs-authoring.mdc +123 -0
  468. package/presets/cursor/mcp-ts/rules/product-specs.mdc +65 -0
  469. package/presets/cursor/mcp-ts/skills/feature-delivery/SKILL.md +4 -3
  470. package/presets/cursor/mcp-ts/skills/spec-authoring/SKILL.md +26 -0
  471. package/presets/cursor/next/agents/build-verifier.md +3 -0
  472. package/presets/cursor/next/agents/code-reviewer.md +1 -0
  473. package/presets/cursor/next/agents/feature-developer.md +7 -0
  474. package/presets/cursor/next/agents/task-analyst.md +19 -0
  475. package/presets/cursor/next/agents/task-router.md +11 -0
  476. package/presets/cursor/next/agents/tech-writer.md +5 -0
  477. package/presets/cursor/next/commands/feature-continue.md +4 -0
  478. package/presets/cursor/next/commands/feature-start.md +8 -0
  479. package/presets/cursor/next/commands/spec-start.md +29 -0
  480. package/presets/cursor/next/commands/task-continue.md +6 -3
  481. package/presets/cursor/next/rules/README.md +3 -1
  482. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +2 -0
  483. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +4 -0
  484. package/presets/cursor/next/rules/preset-layering.mdc +1 -1
  485. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +25 -12
  486. package/presets/cursor/next/rules/preset-pr-checklist.mdc +1 -1
  487. package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -0
  488. package/presets/cursor/next/rules/product-specs-authoring.mdc +123 -0
  489. package/presets/cursor/next/rules/product-specs.mdc +65 -0
  490. package/presets/cursor/next/skills/feature-delivery/SKILL.md +4 -3
  491. package/presets/cursor/next/skills/spec-authoring/SKILL.md +26 -0
  492. package/presets/cursor/nuxt/agents/build-verifier.md +3 -0
  493. package/presets/cursor/nuxt/agents/code-reviewer.md +2 -0
  494. package/presets/cursor/nuxt/agents/feature-developer.md +7 -0
  495. package/presets/cursor/nuxt/agents/task-analyst.md +19 -0
  496. package/presets/cursor/nuxt/agents/task-router.md +11 -0
  497. package/presets/cursor/nuxt/agents/tech-writer.md +5 -0
  498. package/presets/cursor/nuxt/commands/feature-continue.md +4 -0
  499. package/presets/cursor/nuxt/commands/feature-start.md +8 -0
  500. package/presets/cursor/nuxt/commands/spec-start.md +29 -0
  501. package/presets/cursor/nuxt/commands/task-continue.md +6 -3
  502. package/presets/cursor/nuxt/rules/README.md +3 -1
  503. package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +2 -0
  504. package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +4 -0
  505. package/presets/cursor/nuxt/rules/preset-layering.mdc +1 -1
  506. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +25 -12
  507. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +1 -1
  508. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +2 -0
  509. package/presets/cursor/nuxt/rules/product-specs-authoring.mdc +123 -0
  510. package/presets/cursor/nuxt/rules/product-specs.mdc +64 -0
  511. package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +4 -3
  512. package/presets/cursor/nuxt/skills/spec-authoring/SKILL.md +26 -0
  513. package/presets/cursor/php-hexagonal/agents/build-verifier.md +3 -0
  514. package/presets/cursor/php-hexagonal/agents/code-reviewer.md +2 -0
  515. package/presets/cursor/php-hexagonal/agents/feature-developer.md +7 -0
  516. package/presets/cursor/php-hexagonal/agents/task-analyst.md +19 -0
  517. package/presets/cursor/php-hexagonal/agents/task-router.md +11 -0
  518. package/presets/cursor/php-hexagonal/agents/tech-writer.md +5 -0
  519. package/presets/cursor/php-hexagonal/commands/feature-continue.md +4 -0
  520. package/presets/cursor/php-hexagonal/commands/feature-start.md +8 -0
  521. package/presets/cursor/php-hexagonal/commands/spec-start.md +29 -0
  522. package/presets/cursor/php-hexagonal/commands/task-continue.md +6 -3
  523. package/presets/cursor/php-hexagonal/rules/README.md +4 -1
  524. package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +2 -0
  525. package/presets/cursor/php-hexagonal/rules/feature-delivery-workflow.mdc +4 -0
  526. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +1 -1
  527. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +25 -12
  528. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +1 -1
  529. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +2 -0
  530. package/presets/cursor/php-hexagonal/rules/product-specs-authoring.mdc +123 -0
  531. package/presets/cursor/php-hexagonal/rules/product-specs.mdc +65 -0
  532. package/presets/cursor/php-hexagonal/skills/feature-delivery/SKILL.md +5 -4
  533. package/presets/cursor/php-hexagonal/skills/spec-authoring/SKILL.md +26 -0
  534. package/presets/cursor/php-laravel/agents/build-verifier.md +3 -0
  535. package/presets/cursor/php-laravel/agents/code-reviewer.md +2 -0
  536. package/presets/cursor/php-laravel/agents/feature-developer.md +7 -0
  537. package/presets/cursor/php-laravel/agents/task-analyst.md +19 -0
  538. package/presets/cursor/php-laravel/agents/task-router.md +11 -0
  539. package/presets/cursor/php-laravel/agents/tech-writer.md +5 -0
  540. package/presets/cursor/php-laravel/commands/feature-continue.md +4 -0
  541. package/presets/cursor/php-laravel/commands/feature-start.md +8 -0
  542. package/presets/cursor/php-laravel/commands/spec-start.md +29 -0
  543. package/presets/cursor/php-laravel/commands/task-continue.md +6 -3
  544. package/presets/cursor/php-laravel/rules/README.md +4 -1
  545. package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +2 -0
  546. package/presets/cursor/php-laravel/rules/feature-delivery-workflow.mdc +4 -0
  547. package/presets/cursor/php-laravel/rules/preset-layering.mdc +1 -1
  548. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +25 -12
  549. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +1 -1
  550. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +2 -0
  551. package/presets/cursor/php-laravel/rules/product-specs-authoring.mdc +123 -0
  552. package/presets/cursor/php-laravel/rules/product-specs.mdc +65 -0
  553. package/presets/cursor/php-laravel/skills/feature-delivery/SKILL.md +5 -4
  554. package/presets/cursor/php-laravel/skills/spec-authoring/SKILL.md +26 -0
  555. package/presets/cursor/svelte/agents/build-verifier.md +3 -0
  556. package/presets/cursor/svelte/agents/code-reviewer.md +2 -0
  557. package/presets/cursor/svelte/agents/feature-developer.md +7 -0
  558. package/presets/cursor/svelte/agents/task-analyst.md +19 -0
  559. package/presets/cursor/svelte/agents/task-router.md +11 -0
  560. package/presets/cursor/svelte/agents/tech-writer.md +5 -0
  561. package/presets/cursor/svelte/commands/feature-continue.md +4 -0
  562. package/presets/cursor/svelte/commands/feature-start.md +8 -0
  563. package/presets/cursor/svelte/commands/spec-start.md +29 -0
  564. package/presets/cursor/svelte/commands/task-continue.md +6 -3
  565. package/presets/cursor/svelte/rules/README.md +3 -1
  566. package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +2 -0
  567. package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +4 -0
  568. package/presets/cursor/svelte/rules/preset-layering.mdc +1 -1
  569. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +25 -12
  570. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +1 -1
  571. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +2 -0
  572. package/presets/cursor/svelte/rules/product-specs-authoring.mdc +123 -0
  573. package/presets/cursor/svelte/rules/product-specs.mdc +64 -0
  574. package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +4 -3
  575. package/presets/cursor/svelte/skills/spec-authoring/SKILL.md +26 -0
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Core principles, stack, and structure for an Android Kotlin multimodule app (preset)
3
+ ---
4
+
5
+ # Stack and environment
6
+
7
+ 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.
8
+
9
+ # Project structure (placeholders)
10
+
11
+ ```text
12
+ applications/ # app shells / product entry modules
13
+ core/ # shared kernels / design-system host
14
+ features/<name>/
15
+ api/ # public contracts, navigation ports
16
+ impl/ # data / domain / presentation / di
17
+ build-logic/ # convention plugins (includeBuild)
18
+ gradle/libs.versions.toml
19
+ gradlew | documented wrapper
20
+ ```
21
+
22
+ Place new files next to analogs. Boundaries/DI — **`architecture/boundaries`**. Tooling — **`tooling-and-review/gradle-tooling`**. After Kotlin/Android edits — **invoke** **`tooling-and-review/post-change-build`**.
23
+
24
+ # Agent work
25
+
26
+ - Features: `architecture/feature-delivery`; UI tests: skill `instrumentation-ui-e2e` + `instrumentation-test-*`.
27
+ - Local type names (ViewModel base, DI holders, design-system package) — consumer `team/conventions.md` only.
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Kotlin style, null-safety, and coroutine conventions for Android
3
+ paths:
4
+ - "**/*.{kt,kts}"
5
+ ---
6
+
7
+ # Kotlin conventions
8
+
9
+ - Prefer idiomatic Kotlin already used in neighboring files (naming, package layout, visibility).
10
+ - **Null-safety:** avoid `!!` in production paths; use `?.`, `?:`, early `return`, or typed errors.
11
+ - Prefer `val` / immutability for state snapshots; mutate only behind clear owners (ViewModel, repository).
12
+ - Coroutines: structured concurrency (`viewModelScope` / supervised scopes); cancel cooperatively; no fire-and-forget globals.
13
+ - Flow/StateFlow for streams; collect in lifecycle-aware scopes (Compose / lifecycle owners).
14
+ - Sealed classes/interfaces for UI events and domain errors when the repo pattern uses them.
15
+ - Do not invent new style tooling — follow ktlint/detekt/Android Lint **if** configured in the repo.
16
+
17
+ # Agent requirements
18
+
19
+ - Match neighboring module conventions before introducing a new pattern.
20
+ - Unverifiable third-party APIs → `// VERIFY:` comment (see `tooling-and-review/anti-sycophancy-discipline`).
21
+
22
+ # Packages and visibility
23
+
24
+ - Prefer `internal` for feature-impl helpers; public only at `api` module boundaries.
25
+ - Avoid wildcard imports that fight the repo’s ktlint/detekt settings.
26
+ - Extension functions stay near the type they extend or in established util packages.
27
+
28
+ # Errors
29
+
30
+ - Prefer typed results / sealed errors already used in the feature over bare exceptions in domain code.
@@ -0,0 +1,10 @@
1
+ # Testing
2
+
3
+ Unit (JUnit 4/5, repo default) and UI (Android instrumentation). Index only — bodies live in topic `.md` files.
4
+
5
+ | File | Cursor SoT |
6
+ |------|------------|
7
+ | [`unit.md`](./unit.md) | `tests-unit.mdc` |
8
+ | [`ui.md`](./ui.md) | `tests-ui.mdc` |
9
+
10
+ Sync: change Cursor → update Claude twin same PR. Full map: [`../README.md`](../README.md).
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: Android instrumentation UI tests (androidTest)
3
+ paths:
4
+ - "**/androidTest/**"
5
+ ---
6
+
7
+ # UI tests (instrumentation)
8
+
9
+ - Default agent surface: **Android instrumentation** under `androidTest` (devices/emulators/CI as configured).
10
+ - Discover the concrete framework from the consumer repo (Espresso, Compose UI Test, or project-chosen alternatives) — do not mandate a single library in always-on rules.
11
+ - Stable semantics / test tags / content descriptions aligned with presentation conventions.
12
+ - Keep tests behavior-focused; avoid brittle sleep-based synchronization when idling strategies exist.
13
+
14
+ # Agent team
15
+
16
+ - Plan/generate/heal via `instrumentation-test-{planner,generator,healer}` and skill `instrumentation-ui-e2e`.
17
+ - Do **not** require Playwright, XCUITest, or yarn `lint:js`/`lint:css` as Android UI-test handoffs.
18
+
19
+ # Agent requirements
20
+
21
+ - Prefer page objects / robot patterns already used in the repo.
22
+ - Wire flavors/variants via Gradle tasks discovered in `tooling-and-review/gradle-tooling`.
23
+
24
+ # Data & isolation
25
+
26
+ - Use test fixtures/fakes already adopted by the module; avoid hitting production backends.
27
+ - Clean state between tests when sharing an app process.
28
+ - Record the Gradle task used (`connected*` / managed device) in the plan/receipt.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: JVM unit test conventions for Android Kotlin modules
3
+ paths:
4
+ - "**/test/**"
5
+ - "**/*Test.kt"
6
+ ---
7
+
8
+ # Unit tests (JVM)
9
+
10
+ - Prefer fast JVM unit tests under `src/test` for domain, mappers, ViewModel reducers, and pure use cases.
11
+ - Use the repo’s stack (JUnit4/5, MockK, Turbine, Truth/AssertJ — **as already configured**).
12
+ - Fake ports over heavy Android instrumentation for logic tests.
13
+ - Name tests after behavior; keep arrange/act/assert clear.
14
+
15
+ # Scope
16
+
17
+ - Do not require device/emulator for pure logic.
18
+ - UI flows belong in `androidTest` / instrumentation agents — see `testing/ui`.
19
+
20
+ # Agent requirements
21
+
22
+ - Agents `unit-test-*` + skill `unit-testing` own planning/generation/healing.
23
+ - After production edits, run the narrowest `./gradlew …Test` suite via `tooling-and-review/post-change-build` / `tooling-and-review/gradle-tooling`.
24
+
25
+ # Flakes & determinism
26
+
27
+ - Control clocks/dispatchers when testing coroutines/Flow.
28
+ - Avoid relying on real Android framework types in JVM tests unless Robolectric is already standard.
29
+ - Prefer table-driven cases for mapper edge inputs.
@@ -0,0 +1,19 @@
1
+ # Tooling and review
2
+
3
+ Quality, review, build, security, agent-team, retro. Index only — bodies live in topic `.md` files.
4
+
5
+ | File | Cursor SoT |
6
+ |------|------------|
7
+ | [`code-quality.md`](./code-quality.md) | `code-quality-and-refactoring.mdc` |
8
+ | [`code-review.md`](./code-review.md) | `code-review-mr.mdc` |
9
+ | [`post-change-build.md`](./post-change-build.md) | `post-change-build.mdc` |
10
+ | [`gradle-tooling.md`](./gradle-tooling.md) | `gradle-tooling.mdc` |
11
+ | [`security-android.md`](./security-android.md) | `security-android.mdc` |
12
+ | [`agent-team-orchestrator.md`](./agent-team-orchestrator.md) | `agent-team-orchestrator.mdc` |
13
+ | [`agent-team-intake.md`](./agent-team-intake.md) | `agent-team-intake.mdc` |
14
+ | [`technical-retro.md`](./technical-retro.md) | `technical-retro.mdc` |
15
+ | [`design-guidance.md`](./design-guidance.md) | `design-guidance.mdc` |
16
+ | [`anti-sycophancy-discipline.md`](./anti-sycophancy-discipline.md) | `anti-sycophancy-discipline.mdc` |
17
+ | `preset-*.md` | `preset-*.mdc` |
18
+
19
+ Sync: change Cursor → update Claude twin same PR. Full map: [`../README.md`](../README.md).
@@ -0,0 +1,18 @@
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
+ paths:
4
+ - .claude/commands/**/*
5
+ - .claude/team/**/*
6
+ ---
7
+
8
+ <!-- shared-core: agent-team/agent-team-intake.md -->
9
+
10
+ # Agent team intake
11
+
12
+ 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:
13
+
14
+ 1. Prefer **`/task <their request>`** or invoke **task-router** first.
15
+ 2. Do not jump straight to coding without router + pipeline when scope is non-trivial.
16
+ 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`.
17
+
18
+ Exceptions: user explicitly says “no pipeline”, “just do it”, or continues an active slug.
@@ -0,0 +1,129 @@
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
+ paths:
4
+ - .claude/commands/**/*
5
+ - .claude/team/**/*
6
+ - .claude/agents/**/*
7
+ ---
8
+
9
+ <!-- shared-core: agent-team/agent-team-orchestrator.md -->
10
+
11
+ # Agent team orchestrator
12
+
13
+ Parent agent = **manager**. Router plans; specialists execute. Artifacts: `.claude/team/tasks/<slug>/`.
14
+
15
+ Work request without `/task` — see **`tooling-and-review/agent-team-intake.md`**.
16
+
17
+ ## Entry points
18
+
19
+ | Command | When |
20
+ |---------|------|
21
+ | **`/task <desc>`** | **Preferred** — router → dynamic pipeline → first agent |
22
+ | `/task-continue <slug>` | After human gate or pause |
23
+ | `/feature-start <desc>` | Legacy: analyst-only start (no router) |
24
+ | `/feature-continue <slug>` | Alias of task-continue |
25
+ | `/technical-retro [slug]` | Retro with agent team block |
26
+
27
+ ## Stack notes
28
+
29
+ ### Roles (Android)
30
+
31
+ | Agent | Prod writes | Typical intent |
32
+ |-------|-------------|----------------|
33
+ | `task-router` | no (team) | Every `/task` |
34
+ | `task-analyst` | no | feature, refactor, test-only, a11y, docs, migration |
35
+ | `solution-architect` | no | spike, cross-layer Feature |
36
+ | `migration-specialist` | no | Android Studio / AGP/Gradle modules/Android upgrades |
37
+ | `api-contract-reviewer` | no | OpenAPI / Kotlin codegen contracts |
38
+ | `debugger` | minimal | bugfix |
39
+ | `ci-investigator` | minimal CI | ci-fix |
40
+ | `feature-developer` | yes | feature, bugfix, refactor, migration, a11y |
41
+ | `build-verifier` | no | ./gradlew + ktlint/detekt/Format + unit smoke; preset-structure for preset PRs |
42
+ | `accessibility-reviewer` | no | TalkBack / font scale / semantics |
43
+ | `performance-auditor` | no | launch / Profiler / Macrobenchmark |
44
+ | `code-reviewer` | no | most pipelines, review-only |
45
+ | `security-reviewer` | no | Android Keystore / encrypted storage, network security / cleartext, PII |
46
+ | `qa-tester` | tests | feature, bugfix, test-only |
47
+ | `unit-test-planner` / `generator` / `healer` | tests | unit-only |
48
+ | `instrumentation-test-planner` / `generator` / `healer` | UI tests | e2e-only (Android instrumentation) |
49
+ | `tech-writer` | docs | docs-only |
50
+
51
+ **Never use Playwright stems** in this preset — substitute Android instrumentation trio. Document Playwright skips when copying next templates.
52
+
53
+ **Cursor frontmatter:** all team agents use `readonly: false` (team writes). Production restrictions live in prompt bodies.
54
+
55
+ Full prompts: `.claude/agents/*.md`. Artifact conventions: `.claude/team/README.md`; schema SoT: **agent-artifact-contracts**.
56
+
57
+ **Product specs:** When `/task`, `/feature-start`, or `/spec-start` touches pages/features/`docs/specs`: if INDEX exists and no generate intent → instruct next agent to load requestable **`product-specs`** (consume; soft-fail; never invent). If generate/bootstrap/`spec-gen` → load **`product-specs-authoring`** + skill **`spec-authoring`** inside **task-analyst** (not a separate pipeline step); pass created spec paths + INDEX diff in handoff; human gate must approve before feature-developer. No-op if INDEX absent and no author intent.
58
+
59
+ When editing `packages/ai-rules/presets/**`, follow **`tooling-and-review/preset-pr-checklist.md`** (+ twin-sync / layering / token-budget / leakage meta-rules).
60
+
61
+ ## Dynamic pipeline
62
+
63
+ **Source of truth for order:** `pipeline.json` → `steps[]`. Never hardcode analyst → dev → review → QA when `pipeline.json` exists.
64
+
65
+ 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.
66
+
67
+ ## Metrics lifecycle
68
+
69
+ 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`.
70
+
71
+ ## Artifact context index and receipts
72
+
73
+ Each slug has one `artifact-manifest.json`: `.claude/team/tasks/<slug>/` or `.cursor/team/tasks/<slug>/`. Schema SoT: **agent-artifact-contracts**.
74
+
75
+ - 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.
76
+ - Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
77
+ - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
78
+ - 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.
79
+ - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
80
+
81
+ ## status.json (pipeline mode)
82
+
83
+ | Field | Meaning |
84
+ |-------|---------|
85
+ | `activeAttempts` | Transient timing bridge keyed by `attemptId` |
86
+ | `lastCompletedAttempt` | Diagnostic pointer to the latest finished attempt |
87
+ | `parallelCompleted` | Agents that have stopped in the current parallel step |
88
+ | `parallelOutcomes` | Per-agent `{ outcome, attemptId, confidence }` for the current parallel join; cleared when the step advances or retries |
89
+
90
+ 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.
91
+
92
+ | state | Meaning |
93
+ |-------|---------|
94
+ | `in_progress` | Current step running |
95
+ | `completed` | Current step done; hook advances |
96
+ | `awaiting_approval` | Human gate; wait for `/task-continue` |
97
+ | `changes_requested` | Reviewer blocked; re-run developer |
98
+ | `validation_failed` | build-verifier failed; re-run developer then verifier |
99
+
100
+ ## Rules (strict)
101
+
102
+ 1. **`/task` always starts with task-router** (unless user skips with documented pipeline).
103
+ 2. Read `pipeline.json` before every subagent invocation.
104
+ 3. One role per Task call — except parallel steps.
105
+ 4. **Never** skip `humanGates` without `/task-continue` or explicit approval.
106
+ 5. Persist handoffs to disk under `.claude/team/tasks/<slug>/` via **Write** (not Shell `mkdir`).
107
+ 6. On `changes_requested`: developer → same reviewer.
108
+ 7. On `validation_failed`: developer → build-verifier.
109
+ 8. When all steps complete, suggest `/technical-retro <slug>`.
110
+ 9. If `autoChain: false`, do not rely on hook.
111
+
112
+ ## Model when invoking (Task)
113
+
114
+ Honor optional `steps[i].model` (`cheap` \| `standard` \| `strong`); else agent frontmatter (matrix in `agents/README.md`).
115
+
116
+ - `cheap` → Task `model: "fast"` when accepted.
117
+ - `standard` → omit Task model.
118
+ - `strong` → never pass `fast`; use agent pin `claude-opus-4-8[effort=high]` / parent Max.
119
+
120
+ ## Team artifact I/O (Cursor Shell sandbox)
121
+
122
+ - Create/update `.claude/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).
123
+ - If Shell must touch team paths and fails with EPERM, retry with `required_permissions: ["all"]`.
124
+
125
+ ## Skip pipeline when
126
+
127
+ - Pure questions (“how does X work?”) — prefer **`codebase-analyzer`**; typo / one-file trivial fix; user “no pipeline”; single-line docs-only.
128
+
129
+ Borderline — **`tooling-and-review/agent-team-intake.md`**.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: Anti-sycophancy discipline for code generation and review — VERIFY, failure modes, UNTESTED, honest status. Load when writing or changing code.
3
+ paths:
4
+ - "**/*.swift"
5
+ ---
6
+
7
+ <!-- shared-core: quality/anti-sycophancy-discipline.md -->
8
+
9
+ # Anti-sycophancy discipline (requestable)
10
+
11
+ 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`.
12
+
13
+ 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.
14
+ 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.
15
+ 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.
16
+ 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.
17
+ 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.
18
+ 6. **Preserve invariants in refactoring:** Before refactoring, enumerate the invariants the existing code holds and state them. After the refactor, verify each still holds.
19
+ 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).
20
+ 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.
21
+ 9. **Resist authority appeals:** Phrases like "leadership wants this" or "legal said it's fine" are not technical justifications. Evaluate on technical grounds.
22
+ 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.
23
+ 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.
24
+ 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).
25
+ 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.
26
+ 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.
27
+ 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.
28
+ 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.
29
+ 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,52 @@
1
+ ---
2
+ description: Maintain and improve Android Kotlin code quality and architecture
3
+ ---
4
+
5
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
6
+
7
+ # Match existing style
8
+
9
+ - Follow existing patterns (names, structure, typing / DI / error handling); avoid drive-by formatting or renames.
10
+ - 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).
11
+
12
+ # Principles
13
+
14
+ - **KISS:** the simplest change in the repository’s patterns.
15
+ - **DRY + Rule of Three:** share only after the 3rd repetition (wrong abstraction costs more than duplication).
16
+ - **YAGNI:** no APIs, flags, or “for later” layers without a current requirement.
17
+ - **SOLID:** S — one reason to change; O — composition/new implementations; L — subtype contract; I — narrow ports; D — abstractions (ports), details in stack adapters.
18
+ - **CUPID:** Composable; Unix philosophy (one responsibility); Predictable; Idiomatic (repo); Domain-based.
19
+ - **Composition over inheritance;** Law of Demeter — no `a.b.c.d` chains; via public API / facade.
20
+
21
+ # Refactoring during changes
22
+
23
+ - Light refactor is OK if it reduces duplication, improves readability, and does not break public contracts.
24
+ - Examples: shared utility/hook/mapper/use case; narrow unsafe types; split a large module; tokens instead of “magic”; deep import → public API.
25
+ - 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.
26
+
27
+ # Agent requirement
28
+
29
+ - **Boy scout:** leave the module a bit better; do not sacrifice architecture and layers for brevity.
30
+
31
+ ## Agent discipline (anti-sycophancy)
32
+
33
+ Essentials below. Full procedural set (~17 rules) → load **`anti-sycophancy-discipline`**.
34
+
35
+ - Unverifiable third-party API → mark `// VERIFY: lib.symbol @ version` (or stack equivalent); never invent signatures.
36
+ - Before "is this correct?" — ≥3 failure modes (empty, boundary, concurrency/state) or name what you could not check.
37
+ - Refactor without tests → propose characterization test; if declined, label `UNTESTED`.
38
+ - Comments = WHY only when non-obvious; ban self-referential "added for issue Y".
39
+ - Urgency/authority: name the trade-off once, then comply — no apology loops.
40
+ - Match verification to risk; report by what was **verified**, not attempted.
41
+
42
+ Style enforcement (formatter / linter / post-change gate) lives in the **stack toolchain** — see each adapter’s **Stack notes**.
43
+
44
+ > Stack-specific lint gates, examples, and toolchain — in the preset adapter **Stack notes** section.
45
+
46
+ ## Stack notes
47
+
48
+ - Before adding a new UI control, check the project design-system and existing Compose components.
49
+ - Public API: `features/<name>/api` contracts and launcher ports — not deep `impl` imports.
50
+ - Acceptable examples: shared mapper/validation; replace `!!`; split an overloaded ViewModel; design tokens instead of magic colors; remove UI→data short-circuits.
51
+ - Post-change gate: **`post-change-build`** + **`gradle-tooling`** (not yarn `lint:js`/`lint:css`).
52
+ - Style: **ktlint / detekt / Android Lint** only when the repo/CI already configures them.
@@ -0,0 +1,88 @@
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
+ paths:
4
+ - .claude/commands/**/*
5
+ - .claude/team/**/*
6
+ - .claude/agents/**/*
7
+ - .claude/skills/code-review/**/*
8
+ ---
9
+
10
+ <!-- shared-core: review/code-review-mr.md -->
11
+
12
+ # Code review merge requests
13
+
14
+ On-demand rule for review flows. **Procedure and output format:** skill `code-review`.
15
+
16
+ ## When to load
17
+
18
+ - User asks for review/MR/diff
19
+ - Pipeline step `code-reviewer`
20
+ - Platform automated review (e.g. BUGBOT) when present
21
+
22
+ ## Checklist references (abstract)
23
+
24
+ - Architecture layers and stack core rules
25
+ - Public imports / module boundaries
26
+ - UI conventions of the stack
27
+ - Unit and e2e/UI test conventions
28
+ - Post-change lint/build gate before final report
29
+ - Design smells **in MR diff scope** — load `design-guidance`; do not expand the full Fowler catalog outside the diff
30
+ - Pattern name (GoF) — only if the repository already uses that shape or the match is minimal
31
+ - Principles (KISS / DRY+Ro3 / YAGNI / SOLID / CUPID) — via always-on `code-quality-and-refactoring`, do not duplicate the essay in review
32
+
33
+ Concrete rule stems — in **Stack notes**.
34
+
35
+ ## Constraints
36
+
37
+ - Focus on MR diff, not the whole repo.
38
+ - Use local `git diff` — do not invent hosting metadata.
39
+ - Boy scout rule: suggest fixes feasible within the MR scope.
40
+ - No “big refactors” without an explicit request (`code-quality-and-refactoring`).
41
+
42
+ ## Output contract
43
+
44
+ Procedure details live in skill `code-review`. Required shape:
45
+
46
+ - Each finding cites **`path:line`**, the problem, impact, and a concrete fix direction.
47
+ - Rank by severity: **`blocker` | `important` | `nit`** (list blocker → nit).
48
+ - Vague («looks risky») is not a finding — cite evidence or ask for surrounding file context.
49
+ - End with a verdict on its own line: **`Safe to merge | needs changes | reject`**.
50
+
51
+ ## Stack notes
52
+
53
+ On-demand rule for review flows (not always-on).
54
+
55
+ - **When to apply**
56
+ - Requests: “review this”, “evaluate the MR/branch/diff”, “look at the changes”.
57
+ - Rely on the local repository: branch, `git diff`, open files.
58
+
59
+ - **What the agent must check**
60
+ - **Architecture and layers** (`architecture/boundaries.md`, `stack/android-app-core.md`):
61
+ - View does not call APIs and does not know DTOs.
62
+ - ViewModel does not depend on Data implementations directly.
63
+ - Domain does not import Jetpack Compose/Android View system.
64
+ - Data does not pull Presentation.
65
+ - **Dependencies and modules**:
66
+ - DI via protocols; composition / holders in `applications/` + feature DI.
67
+ - No deep-import between features.
68
+ - Files in the correct layers (`presentation`, `domain`, `data`, design-system / `api`/`impl`).
69
+ - **Kotlin and concurrency** (`stack/kotlin-conventions.md`):
70
+ - `main-safe / viewModelScope` on UI; no unjustified `!!`s.
71
+ - Typed errors; structured concurrency / cancellation where needed.
72
+ - **UI** (`ui-and-accessibility/compose.md`):
73
+ - Thin Views; Design System tokens; semantics / content descriptions for testable elements.
74
+ - **Networking and data** (`api-and-data/networking.md`):
75
+ - DTOs separated from domain; mappers cover edge cases.
76
+ - **Tests**:
77
+ - Non-trivial logic — unit (`testing/unit.md`); user flows — UI (`testing/ui.md`).
78
+ - State which tests to add or update.
79
+
80
+ - **Depth and format**
81
+ - Focus on the **MR diff**, not the whole project.
82
+ - Overview first (MR goal, risks), then concrete comments with file and a fix suggestion matching repo patterns.
83
+ - No “big refactors” without a request (`tooling-and-review/code-quality.md`).
84
+
85
+ - **Constraints**
86
+ - Do not invent CI/MR hosting metadata without local data.
87
+ - Boy scout rule within the MR.
88
+ - BUGBOT automated review — see root `BUGBOT.md` (Cursor).
@@ -0,0 +1,110 @@
1
+ ---
2
+ description: Design smells (Fowler) and curated GoF patterns for agents. Load when assessing structure, smells, or pattern fit.
3
+ paths:
4
+ - "**/*.swift"
5
+ ---
6
+
7
+ <!-- shared-core: quality/design-guidance.md -->
8
+
9
+ # Design guidance (smells & patterns)
10
+
11
+ Glossary of **code smells** (Fowler) and **design patterns** (GoF) for agents during implement / review / debug.
12
+
13
+ Apply only within the task or MR scope. Light refactor — yes; a “big” rewrite without an explicit request — no.
14
+
15
+ Name a pattern **only if** the repository already does it that way or the match is minimal. Otherwise — extract/split/move without a GoF label.
16
+
17
+ Does not replace always-on Principles in `code-quality-and-refactoring` (KISS, DRY + Rule of Three, YAGNI, SOLID, CUPID, composition, Demeter).
18
+
19
+ ## When to load
20
+
21
+ - **Feature delivery / implement** — assess module structure, boundaries, and duplication.
22
+ - **Code review** — smells and pattern fit **in the MR diff**, not across the whole repo.
23
+ - **Debug** — root cause looks like wrong abstraction, Feature Envy, Message Chains, Shotgun Surgery.
24
+ - **Light refactor only** — improvements within boy-scout / MR scope; do not expand the task for the catalog.
25
+
26
+ Agents and skills load this stem via one-liner wiring — do not copy this catalog into the agent prompt.
27
+
28
+ ## How to use (agent rules of thumb)
29
+
30
+ 1. First check against Principles (always-on): is the solution simpler, is there no premature abstraction, is the public API respected.
31
+ 2. Then mark smells **in the changed files** of the task/MR; propose a fix only if it fits a light refactor.
32
+ 3. A GoF pattern is an optional label after the structure is already clear; do not start design by picking a pattern.
33
+ 4. If a smell or pattern conflicts with stack layer boundaries — stack boundaries and existing repo patterns win.
34
+ 5. Do not require renaming “for GoF” if behavior is already correct and readable.
35
+
36
+ ## Code smells (Fowler, curated ≤12)
37
+
38
+ Table: smell → detect hint → fix hint (one line each). No mechanical refactoring menus.
39
+
40
+ | # | Smell | Detect | Fix hint |
41
+ |---|-------|--------|----------|
42
+ | 1 | Duplicate Code | same logic in ≥2 places | dedupe after Rule of Three |
43
+ | 2 | Long Method / Long Module | unit does too much | extract within scope; no big rewrite |
44
+ | 3 | Feature Envy | method touches foreign data more than its own | move logic toward the data / public API |
45
+ | 4 | Data Clumps | the same argument groups travel together | group into a type / value object |
46
+ | 5 | Primitive Obsession | raw string/int instead of domain concepts | typed ids / value objects when the domain needs them |
47
+ | 6 | Speculative Generality | unused hooks, flags, “for later” abstractions | remove (YAGNI) |
48
+ | 7 | Message Chains | `a.b.c.d` chains | Demeter; facade / module public API |
49
+ | 8 | Middle Man | class almost only forwards calls | remove pass-through **or** keep as a boundary |
50
+ | 9 | Divergent Change | one module changes for different reasons | split by reasons to change |
51
+ | 10 | Shotgun Surgery | one semantic change spreads across many files | consolidate responsibility |
52
+ | 11 | Inappropriate Intimacy | access to foreign internals / private details | public API / ports / facades only |
53
+ | 12 | Refused Bequest / Parallel Inheritance | subtype ignores base; mirrored class hierarchies | composition; do not grow parallel trees |
54
+
55
+ **Skip Fowler (not in core):** Lazy Class, Incomplete Library Class, Comments-as-smell dogma, full 70+ catalog, step-by-step recipe menus.
56
+
57
+ Smell conflict priority: Inappropriate Intimacy and Message Chains (module boundaries) > Duplicate Code (after Rule of Three) > Long Method inside an already correct module.
58
+
59
+ ## Design patterns (GoF, curated ≤8)
60
+
61
+ Suggest only when repo already uses the shape or the match is minimal. Prefer extract-function over naming Strategy for the label alone.
62
+
63
+ Patterns below are the **allowed minimum** for agents; the rest of GoF is Skip by default.
64
+
65
+ | Pattern | When to suggest | Anti-trigger |
66
+ |---------|-----------------|--------------|
67
+ | Strategy | interchangeable algorithms already (or clearly soon) chosen by policy | one algorithm with no policy branching |
68
+ | Adapter | wrap external / foreign API under a local port | extra wrapper around your own API |
69
+ | Facade | simplify a multi-step subsystem behind a public API | facade turns into a god-object |
70
+ | Factory Method | polymorphic creation already accepted in repo style | factory for every trivial `new` |
71
+ | Decorator | additive behavior without exploding subclass hierarchies | decorator “for layers” with no real need |
72
+ | Observer | events / subscriptions already exist in the architecture | homemade pub/sub with no repo precedent |
73
+ | Template Method | shared algorithm skeleton + variable hooks | inheritance for a couple of differing lines |
74
+ | Composite | tree of homogeneous nodes (UI/domain), as already in the repo | Composite on a flat list with no hierarchy |
75
+
76
+ If unsure between two patterns — choose the simpler extract/compose without a name; the label may be added on review if the repo already speaks that way.
77
+
78
+ ## Skip / avoid by default
79
+
80
+ | Catalog | Skip |
81
+ |---------|------|
82
+ | GoF | Singleton, Abstract Factory, Flyweight, Memento, Interpreter, Visitor, Bridge, Prototype |
83
+ | GoF (conditional) | Command, Chain of Responsibility, State — mention **only if** the repo already uses them |
84
+ | Fowler | everything beyond the 12 smells above |
85
+ | DDD | Aggregates, bounded-context maps, event sourcing, CQRS — **not in core** |
86
+ | DDD (pointer) | ubiquitous language anti-pattern — expand in `feature-delivery-workflow`, not here |
87
+ | GRASP | Larman list as separate rules — skip (covered by SOLID/CUPID) |
88
+ | Clean Code dogma | hard caps on function lines / “exactly one assert” — skip |
89
+
90
+ Do not introduce a second stem (`refactoring-smells` / `design-patterns-for-agents`) — one catalog: `design-guidance`.
91
+
92
+ ## Out of scope for this stem
93
+
94
+ - Full GoF (23) and full Fowler catalog.
95
+ - Stack-specific recipes (module paths, lint commands) — only in the adapter **Stack notes**.
96
+ - Security, a11y, perf — separate review rules; here only structural smells/patterns.
97
+ - A fourth always-on rule — forbidden; this stem is requestable / agent-load only.
98
+
99
+ ## Cross-refs
100
+
101
+ - Always-on Principles: `code-quality-and-refactoring`.
102
+ - DIP / ports vs adapters: stack `architecture-boundaries` (stack details — in adapter Stack notes).
103
+ - Ubiquitous language: `feature-delivery-workflow` (lineage).
104
+ - MR checklist (smells in scope; pattern name only if repo uses it): `code-review-mr`.
105
+ - Token / twin policy for authors: `preset-token-budget`, `preset-twin-sync` (meta, not consumer always-on).
106
+
107
+ ## Stack notes
108
+
109
+ - Prefer protocol + composition over class inheritance hierarchies.
110
+ - Suggest Adapter/Facade at Feature public API / DI boundaries — not inside Views.
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Gradle wrapper, version catalog, and task discovery for Android
3
+ paths:
4
+ - "**/*.{kt,kts}"
5
+ - "**/libs.versions.toml"
6
+ - "**/gradlew*"
7
+ ---
8
+
9
+ # Gradle tooling (requestable)
10
+
11
+ Discover commands from the consumer repository — never invent a private wrapper path as the only option.
12
+
13
+ 1. Prefer `./gradlew` at the Gradle root; else a **documented** wrapper script from README/CI.
14
+ 2. Modules, product flavors, and variants — from Gradle + `gradle/libs.versions.toml` + convention plugins under `build-logic/`.
15
+ 3. JDK / AGP / Kotlin versions — from toolchain config or CI images.
16
+
17
+ ## Typical goals
18
+
19
+ | Goal | Discovery approach |
20
+ |------|--------------------|
21
+ | Compile affected modules | `./gradlew :module:compile<Variant>Kotlin` (or project alias tasks) |
22
+ | Android Lint / ktlint / detekt | Run **only if** repo/CI already configures them |
23
+ | Unit tests | Narrowest `./gradlew :module:test<Variant>UnitTest` / `*Test` |
24
+ | Instrumentation | Connected/managed device tasks as configured in CI |
25
+
26
+ ## Agent requirements
27
+
28
+ - Mandatory after Kotlin/Android edits: **`post-change-build`**.
29
+ - Never require Playwright, XCUITest, `xcodebuild`, or yarn `lint:js`/`lint:css` as Android handoffs.
30
+ - Full gate: agent `build-verifier` with the same discovery rules.
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: Compile, lint, and unit-test after Android/Kotlin edits (requestable, required)
3
+ paths:
4
+ - .claude/commands/**/*
5
+ - .claude/agents/**/*
6
+ - .claude/team/tasks/**/*
7
+ - "**/*.{kt,kts}"
8
+ ---
9
+
10
+ # Post-change build (requestable, required after code edits)
11
+
12
+ After editing Kotlin/Android sources or Gradle build files:
13
+
14
+ 1. Load **`tooling-and-review/gradle-tooling`** and discover wrapper + module/variant tasks.
15
+ 2. Compile the **affected** modules for the relevant variant/flavor.
16
+ 3. Run configured static checks (Android Lint / ktlint / detekt) **only if** present in repo/CI.
17
+ 4. Run the narrowest unit-test suite for touched modules.
18
+ 5. Record commands and outcomes for handoff to `build-verifier`.
19
+
20
+ ## Do not
21
+
22
+ - Require Playwright, XCUITest, `xcodebuild`, or yarn `lint:js`/`lint:css`.
23
+ - Skip the gate because “it looks fine”.
24
+ - Introduce new lint tools as hard gates.
25
+
26
+ ## Full validation
27
+
28
+ Agent `build-verifier` repeats discovery at CI parity when the pipeline schedules it.
29
+
30
+ # Scope selection
31
+
32
+ - Prefer module-local tasks over full-project builds when CI allows.
33
+ - If flavor/variant is ambiguous, read CI and neighboring scripts before guessing.
34
+ - Surface failures with the exact command for `build-verifier` / the user.