@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,121 @@
1
+ ---
2
+ paths:
3
+ - docs/specs/**/*
4
+ ---
5
+
6
+ <!-- shared-core: architecture/product-specs-authoring.md -->
7
+
8
+ # Product specs authoring
9
+
10
+ Load when **Generate** or **Bootstrap** is requested (`/spec-start`, router `spec-gen`, brief AC, or analyst author mode). Discovery-only work stays on **`product-specs`**.
11
+
12
+ ## Modes
13
+
14
+ 1. **Consume** — default; never invent INDEX/specs (see `product-specs`).
15
+ 2. **Generate** — create/update page/feature specs + INDEX rows from brief AC, user intent, Figma, or code archaeology. Inventing *product* behavior is forbidden without a stated source (AC / user / UI copy / code-observed behavior labeled `status: draft` or `inferred`).
16
+ 3. **Bootstrap** — create `INDEX.md` + `_templates/` copies + first domain spec under greenfield policy.
17
+
18
+ ## Greenfield policy
19
+
20
+ Agents **may** create INDEX + first specs **only when** one of:
21
+
22
+ 1. User runs `/spec-start` or explicitly asks to bootstrap `docs/specs`.
23
+ 2. Brief/AC includes generation or bootstrap language.
24
+ 3. Router detects `spec-gen` intent.
25
+
26
+ Otherwise: missing INDEX → optional tree; do **not** invent INDEX merely because discovery loaded.
27
+
28
+ ## Conflict precedence
29
+
30
+ 1. **Human gate** decision (approved brief/spec edits).
31
+ 2. **Current task `brief.md` AC** — if AC contradicts an existing spec, analyst must reconcile (update spec as `draft` or revise AC) before developer; no silent contradiction.
32
+ 3. **Approved `docs/specs/**`** — behavior SoT for feature-developer once gate passed.
33
+ 4. **Code / `.ai/context`** — discovery evidence only; never override approved spec without gate.
34
+
35
+ Label inferred-from-code lines with `status: draft` until human promotes.
36
+
37
+ ## INDEX.md contract (v1)
38
+
39
+ | Column | Required | Notes |
40
+ |--------|----------|-------|
41
+ | `id` | yes | Stable kebab/id matching frontmatter `id` |
42
+ | `type` | yes | `page` \| `feature` |
43
+ | `domain` | yes | Domain folder under `docs/specs/domains/<domain>/` |
44
+ | `title` | yes | Human label |
45
+ | `path` | yes | Repo-relative path to markdown file |
46
+ | `routes` | no | Summary; may duplicate frontmatter |
47
+ | `aliases` | no | Comma-separated PageName / deep-link aliases |
48
+ | `status` | no | `draft` \| `active` \| `deprecated` |
49
+
50
+ Layout: `docs/specs/domains/<domain>/<id>.md` (page) and optional `docs/specs/domains/<domain>/feature.md`. Adding/renaming/removing a linked file **must** update INDEX in the **same change set**.
51
+
52
+ ## Frontmatter v1
53
+
54
+ | Field | Type | Required | Notes |
55
+ |-------|------|----------|-------|
56
+ | `id` | string | yes | Unique; matches INDEX |
57
+ | `type` | enum `page` \| `feature` | yes | Backend/MCP: prefer `feature` |
58
+ | `domain` | string | yes | |
59
+ | `routes` | string[] | yes (may be `[]`) | Web: URL paths; mobile: deep links/screens; backend: HTTP paths; mcp-ts: tool names |
60
+ | `ui` | string[] | yes (may be `[]`) | Component/screen refs; empty on backend/mcp |
61
+ | `store` | string[] | yes (may be `[]`) | Slice/module refs; empty when N/A |
62
+ | `api` | string[] | yes (may be `[]`) | Services/ports/tools |
63
+ | `aliases` | string[] | yes (may be `[]`) | |
64
+ | `e2e` | string[] | yes (may be `[]`) | Stack-appropriate test paths |
65
+ | `status` | enum | no | default `draft` on agent generate |
66
+ | `owners` | string[] | no | |
67
+ | `related` | string[] | no | Spec ids or paths |
68
+
69
+ Arrays are **always present** (empty allowed). Do not omit keys for N/A stacks.
70
+
71
+ ## Body headings (minimum)
72
+
73
+ **`page` required:** Overview; Entry / actors; Primary flows; States (loading / empty / error / success as applicable — mark N/A explicitly); Acceptance criteria (links or bullets to brief AC / product source).
74
+
75
+ **`page` optional:** Analytics, Accessibility, Edge cases, Related specs.
76
+
77
+ **`feature` required:** Overview; Shared behavior / constraints; Related pages (links).
78
+
79
+ **`feature` optional:** Cross-cutting states, Analytics.
80
+
81
+ Compliant = valid frontmatter + all required headings present (non-empty prose or explicit `N/A`) + INDEX row with resolvable `path`.
82
+
83
+ ## Templates & assets
84
+
85
+ **Package SoT:** `packages/ai-rules/presets/_shared/assets/docs-specs/` (`INDEX.md` stub, `_templates/page.md`, `_templates/feature.md`; optional `schemas/frontmatter-v1.schema.json`).
86
+
87
+ **CLI `init`:** when consumer `docs/specs/` is **absent**, copy INDEX stub + `_templates/*` (idempotent; **never overwrite** existing INDEX). When the tree already exists, skip seed entirely.
88
+
89
+ **Skill fallback:** if consumer `_templates/` missing during author mode, copy from package/skill assets before authoring.
90
+
91
+ ## Author roles
92
+
93
+ | Role | Responsibility |
94
+ |------|----------------|
95
+ | **task-analyst** | Primary author (Generate + Bootstrap); INDEX bootstrap; brief **Related specs** + **Spec gaps / generation requested**; loads this stem + skill `spec-authoring` |
96
+ | **tech-writer** | Post-delivery sync where present; never invent product behavior without AC/code source |
97
+ | **feature-developer** | Consumes approved specs as SoT; mechanical INDEX/frontmatter fixes only on renames |
98
+ | **mcp-ts** | No tech-writer — author + post-sync via **task-analyst** only |
99
+
100
+ ## Self-check before handoff (soft block)
101
+
102
+ Block handoff via `open_questions` until fixed:
103
+
104
+ - [ ] Required frontmatter keys present; arrays always present (may be `[]`)
105
+ - [ ] Required body headings present (or explicit `N/A`)
106
+ - [ ] INDEX row added/updated with resolvable `path` in the **same change set**
107
+ - [ ] Sources cited; invented product behavior absent (or labeled `draft` / `inferred`)
108
+ - [ ] Conflict with brief AC reconciled or flagged
109
+
110
+ ## Related
111
+
112
+ - `product-specs` — discovery / consume
113
+ - Skill `spec-authoring` — procedural checklist
114
+ - Optional consumer script `scripts/check-product-specs.sh` (WARN default; `--strict` FAIL)
115
+
116
+
117
+ ## Stack notes
118
+
119
+ - Author via skill `spec-authoring`; templates from package assets / consumer `docs/specs/_templates/`.
120
+ - Field semantics match discovery stem (`routes` = URL paths; `e2e` = Playwright).
121
+ - Requestable — not always-on / session-start.
@@ -0,0 +1,62 @@
1
+ ---
2
+ paths:
3
+ - docs/specs/**/*
4
+ ---
5
+
6
+ <!-- shared-core: architecture/product-specs.md -->
7
+
8
+ # Product specs (docs/specs)
9
+
10
+ Product page/feature **behavior** specs live under the consumer repo `docs/specs/**`. This stem covers **discovery and presence** — not layer implementation order (see `feature-delivery-workflow`) and not code-structure mirroring (see `reference-features`).
11
+
12
+ **Authoring** (Generate / Bootstrap modes, INDEX/frontmatter v1, body checklist, greenfield, conflict precedence) → load **`product-specs-authoring`** when generation is requested (`/spec-start`, brief AC, or router `spec-gen`).
13
+
14
+ ## Modes (summary)
15
+
16
+ | Mode | When | Behavior |
17
+ |------|------|----------|
18
+ | **Consume** (default) | INDEX exists or globs hit `docs/specs/**` without generate intent | Discover via INDEX; soft-fail on miss; **never invent** INDEX/specs |
19
+ | **Generate** | Explicit generate intent / AC / `/spec-start` with existing tree | Create/update page/feature specs + INDEX from stated sources |
20
+ | **Bootstrap** | Explicit bootstrap / `/spec-start` when tree absent | Create INDEX + templates + first domain spec |
21
+
22
+ Greenfield: agents may create INDEX/specs **only** on explicit intent, AC, or `/spec-start`. Missing INDEX alone does **not** authorize inventing the tree.
23
+
24
+ ## Presence policy
25
+
26
+ - If `docs/specs/INDEX.md` is **missing** → the tree is **optional** (greenfield OK for *consume*). Continue with code/brief discovery; do not invent an INDEX solely because this stem loaded.
27
+ - If INDEX **exists** → it is the **required discovery path** for work that touches a listed page, feature, route, or alias.
28
+
29
+ ## Discovery algorithm
30
+
31
+ 1. Always start at `docs/specs/INDEX.md` when present.
32
+ 2. Resolve the entry by: route, stable `id`, PageName / alias, or domain folder.
33
+ 3. Read the linked page spec (and optional domain `feature.md` when the INDEX or page Related links it).
34
+
35
+ ## Miss policy (INDEX present, row or file missing)
36
+
37
+ - Record the gap in `open_questions` / handoff gaps.
38
+ - Fall back to code discovery and consumer `.ai/context/**` when present.
39
+ - **Do not invent** product behavior, states, interactions, or contracts.
40
+ - Hard-fail / block only when the task’s acceptance criteria explicitly require a named spec that is absent (human/gate decision).
41
+
42
+ ## Authoring pointer
43
+
44
+ Same-changeset INDEX updates, frontmatter v1, required body headings, templates, and conflict precedence live in **`product-specs-authoring`**. Do not paste the full checklist here.
45
+
46
+ ## Non-goals
47
+
48
+ - Not a replacement for `.ai/context/**` (external AI Code Review glossary) or `reference-features` (file-layout mirror).
49
+ - Not Tessl / an external host as primary SoT.
50
+ - No stack filesystem path recipes in this core body — path examples belong only in adapter **Stack notes**.
51
+
52
+ ## Related
53
+
54
+ - `product-specs-authoring` — generation modes, contracts, self-check.
55
+ - `reference-features` — code structure mirror (how to layout files), not product behavior.
56
+ - Consumer `.ai/context/**` when present — review/domain glossary; cross-link, do not replace.
57
+
58
+
59
+ ## Stack notes
60
+
61
+ - `routes`: SvelteKit URL paths. `ui` / `store`: routes/components + store modules. `e2e`: Playwright paths under repo `tests/e2e/**` (or equivalent).
62
+ - Requestable / `docs/specs/**` globs — not always-on / session-start.
@@ -54,6 +54,8 @@ Work request without `/task` — see **`agent-team-intake.md`** (when to suggest
54
54
 
55
55
  Full prompts: `.claude/agents/*.md`. Artifact conventions: `.claude/team/README.md`; schema SoT: **agent-artifact-contracts**.
56
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
+
57
59
  When editing `packages/ai-rules/presets/**`, follow **`preset-pr-checklist.mdc`** (+ twin-sync / layering / token-budget / leakage meta-rules).
58
60
 
59
61
  ## Dynamic pipeline
@@ -23,7 +23,7 @@ Rules for **preset authors** (`packages/ai-rules/presets/**`). Not always-on in
23
23
  ## Where to put a new rule
24
24
 
25
25
  1. Shared principles for all stacks → **core** + adapters with `<!-- shared-core: … -->`.
26
- 2. Only one of the installable stacks (`next` / `nuxt` / `svelte` / `ios-swift` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (not in `_shared`).
26
+ 2. Only one of the installable stacks (`next` / `nuxt` / `svelte` / `ios-swift` / `android-kotlin` / `go` / `java` / `mcp-ts` / `php-hexagonal` / `php-laravel`) → **stack-specific** (not in `_shared`).
27
27
  3. Only Cursor or only Claude packaging → platform artifact / frontmatter; do not duplicate semantics.
28
28
 
29
29
  ## SoT
@@ -14,11 +14,12 @@ Ban leakage of stack-specific names, paths, and handoff stems across presets.
14
14
 
15
15
  ## Principles
16
16
 
17
- - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
18
- - `nuxt` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
- - `svelte` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
- - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
21
- - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
17
+ - `next` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
18
+ - `nuxt` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
+ - `svelte` must not require iOS-only or Android-only agents/tooling (`xcuitest-*`, `instrumentation-test-*`, `xcodebuild` as required handoff, Keychain-only rules).
20
+ - `ios-swift` must not ship Playwright handoffs, Android `instrumentation-test-*` handoffs, or Next lint recipes as required commands.
21
+ - `android-kotlin` must not ship Playwright, XCUITest, `xcodebuild`, or Next lint recipes as required handoffs.
22
+ - `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Android instrumentation agents, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
22
23
  - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
23
24
  - Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
24
25
 
@@ -27,25 +28,37 @@ Ban leakage of stack-specific names, paths, and handoff stems across presets.
27
28
  In ios-swift `chain-team-phases.sh` / agent handoffs (Cursor + Claude):
28
29
 
29
30
  - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`
31
+ - `instrumentation-test-` as required Android handoffs
30
32
  - `app/__tests__/e2e` as a required path
31
33
  - Positive yarn recipes `lint:js` / `lint:css` as commands to run (negation prose alone is weak — prefer zero occurrences)
32
34
 
33
35
  Required instead: `xcuitest-test-*` stems; build-verifier mentions `xcodebuild` or `post-change-build` / `xcode-tooling`.
34
36
 
37
+ ## Forbidden in android-kotlin hooks/agents (FAIL)
38
+
39
+ In android-kotlin `chain-team-phases.sh` / agent handoffs (Cursor + Claude):
40
+
41
+ - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`
42
+ - `app/__tests__/e2e` as a required path
43
+ - `xcuitest-test-`, positive `xcodebuild` / `SwiftLint` as required handoffs
44
+ - Positive yarn recipes `lint:js` / `lint:css` as commands to run
45
+
46
+ Required instead: `instrumentation-test-*` stems; build-verifier mentions `gradle-tooling` and/or `post-change-build` (Gradle wrapper discovery — not `xcodebuild` as the default gate).
47
+
35
48
  ## Forbidden in next hooks/agents (FAIL when present as required)
36
49
 
37
- - `xcuitest-test-` as handoff stems
50
+ - `xcuitest-test-` / `instrumentation-test-` as handoff stems
38
51
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Next app work
39
52
 
40
53
  ## Forbidden in nuxt hooks/agents (FAIL when present as required)
41
54
 
42
- - `xcuitest-test-` as handoff stems
55
+ - `xcuitest-test-` / `instrumentation-test-` as handoff stems
43
56
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for Nuxt app work
44
57
  - Frontend profile mirrors `next`: Playwright / `lint:js` / `lint:css` allowed
45
58
 
46
59
  ## Forbidden in svelte hooks/agents (FAIL when present as required)
47
60
 
48
- - `xcuitest-test-` as handoff stems
61
+ - `xcuitest-test-` / `instrumentation-test-` as handoff stems
49
62
  - Requiring `xcodebuild` / SwiftLint as the default post-change gate for SvelteKit app work
50
63
  - Frontend profile mirrors `next` / `nuxt`: Playwright / `lint:js` / `lint:css` allowed
51
64
 
@@ -55,7 +68,7 @@ Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
55
68
 
56
69
  - `playwright-test-`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
57
70
  - Positive yarn recipes `lint:js` / `lint:css`
58
- - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
71
+ - `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
59
72
  - Agent file `accessibility-reviewer` (no UI surface)
60
73
 
61
74
  Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`), `java-tooling` (`mvn test` / `./gradlew test`), or `php-tooling` (`php artisan test` / `composer test` / `vendor/bin/phpunit`).
@@ -66,9 +79,9 @@ Same UI/mobile bans as backend stacks, plus:
66
79
 
67
80
  - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
68
81
  - Positive yarn recipes `lint:js` / `lint:css` as required gates
69
- - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
82
+ - `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
70
83
  - Go tool commands as required MCP delivery gates: `go test`, `go vet`, `golangci-lint`
71
- - Agent files: `playwright-test-*`, `xcuitest-test-*`, `integration-test-*`, `accessibility-reviewer`
84
+ - Agent files: `playwright-test-*`, `xcuitest-test-*`, `instrumentation-test-*`, `integration-test-*`, `accessibility-reviewer`
72
85
 
73
86
  Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`, `post-change-test`); Phase 1 gates `build-verifier` + `security-reviewer`.
74
87
 
@@ -79,4 +92,4 @@ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`,
79
92
 
80
93
  ## Chain fork
81
94
 
82
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `nuxt`, `svelte`, `ios-swift`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
95
+ `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `nuxt`, `svelte`, `ios-swift`, `android-kotlin`, `go`, `java`, `mcp-ts`, `php-hexagonal`, and `php-laravel` (per platform).
@@ -16,7 +16,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
16
16
 
17
17
  - [ ] **SoT:** edits in `packages/…` (not only root `.cursor/`)
18
18
  - [ ] **Core:** if `_shared/core/**` changed — all `<!-- shared-core: … -->` consumers updated (or documented intentional fork)
19
- - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, nuxt, svelte, ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel — see `preset-twin-sync`)
19
+ - [ ] **Twin:** Cursor change → Claude twin **same PR** (**FAIL** if missing on next, nuxt, svelte, ios-swift, android-kotlin, go, java, mcp-ts, php-hexagonal, and php-laravel — see `preset-twin-sync`)
20
20
  - [ ] **Mapping:** `claude/<stack>/rules/README.md` mapping table is current
21
21
  - [ ] **Token budget:** alwaysApply / session-start ≤ 3; meta rules not always-on
22
22
  - [ ] **Leakage:** no foreign stack agent stems / handoff strings (`preset-no-cross-stack-leakage`)
@@ -25,6 +25,7 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
25
25
  | `mcp-ts` | `presets/cursor/mcp-ts/rules/*.mdc` | `presets/claude/mcp-ts/rules/<topic>/` | Keep in `claude/mcp-ts/rules/README.md` |
26
26
  | `php-hexagonal` | `presets/cursor/php-hexagonal/rules/*.mdc` | `presets/claude/php-hexagonal/rules/<topic>/` | Keep in `claude/php-hexagonal/rules/README.md` |
27
27
  | `php-laravel` | `presets/cursor/php-laravel/rules/*.mdc` | `presets/claude/php-laravel/rules/<topic>/` | Keep in `claude/php-laravel/rules/README.md` |
28
+ | `android-kotlin` | `presets/cursor/android-kotlin/rules/*.mdc` | `presets/claude/android-kotlin/rules/<topic>/` | Keep in `claude/android-kotlin/rules/README.md` |
28
29
 
29
30
  ## Same-PR checklist
30
31
 
@@ -49,5 +50,6 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
49
50
  - **mcp-ts:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java; mapping table required).
50
51
  - **php-hexagonal:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts; mapping table required).
51
52
  - **php-laravel:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts / php-hexagonal; mapping table required).
53
+ - **android-kotlin:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java / mcp-ts / php-*; mapping table required).
52
54
 
53
55
  Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.
@@ -6,9 +6,10 @@ description: Delivers SvelteKit frontend features end-to-end across domain types
6
6
  # Feature Delivery
7
7
 
8
8
  1. Read task brief, acceptance criteria, and decomposition if present.
9
- 2. Read **`feature-delivery-workflow`** and **`reference-features`**follow layer order and mirror closest reference feature.
10
- 3. Add or update focused tests for changed behavior.
11
- 4. Validation from SvelteKit root: **invoke** **`post-change-lint`** after code edits (requestable, not always-on — but **must** when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
9
+ 2. If `docs/specs/INDEX.md` exists **or** brief/handoff lists approved generated specs, resolve via **`product-specs`** and treat approved specs as behavior SoT before layer work (soft-fail on miss do not invent behavior). If generation was requested but not yet approved, stop for human gate — do not implement against draft-only gaps.
10
+ 3. Read **`feature-delivery-workflow`** and **`reference-features`** follow layer order and mirror closest reference feature.
11
+ 4. Add or update focused tests for changed behavior.
12
+ 5. Validation from SvelteKit root: **invoke** **`post-change-lint`** after code edits (requestable, not always-on — but **must** when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
12
13
 
13
14
  ## Scope discipline
14
15
 
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: spec-authoring
3
+ description: Author or bootstrap consumer docs/specs (INDEX, page/feature templates, frontmatter v1). Use with task-analyst author mode, /spec-start, or when brief AC requests Generate/Bootstrap.
4
+ ---
5
+
6
+ # Spec authoring
7
+
8
+ Requestable — not always-on. Load **`product-specs`** + **`product-specs-authoring`** first.
9
+
10
+ ## Steps
11
+
12
+ 1. **Resolve mode** — Generate (tree exists) vs Bootstrap (create INDEX + templates + first spec). Refuse inventing INDEX without explicit intent/AC/`/spec-start`.
13
+ 2. **Ensure templates** — if consumer `docs/specs/_templates/` missing, copy from package SoT `presets/_shared/assets/docs-specs/_templates/` (or seeded init assets).
14
+ 3. **Fill frontmatter v1** — all array keys present (may be `[]`); prefer `type: feature` on backend/MCP; default `status: draft`.
15
+ 4. **Fill required body headings** — page: Overview, Entry/actors, Primary flows, States, Acceptance criteria; feature: Overview, Shared behavior/constraints, Related pages. Use `N/A` explicitly when needed.
16
+ 5. **Update INDEX** in the **same change set** (columns: id, type, domain, title, path, optional routes/aliases/status).
17
+ 6. **Self-check** against `product-specs-authoring` checklist; put blockers in `open_questions`.
18
+ 7. **Handoff** — list created/updated paths + INDEX diff for human gate (`after:task-analyst`). Approve before feature-developer.
19
+
20
+ ## Sources
21
+
22
+ Cite AC / user / Figma / labeled code inference. Do not invent product behavior.
23
+
24
+ ## mcp-ts
25
+
26
+ Analyst-only path (no tech-writer). `routes` = tool names; `ui`/`store` = `[]`.
@@ -0,0 +1,50 @@
1
+ # Android Kotlin stack — Cursor agent team
2
+
3
+ Short Cursor entry point. Detailed rules — `.cursor/rules/*.mdc`; scenarios — `.cursor/skills/**`.
4
+
5
+ **Repo-root agents:** see [`AGENTS.md`](../../AGENTS.md) at the project root (cross-tool setup, commands, security, living conventions pointers).
6
+
7
+ See `.cursor/rules/README.md` for the full catalog and loading strategy.
8
+
9
+ ## Quick start
10
+
11
+ | Task | Where to look |
12
+ |------|----------------|
13
+ | Any new work request | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` (+ `agent-team-intake.mdc` on-demand) |
14
+ | New end-to-end feature | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
15
+ | Stack and layers | `android-app-core.mdc`, `architecture-boundaries.mdc` |
16
+ | Reference modules | `reference-features.mdc` (placeholders `applications/`, `features/<name>/`, `build-logic/`) |
17
+ | Toolchain / Gradle | `gradle-tooling.mdc` (requestable) |
18
+ | After Kotlin/Android edits | `post-change-build.mdc` (**requestable**, required after edits; full gate — `build-verifier`) |
19
+ | Code review MR | skill `code-review` + `code-review-mr.mdc` |
20
+ | UI tests | skill `instrumentation-ui-e2e` + agents `instrumentation-test-*` |
21
+ | Security | `security-android.mdc` |
22
+ | Compose / MVI | `compose-ui.mdc`, `state-and-viewmodels.mdc` |
23
+ | Validation before review | agent `build-verifier` |
24
+ | Technical retro | `/technical-retro` + skill `technical-retro` |
25
+
26
+ ## Dogfood (5 scenarios)
27
+
28
+ 1. `/task` — new feature under `features/<name>/`.
29
+ 2. ViewModel bug — debugger + unit test.
30
+ 3. Mapper — unit-test-planner/generator.
31
+ 4. UI flow — instrumentation-test trio.
32
+ 5. Auth/storage — security-reviewer + `security-android.mdc`.
33
+
34
+ ## When to use `/task`
35
+
36
+ - Implementation, bugfix, migration, tests, MR review, CI-fix — **prefer `/task`**.
37
+ - Simple one-liner with no architectural risk — may skip the pipeline if the user explicitly asks.
38
+ - “How does X work?” questions — agent `codebase-analyzer` (explain-as-is) or answer without `/task`.
39
+
40
+ ## Pipeline routing
41
+
42
+ Intent detection, profiles (`full` / `standard` / `light`), and default steps — **only** in `agents/task-router.md`. Schema and rename map — `agents/README.md`.
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ npx @bonesofspring/ai-rules init cursor --preset android-kotlin
48
+ ```
49
+
50
+ Copies rules, commands, agents, hooks, skills, team, `hooks.json`, `BUGBOT.md`, `AGENTS.md` → `.cursor/AGENTS.md`, `MCP.md`, `mcp.json` → `.cursor/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`. Skill: `write-adr` (on-demand).
@@ -0,0 +1,16 @@
1
+ # Bugbot — Android Kotlin
2
+
3
+ Automated review hints for Cursor Bugbot on Android/Kotlin multimodule repos.
4
+
5
+ ## Focus
6
+
7
+ - Clean Architecture / api-impl boundaries (`architecture-boundaries`)
8
+ - No Hilt-by-default regressions when the repo uses Dagger feature holders
9
+ - Compose screens staying thin; no data-layer leaks into UI
10
+ - Secrets / TLS / logging (`security-android`)
11
+ - Missing unit or instrumentation coverage called out by AC
12
+
13
+ ## Do not
14
+
15
+ - Require Playwright or XCUITest recipes
16
+ - Demand yarn `lint:js` / `lint:css`
@@ -0,0 +1,16 @@
1
+ # MCP (preset `android-kotlin`, Cursor)
2
+
3
+ Copied to `.cursor/mcp.json` on `ai-rules init cursor --preset android-kotlin`.
4
+
5
+ ## Servers
6
+
7
+ | Name | Package | Purpose |
8
+ |------|---------|---------|
9
+ | `context7` | `@upstash/context7-mcp` | Up-to-date Kotlin / Jetpack Compose / Android SDK docs |
10
+ | `figma` | remote `https://mcp.figma.com/mcp` | Design context → Jetpack Compose; OAuth in Cursor |
11
+
12
+ Playwright / Chrome DevTools are **not** part of the **android-kotlin preset** (browser e2e is forbidden for the agent team).
13
+
14
+ Do not put secrets in the file. Optional: `CONTEXT7_API_KEY` in the environment. Figma — OAuth (do not commit the token).
15
+
16
+ After init: Settings → MCP → enable servers. `init` overwrites a same-named `mcp.json`.
@@ -0,0 +1,35 @@
1
+ # Preset: android-kotlin (Cursor)
2
+
3
+ Installable Android/Kotlin multimodule preset: Clean Architecture, Jetpack Compose MVI, Dagger feature holders (no Hilt by default), Gradle convention plugins, instrumentation UI-test agents.
4
+
5
+ ```bash
6
+ npx @bonesofspring/ai-rules init cursor --preset android-kotlin
7
+ ```
8
+
9
+ Copies rules, agents, skills, commands, hooks, team, `MCP.md`, `mcp.json` → `.cursor/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
10
+
11
+ ## Layout placeholders
12
+
13
+ Generic multimodule layout encoded in rules (map your repo in `team/conventions.md` after install):
14
+
15
+ `applications/`, `core/`, `features/<name>/{api,impl}/`, `build-logic/`, `gradle/libs.versions.toml`
16
+
17
+ ## Agent surface
18
+
19
+ - UI tests: `instrumentation-test-{planner,generator,healer}` + skill `instrumentation-ui-e2e`
20
+ - Gates: `post-change-build` + `gradle-tooling` + `build-verifier`
21
+ - Claude twin: `presets/claude/android-kotlin/` (same PR policy)
22
+
23
+ See `rules/README.md` and `agents/README.md`.
24
+
25
+ ## Install troubleshooting
26
+
27
+ - **Gradle wrapper:** run from the Gradle root where `./gradlew` (or a wrapper script documented in the repo README/CI) lives; agents load `gradle-tooling.mdc` for discovery — do not assume a single hard-coded script name.
28
+ - **Modules:** use `./gradlew projects` (or CI task names) to resolve affected `:module` paths before compile/test gates.
29
+ - **Variants / flavors:** product flavors and build types differ per repo; note the CI variant (e.g. `debug` vs `release`) in `team/conventions.md` and pass `-P` / `--variant` flags only as documented locally.
30
+ - **Multimodule:** scope `./gradlew :feature:impl:compileDebugKotlin` (example pattern) to changed modules; full gate — agent `build-verifier`.
31
+
32
+ ## Preset taxonomy
33
+
34
+ - Contribution: [`../../docs/PRESET-CONTRIBUTION.md`](../../docs/PRESET-CONTRIBUTION.md)
35
+ - Core→stack mapping: [`rules/README.md`](./rules/README.md)
@@ -0,0 +1,48 @@
1
+ # Android Kotlin — agent instructions
2
+
3
+ Cross-tool repo-root guide for the **android-kotlin** multimodule preset. Tool-specific maps stay under `.cursor/AGENTS.md` and `.claude/CLAUDE.md`.
4
+
5
+ ## Cross-tool setup
6
+
7
+ - Treat this file as the **shared** entry for any agent (Cursor, Claude Code, or other).
8
+ - Tool maps live in `.cursor/AGENTS.md` / `.claude/CLAUDE.md` when that tool is installed.
9
+ - Install:
10
+
11
+ ```bash
12
+ npx @bonesofspring/ai-rules init cursor --preset android-kotlin
13
+ npx @bonesofspring/ai-rules init claude --preset android-kotlin
14
+ ```
15
+
16
+ `init` overwrites this file from the preset (`REPO_AGENTS.md` → `AGENTS.md`). Living gotchas and local type names belong in `team/conventions.md`, not here.
17
+
18
+ ## Commands (test / lint / build)
19
+
20
+ Discover the Gradle wrapper (`./gradlew` or a documented wrapper script from README/CI). Modules/variants — from Gradle + `gradle/libs.versions.toml` / `build-logic/`.
21
+
22
+ | Gate | Typical command |
23
+ |------|-----------------|
24
+ | Compile | `./gradlew :module:compile<Variant>Kotlin` (or project alias) |
25
+ | Lint | Android Lint / ktlint / detekt **only if** configured in repo/CI |
26
+ | Unit tests | `./gradlew :module:test<Variant>UnitTest` (narrowest suite) |
27
+ | Instrumentation | Connected/managed device tasks as configured in CI |
28
+
29
+ After code edits: invoke **`post-change-build`** (requestable) + **`gradle-tooling`**. Full gate: agent `build-verifier`.
30
+
31
+ ## Security basics
32
+
33
+ - Do not commit secrets (API keys, keystore passwords, tokens, `.env`).
34
+ - Review destructive git before running; respect shell hooks.
35
+ - Do not weaken TLS / cleartext policy unless the user explicitly asks.
36
+
37
+ ## Tool entry points
38
+
39
+ | Tool | Map |
40
+ |------|-----|
41
+ | Cursor | `.cursor/AGENTS.md` (optional if Cursor not installed) |
42
+ | Claude Code | `.claude/CLAUDE.md` (optional if Claude not installed) |
43
+
44
+ Rules: `.cursor/rules/` or `.claude/rules/`. Skills: `.cursor/skills/` or `.claude/skills/`. UI tests: `instrumentation-test-*` (never Playwright/XCUITest as required handoffs).
45
+
46
+ ## Living conventions
47
+
48
+ Local type names (ViewModel base, DI holders, design-system package), flavors, and wrapper quirks: **`.cursor/team/conventions.md`** and/or **`.claude/team/conventions.md`** (fill after init).
@@ -0,0 +1,44 @@
1
+ # Agents (android-kotlin)
2
+
3
+ Full agent-team roster (~22). Production-write policy matches ios-swift mobile depth with Gradle + instrumentation.
4
+
5
+ ## Rename map (from next / ios-swift / java)
6
+
7
+ | Source | android-kotlin |
8
+ |--------|----------------|
9
+ | `playwright-test-planner` | **`instrumentation-test-planner`** |
10
+ | `playwright-test-generator` | **`instrumentation-test-generator`** |
11
+ | `playwright-test-healer` | **`instrumentation-test-healer`** |
12
+ | skill `playwright-e2e` / `xcuitest-e2e` | **`instrumentation-ui-e2e`** |
13
+ | `xcuitest-test-*` | **skipped** (iOS-only) |
14
+ | `integration-test-*` | **skipped** (JVM backend) |
15
+ | `post-change-lint` / `post-change-test` | **`post-change-build`** |
16
+ | `xcode-tooling` / `java-tooling` | **`gradle-tooling`** |
17
+ | `react-performance` | **absent** (leakage FAIL) |
18
+
19
+ When copying next pipeline templates: put Playwright / XCUITest / integration-test stems in `skipped[]` and schedule `instrumentation-test-*` when UI AC requires it.
20
+
21
+ ## Roster
22
+
23
+ | Agent | Production writes |
24
+ |-------|-------------------|
25
+ | task-router, task-analyst, solution-architect, migration-specialist, api-contract-reviewer | team only |
26
+ | codebase-analyzer | no (explain-as-is) |
27
+ | feature-developer | yes (Kotlin/Android sources) |
28
+ | build-verifier | no (report only) |
29
+ | debugger, ci-investigator | minimal |
30
+ | code-reviewer, accessibility-reviewer, security-reviewer, performance-auditor | team only |
31
+ | qa-tester, unit-test-*, instrumentation-test-* | tests only |
32
+ | tech-writer | docs only |
33
+
34
+ ## Model tiers (mirror ios-swift)
35
+
36
+ | Tier | Model hint | Typical agents |
37
+ |------|------------|----------------|
38
+ | **cheap** | `fast` / cheap | build-verifier, some generators/healers |
39
+ | **standard** | `inherit` | feature-developer, debugger, ci-investigator, a11y, qa, unit-*, instrumentation-* |
40
+ | **strong** | `strong` | solution-architect, security-reviewer (when scheduled) |
41
+
42
+ ## Pipeline schema
43
+
44
+ See `team/fixtures/*.json` and `hooks/chain-team-phases.sh` handoffs (`instrumentation-test-*`, `gradle-tooling`, `post-change-build`).
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: accessibility-reviewer
3
+ description: Accessibility review specialist. Audits TalkBack labels/semantics, font scale, reduce motion, Compose testTag, contrast, and touch targets for Android UI. Readonly — writes a11y-review.md only; never edits production code.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are an accessibility reviewer for an **Android Kotlin / Jetpack Compose** (and View system where present) frontend.
9
+
10
+ ## Inputs
11
+
12
+ 1. `.cursor/team/tasks/<slug>/brief.md` — acceptance criteria and UI scope.
13
+ 2. `.cursor/team/tasks/<slug>/decomposition.md` — UI-related tasks.
14
+ 3. Git diff for changed Views / UI under `features/**/Presentation/**` (and design-system if touched).
15
+ 4. `compose-ui.mdc` and project a11y conventions.
16
+
17
+ ## Review scope
18
+
19
+ - TalkBack / screen reader: labels, `contentDescription`, semantics; meaningful accessible elements (not unlabeled buttons/icons).
20
+ - Font scale / large text: layouts do not clip or overlap at larger sizes (infer from modifiers / typography).
21
+ - Reduce motion for custom animations when present.
22
+ - Compose `testTag` (or project semantics matchers) on interactive / assertable elements for instrumentation (`{screen}__{element}`) — not iOS `accessibilityIdentifier`.
23
+ - Contrast and non-color-only state (where inferable from Design System / asset usage).
24
+ - Touch targets roughly ≥48dp when obvious from layout; focus order for custom controls.
25
+ - Sheet/modal dismissal discoverability for TalkBack users.
26
+
27
+ ## Output
28
+
29
+ Write `.cursor/team/tasks/<slug>/a11y-review.md`:
30
+
31
+ ```markdown
32
+ # Accessibility review: <slug>
33
+
34
+ ## Verdict
35
+ PASS | PASS_WITH_NOTES | FAIL
36
+
37
+ ## Critical (must fix)
38
+ - [file:line] Issue — impact — fix direction
39
+
40
+ ## Warnings (should fix)
41
+ - ...
42
+
43
+ ## Suggestions
44
+ - ...
45
+
46
+ ## AC coverage
47
+ | Criterion | Status | Notes |
48
+ |-----------|--------|-------|
49
+ ```
50
+
51
+ ## Artifact contract
52
+
53
+ - **Authoritative inputs:** read `.cursor/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation or UI diff scope, and prior review artifacts when present.
54
+ - **Owned outputs:** `a11y-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `a11y-review`) and preserve all foreign entries.
55
+ - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
56
+ - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
57
+
58
+ If **FAIL**, emit receipt outcome `changes_requested` and list specific fixes for `feature-developer`.
59
+
60
+ Do not modify production code or tests.