@bonesofspring/ai-rules 0.2.27 → 0.2.29

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 (938) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/bin/cli.js +13 -2
  4. package/bin/lib/seed-ai-local-team.js +43 -5
  5. package/bin/opencode-install.js +58 -0
  6. package/docs/MAVIS-COMPATIBILITY.md +10 -6
  7. package/docs/MAVIS.md +15 -6
  8. package/docs/OPENCODE-COMPATIBILITY.md +3 -3
  9. package/docs/OPENCODE.md +16 -6
  10. package/package.json +2 -1
  11. package/presets/_shared/core/meta/preset-pr-checklist.md +2 -2
  12. package/presets/claude/android-kotlin/CLAUDE.md +15 -1
  13. package/presets/claude/android-kotlin/REPO_AGENTS.md +1 -1
  14. package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +15 -0
  15. package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +16 -1
  16. package/presets/claude/android-kotlin/agents/build-verifier.md +17 -0
  17. package/presets/claude/android-kotlin/agents/ci-investigator.md +25 -0
  18. package/presets/claude/android-kotlin/agents/code-reviewer.md +16 -0
  19. package/presets/claude/android-kotlin/agents/codebase-analyzer.md +15 -0
  20. package/presets/claude/android-kotlin/agents/debugger.md +25 -0
  21. package/presets/claude/android-kotlin/agents/feature-developer.md +25 -0
  22. package/presets/claude/android-kotlin/agents/instrumentation-test-generator.md +16 -0
  23. package/presets/claude/android-kotlin/agents/instrumentation-test-healer.md +16 -0
  24. package/presets/claude/android-kotlin/agents/instrumentation-test-planner.md +16 -0
  25. package/presets/claude/android-kotlin/agents/migration-specialist.md +15 -0
  26. package/presets/claude/android-kotlin/agents/mockup-reviewer.md +15 -0
  27. package/presets/claude/android-kotlin/agents/openspec-author.md +15 -0
  28. package/presets/claude/android-kotlin/agents/performance-auditor.md +15 -0
  29. package/presets/claude/android-kotlin/agents/qa-tester.md +17 -0
  30. package/presets/claude/android-kotlin/agents/security-reviewer.md +15 -0
  31. package/presets/claude/android-kotlin/agents/solution-architect.md +15 -0
  32. package/presets/claude/android-kotlin/agents/task-analyst.md +15 -0
  33. package/presets/claude/android-kotlin/agents/task-router.md +15 -0
  34. package/presets/claude/android-kotlin/agents/tech-writer.md +15 -1
  35. package/presets/claude/android-kotlin/agents/unit-test-generator.md +16 -0
  36. package/presets/claude/android-kotlin/agents/unit-test-healer.md +16 -0
  37. package/presets/claude/android-kotlin/agents/unit-test-planner.md +16 -0
  38. package/presets/claude/android-kotlin/hooks/README.md +6 -5
  39. package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +18 -0
  40. package/presets/claude/android-kotlin/hooks/examples/README.md +2 -0
  41. package/presets/claude/android-kotlin/hooks/guard-shell-command.sh +32 -9
  42. package/presets/claude/android-kotlin/rules/README.md +1 -1
  43. package/presets/claude/android-kotlin/rules/tooling-and-review/ai-local-overlay.md +0 -5
  44. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  45. package/presets/claude/android-kotlin/settings.json +33 -0
  46. package/presets/claude/go/CLAUDE.md +15 -1
  47. package/presets/claude/go/REPO_AGENTS.md +1 -1
  48. package/presets/claude/go/agents/api-contract-reviewer.md +17 -0
  49. package/presets/claude/go/agents/build-verifier.md +17 -0
  50. package/presets/claude/go/agents/ci-investigator.md +29 -0
  51. package/presets/claude/go/agents/code-reviewer.md +16 -0
  52. package/presets/claude/go/agents/codebase-analyzer.md +15 -0
  53. package/presets/claude/go/agents/debugger.md +29 -0
  54. package/presets/claude/go/agents/feature-developer.md +29 -0
  55. package/presets/claude/go/agents/integration-test-generator.md +17 -0
  56. package/presets/claude/go/agents/integration-test-healer.md +17 -0
  57. package/presets/claude/go/agents/integration-test-planner.md +17 -0
  58. package/presets/claude/go/agents/migration-specialist.md +15 -0
  59. package/presets/claude/go/agents/openspec-author.md +15 -0
  60. package/presets/claude/go/agents/performance-auditor.md +15 -0
  61. package/presets/claude/go/agents/qa-tester.md +18 -0
  62. package/presets/claude/go/agents/security-reviewer.md +15 -0
  63. package/presets/claude/go/agents/solution-architect.md +15 -0
  64. package/presets/claude/go/agents/task-analyst.md +15 -0
  65. package/presets/claude/go/agents/task-router.md +15 -0
  66. package/presets/claude/go/agents/tech-writer.md +15 -1
  67. package/presets/claude/go/agents/unit-test-generator.md +16 -0
  68. package/presets/claude/go/agents/unit-test-healer.md +16 -0
  69. package/presets/claude/go/agents/unit-test-planner.md +16 -0
  70. package/presets/claude/go/hooks/README.md +6 -5
  71. package/presets/claude/go/hooks/chain-team-phases.sh +18 -0
  72. package/presets/claude/go/hooks/examples/README.md +2 -0
  73. package/presets/claude/go/hooks/guard-shell-command.sh +32 -9
  74. package/presets/claude/go/rules/README.md +1 -1
  75. package/presets/claude/go/rules/tooling-and-review/ai-local-overlay.md +0 -5
  76. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  77. package/presets/claude/go/settings.json +33 -0
  78. package/presets/claude/ios-swift/CLAUDE.md +15 -1
  79. package/presets/claude/ios-swift/REPO_AGENTS.md +1 -1
  80. package/presets/claude/ios-swift/agents/accessibility-reviewer.md +15 -0
  81. package/presets/claude/ios-swift/agents/api-contract-reviewer.md +16 -0
  82. package/presets/claude/ios-swift/agents/build-verifier.md +17 -0
  83. package/presets/claude/ios-swift/agents/ci-investigator.md +24 -0
  84. package/presets/claude/ios-swift/agents/code-reviewer.md +16 -0
  85. package/presets/claude/ios-swift/agents/codebase-analyzer.md +15 -0
  86. package/presets/claude/ios-swift/agents/debugger.md +24 -0
  87. package/presets/claude/ios-swift/agents/feature-developer.md +24 -0
  88. package/presets/claude/ios-swift/agents/migration-specialist.md +15 -0
  89. package/presets/claude/ios-swift/agents/mockup-reviewer.md +15 -0
  90. package/presets/claude/ios-swift/agents/openspec-author.md +15 -0
  91. package/presets/claude/ios-swift/agents/performance-auditor.md +15 -0
  92. package/presets/claude/ios-swift/agents/qa-tester.md +17 -0
  93. package/presets/claude/ios-swift/agents/security-reviewer.md +15 -0
  94. package/presets/claude/ios-swift/agents/solution-architect.md +15 -0
  95. package/presets/claude/ios-swift/agents/task-analyst.md +15 -0
  96. package/presets/claude/ios-swift/agents/task-router.md +15 -0
  97. package/presets/claude/ios-swift/agents/tech-writer.md +15 -1
  98. package/presets/claude/ios-swift/agents/unit-test-generator.md +16 -0
  99. package/presets/claude/ios-swift/agents/unit-test-healer.md +16 -0
  100. package/presets/claude/ios-swift/agents/unit-test-planner.md +16 -0
  101. package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +16 -0
  102. package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +16 -0
  103. package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +16 -0
  104. package/presets/claude/ios-swift/hooks/README.md +6 -5
  105. package/presets/claude/ios-swift/hooks/chain-team-phases.sh +18 -0
  106. package/presets/claude/ios-swift/hooks/examples/README.md +2 -0
  107. package/presets/claude/ios-swift/hooks/guard-shell-command.sh +32 -9
  108. package/presets/claude/ios-swift/rules/README.md +1 -1
  109. package/presets/claude/ios-swift/rules/tooling-and-review/ai-local-overlay.md +0 -5
  110. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  111. package/presets/claude/ios-swift/settings.json +33 -0
  112. package/presets/claude/java/CLAUDE.md +15 -1
  113. package/presets/claude/java/REPO_AGENTS.md +1 -1
  114. package/presets/claude/java/agents/api-contract-reviewer.md +17 -0
  115. package/presets/claude/java/agents/build-verifier.md +17 -0
  116. package/presets/claude/java/agents/ci-investigator.md +29 -0
  117. package/presets/claude/java/agents/code-reviewer.md +16 -0
  118. package/presets/claude/java/agents/codebase-analyzer.md +15 -0
  119. package/presets/claude/java/agents/debugger.md +29 -0
  120. package/presets/claude/java/agents/feature-developer.md +29 -0
  121. package/presets/claude/java/agents/integration-test-generator.md +17 -0
  122. package/presets/claude/java/agents/integration-test-healer.md +17 -0
  123. package/presets/claude/java/agents/integration-test-planner.md +17 -0
  124. package/presets/claude/java/agents/migration-specialist.md +15 -0
  125. package/presets/claude/java/agents/openspec-author.md +15 -0
  126. package/presets/claude/java/agents/performance-auditor.md +15 -0
  127. package/presets/claude/java/agents/qa-tester.md +18 -0
  128. package/presets/claude/java/agents/security-reviewer.md +15 -0
  129. package/presets/claude/java/agents/solution-architect.md +15 -0
  130. package/presets/claude/java/agents/task-analyst.md +15 -0
  131. package/presets/claude/java/agents/task-router.md +15 -0
  132. package/presets/claude/java/agents/tech-writer.md +15 -1
  133. package/presets/claude/java/agents/unit-test-generator.md +16 -0
  134. package/presets/claude/java/agents/unit-test-healer.md +16 -0
  135. package/presets/claude/java/agents/unit-test-planner.md +16 -0
  136. package/presets/claude/java/hooks/README.md +6 -5
  137. package/presets/claude/java/hooks/chain-team-phases.sh +18 -0
  138. package/presets/claude/java/hooks/examples/README.md +2 -0
  139. package/presets/claude/java/hooks/guard-shell-command.sh +32 -9
  140. package/presets/claude/java/rules/README.md +1 -1
  141. package/presets/claude/java/rules/tooling-and-review/ai-local-overlay.md +0 -5
  142. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  143. package/presets/claude/java/settings.json +33 -0
  144. package/presets/claude/mcp-ts/CLAUDE.md +15 -1
  145. package/presets/claude/mcp-ts/REPO_AGENTS.md +1 -1
  146. package/presets/claude/mcp-ts/agents/build-verifier.md +17 -0
  147. package/presets/claude/mcp-ts/agents/feature-developer.md +22 -0
  148. package/presets/claude/mcp-ts/agents/security-reviewer.md +15 -0
  149. package/presets/claude/mcp-ts/agents/solution-architect.md +15 -1
  150. package/presets/claude/mcp-ts/agents/task-analyst.md +15 -0
  151. package/presets/claude/mcp-ts/agents/task-router.md +15 -0
  152. package/presets/claude/mcp-ts/hooks/README.md +8 -3
  153. package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +18 -0
  154. package/presets/claude/mcp-ts/hooks/examples/README.md +5 -0
  155. package/presets/claude/mcp-ts/hooks/guard-shell-command.sh +32 -9
  156. package/presets/claude/mcp-ts/rules/README.md +1 -1
  157. package/presets/claude/mcp-ts/rules/tooling-and-review/ai-local-overlay.md +0 -5
  158. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  159. package/presets/claude/mcp-ts/settings.json +33 -0
  160. package/presets/claude/next/CLAUDE.md +15 -1
  161. package/presets/claude/next/REPO_AGENTS.md +1 -1
  162. package/presets/claude/next/agents/accessibility-reviewer.md +17 -0
  163. package/presets/claude/next/agents/api-contract-reviewer.md +19 -0
  164. package/presets/claude/next/agents/build-verifier.md +17 -0
  165. package/presets/claude/next/agents/ci-investigator.md +34 -0
  166. package/presets/claude/next/agents/code-reviewer.md +18 -0
  167. package/presets/claude/next/agents/codebase-analyzer.md +17 -0
  168. package/presets/claude/next/agents/debugger.md +34 -0
  169. package/presets/claude/next/agents/feature-developer.md +34 -0
  170. package/presets/claude/next/agents/migration-specialist.md +17 -0
  171. package/presets/claude/next/agents/mockup-reviewer.md +17 -0
  172. package/presets/claude/next/agents/openspec-author.md +17 -0
  173. package/presets/claude/next/agents/performance-auditor.md +17 -0
  174. package/presets/claude/next/agents/playwright-test-generator.md +19 -0
  175. package/presets/claude/next/agents/playwright-test-healer.md +19 -1
  176. package/presets/claude/next/agents/playwright-test-planner.md +20 -1
  177. package/presets/claude/next/agents/qa-tester.md +20 -0
  178. package/presets/claude/next/agents/security-reviewer.md +17 -0
  179. package/presets/claude/next/agents/solution-architect.md +17 -0
  180. package/presets/claude/next/agents/task-analyst.md +17 -0
  181. package/presets/claude/next/agents/task-router.md +17 -0
  182. package/presets/claude/next/agents/tech-writer.md +17 -0
  183. package/presets/claude/next/agents/unit-test-generator.md +18 -0
  184. package/presets/claude/next/agents/unit-test-healer.md +18 -0
  185. package/presets/claude/next/agents/unit-test-planner.md +18 -0
  186. package/presets/claude/next/hooks/README.md +10 -1
  187. package/presets/claude/next/hooks/chain-team-phases.sh +18 -0
  188. package/presets/claude/next/hooks/examples/README.md +2 -0
  189. package/presets/claude/next/hooks/guard-shell-command.sh +32 -9
  190. package/presets/claude/next/rules/README.md +1 -1
  191. package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +0 -5
  192. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  193. package/presets/claude/next/settings.json +39 -0
  194. package/presets/claude/nuxt/CLAUDE.md +15 -1
  195. package/presets/claude/nuxt/REPO_AGENTS.md +1 -1
  196. package/presets/claude/nuxt/agents/accessibility-reviewer.md +17 -0
  197. package/presets/claude/nuxt/agents/api-contract-reviewer.md +19 -0
  198. package/presets/claude/nuxt/agents/build-verifier.md +17 -0
  199. package/presets/claude/nuxt/agents/ci-investigator.md +34 -0
  200. package/presets/claude/nuxt/agents/code-reviewer.md +18 -0
  201. package/presets/claude/nuxt/agents/codebase-analyzer.md +17 -0
  202. package/presets/claude/nuxt/agents/debugger.md +34 -0
  203. package/presets/claude/nuxt/agents/feature-developer.md +34 -0
  204. package/presets/claude/nuxt/agents/migration-specialist.md +17 -0
  205. package/presets/claude/nuxt/agents/mockup-reviewer.md +17 -0
  206. package/presets/claude/nuxt/agents/openspec-author.md +17 -0
  207. package/presets/claude/nuxt/agents/performance-auditor.md +17 -0
  208. package/presets/claude/nuxt/agents/playwright-test-generator.md +19 -0
  209. package/presets/claude/nuxt/agents/playwright-test-healer.md +19 -1
  210. package/presets/claude/nuxt/agents/playwright-test-planner.md +20 -1
  211. package/presets/claude/nuxt/agents/qa-tester.md +20 -0
  212. package/presets/claude/nuxt/agents/security-reviewer.md +17 -0
  213. package/presets/claude/nuxt/agents/solution-architect.md +17 -0
  214. package/presets/claude/nuxt/agents/task-analyst.md +17 -0
  215. package/presets/claude/nuxt/agents/task-router.md +17 -0
  216. package/presets/claude/nuxt/agents/tech-writer.md +17 -0
  217. package/presets/claude/nuxt/agents/unit-test-generator.md +18 -0
  218. package/presets/claude/nuxt/agents/unit-test-healer.md +18 -0
  219. package/presets/claude/nuxt/agents/unit-test-planner.md +18 -0
  220. package/presets/claude/nuxt/hooks/README.md +7 -4
  221. package/presets/claude/nuxt/hooks/chain-team-phases.sh +18 -0
  222. package/presets/claude/nuxt/hooks/examples/README.md +2 -0
  223. package/presets/claude/nuxt/hooks/guard-shell-command.sh +32 -9
  224. package/presets/claude/nuxt/rules/README.md +1 -1
  225. package/presets/claude/nuxt/rules/tooling-and-review/ai-local-overlay.md +0 -5
  226. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  227. package/presets/claude/nuxt/settings.json +39 -0
  228. package/presets/claude/php-hexagonal/CLAUDE.md +15 -1
  229. package/presets/claude/php-hexagonal/REPO_AGENTS.md +1 -1
  230. package/presets/claude/php-hexagonal/agents/api-contract-reviewer.md +17 -0
  231. package/presets/claude/php-hexagonal/agents/build-verifier.md +17 -0
  232. package/presets/claude/php-hexagonal/agents/ci-investigator.md +29 -0
  233. package/presets/claude/php-hexagonal/agents/code-reviewer.md +16 -0
  234. package/presets/claude/php-hexagonal/agents/codebase-analyzer.md +15 -0
  235. package/presets/claude/php-hexagonal/agents/debugger.md +29 -0
  236. package/presets/claude/php-hexagonal/agents/feature-developer.md +29 -0
  237. package/presets/claude/php-hexagonal/agents/integration-test-generator.md +17 -0
  238. package/presets/claude/php-hexagonal/agents/integration-test-healer.md +17 -0
  239. package/presets/claude/php-hexagonal/agents/integration-test-planner.md +17 -0
  240. package/presets/claude/php-hexagonal/agents/migration-specialist.md +15 -0
  241. package/presets/claude/php-hexagonal/agents/openspec-author.md +15 -0
  242. package/presets/claude/php-hexagonal/agents/performance-auditor.md +15 -0
  243. package/presets/claude/php-hexagonal/agents/qa-tester.md +18 -0
  244. package/presets/claude/php-hexagonal/agents/security-reviewer.md +15 -0
  245. package/presets/claude/php-hexagonal/agents/solution-architect.md +15 -0
  246. package/presets/claude/php-hexagonal/agents/task-analyst.md +15 -0
  247. package/presets/claude/php-hexagonal/agents/task-router.md +15 -0
  248. package/presets/claude/php-hexagonal/agents/tech-writer.md +15 -1
  249. package/presets/claude/php-hexagonal/agents/unit-test-generator.md +16 -0
  250. package/presets/claude/php-hexagonal/agents/unit-test-healer.md +16 -0
  251. package/presets/claude/php-hexagonal/agents/unit-test-planner.md +16 -0
  252. package/presets/claude/php-hexagonal/hooks/README.md +6 -5
  253. package/presets/claude/php-hexagonal/hooks/chain-team-phases.sh +18 -0
  254. package/presets/claude/php-hexagonal/hooks/examples/README.md +3 -1
  255. package/presets/claude/php-hexagonal/hooks/guard-shell-command.sh +32 -9
  256. package/presets/claude/php-hexagonal/rules/README.md +1 -1
  257. package/presets/claude/php-hexagonal/rules/tooling-and-review/ai-local-overlay.md +0 -5
  258. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  259. package/presets/claude/php-hexagonal/settings.json +33 -0
  260. package/presets/claude/php-laravel/CLAUDE.md +18 -0
  261. package/presets/claude/php-laravel/REPO_AGENTS.md +1 -1
  262. package/presets/claude/php-laravel/agents/api-contract-reviewer.md +18 -0
  263. package/presets/claude/php-laravel/agents/build-verifier.md +17 -0
  264. package/presets/claude/php-laravel/agents/ci-investigator.md +29 -0
  265. package/presets/claude/php-laravel/agents/code-reviewer.md +16 -0
  266. package/presets/claude/php-laravel/agents/codebase-analyzer.md +15 -0
  267. package/presets/claude/php-laravel/agents/debugger.md +29 -0
  268. package/presets/claude/php-laravel/agents/feature-developer.md +29 -0
  269. package/presets/claude/php-laravel/agents/integration-test-generator.md +17 -0
  270. package/presets/claude/php-laravel/agents/integration-test-healer.md +17 -0
  271. package/presets/claude/php-laravel/agents/integration-test-planner.md +17 -0
  272. package/presets/claude/php-laravel/agents/migration-specialist.md +15 -0
  273. package/presets/claude/php-laravel/agents/openspec-author.md +15 -0
  274. package/presets/claude/php-laravel/agents/performance-auditor.md +15 -0
  275. package/presets/claude/php-laravel/agents/qa-tester.md +18 -0
  276. package/presets/claude/php-laravel/agents/security-reviewer.md +15 -0
  277. package/presets/claude/php-laravel/agents/solution-architect.md +15 -0
  278. package/presets/claude/php-laravel/agents/task-analyst.md +15 -0
  279. package/presets/claude/php-laravel/agents/task-router.md +15 -0
  280. package/presets/claude/php-laravel/agents/tech-writer.md +15 -1
  281. package/presets/claude/php-laravel/agents/unit-test-generator.md +16 -0
  282. package/presets/claude/php-laravel/agents/unit-test-healer.md +16 -0
  283. package/presets/claude/php-laravel/agents/unit-test-planner.md +16 -0
  284. package/presets/claude/php-laravel/hooks/README.md +6 -5
  285. package/presets/claude/php-laravel/hooks/chain-team-phases.sh +18 -0
  286. package/presets/claude/php-laravel/hooks/examples/README.md +3 -1
  287. package/presets/claude/php-laravel/hooks/guard-shell-command.sh +32 -9
  288. package/presets/claude/php-laravel/rules/README.md +1 -1
  289. package/presets/claude/php-laravel/rules/tooling-and-review/ai-local-overlay.md +0 -5
  290. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  291. package/presets/claude/php-laravel/settings.json +33 -0
  292. package/presets/claude/svelte/CLAUDE.md +15 -1
  293. package/presets/claude/svelte/REPO_AGENTS.md +1 -1
  294. package/presets/claude/svelte/agents/accessibility-reviewer.md +17 -0
  295. package/presets/claude/svelte/agents/api-contract-reviewer.md +19 -0
  296. package/presets/claude/svelte/agents/build-verifier.md +17 -0
  297. package/presets/claude/svelte/agents/ci-investigator.md +34 -0
  298. package/presets/claude/svelte/agents/code-reviewer.md +18 -0
  299. package/presets/claude/svelte/agents/codebase-analyzer.md +17 -0
  300. package/presets/claude/svelte/agents/debugger.md +34 -0
  301. package/presets/claude/svelte/agents/feature-developer.md +34 -0
  302. package/presets/claude/svelte/agents/migration-specialist.md +17 -0
  303. package/presets/claude/svelte/agents/mockup-reviewer.md +17 -0
  304. package/presets/claude/svelte/agents/openspec-author.md +17 -0
  305. package/presets/claude/svelte/agents/performance-auditor.md +17 -0
  306. package/presets/claude/svelte/agents/playwright-test-generator.md +19 -0
  307. package/presets/claude/svelte/agents/playwright-test-healer.md +19 -1
  308. package/presets/claude/svelte/agents/playwright-test-planner.md +20 -1
  309. package/presets/claude/svelte/agents/qa-tester.md +20 -0
  310. package/presets/claude/svelte/agents/security-reviewer.md +17 -0
  311. package/presets/claude/svelte/agents/solution-architect.md +17 -0
  312. package/presets/claude/svelte/agents/task-analyst.md +17 -0
  313. package/presets/claude/svelte/agents/task-router.md +17 -0
  314. package/presets/claude/svelte/agents/tech-writer.md +17 -0
  315. package/presets/claude/svelte/agents/unit-test-generator.md +18 -0
  316. package/presets/claude/svelte/agents/unit-test-healer.md +18 -0
  317. package/presets/claude/svelte/agents/unit-test-planner.md +18 -0
  318. package/presets/claude/svelte/hooks/README.md +7 -4
  319. package/presets/claude/svelte/hooks/chain-team-phases.sh +18 -0
  320. package/presets/claude/svelte/hooks/examples/README.md +2 -0
  321. package/presets/claude/svelte/hooks/guard-shell-command.sh +32 -9
  322. package/presets/claude/svelte/rules/README.md +1 -1
  323. package/presets/claude/svelte/rules/tooling-and-review/ai-local-overlay.md +0 -5
  324. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +2 -2
  325. package/presets/claude/svelte/settings.json +39 -0
  326. package/presets/cursor/android-kotlin/REPO_AGENTS.md +1 -1
  327. package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +2 -2
  328. package/presets/cursor/go/REPO_AGENTS.md +1 -1
  329. package/presets/cursor/go/rules/preset-pr-checklist.mdc +2 -2
  330. package/presets/cursor/ios-swift/REPO_AGENTS.md +1 -1
  331. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +2 -2
  332. package/presets/cursor/java/REPO_AGENTS.md +1 -1
  333. package/presets/cursor/java/rules/preset-pr-checklist.mdc +2 -2
  334. package/presets/cursor/mcp-ts/REPO_AGENTS.md +1 -1
  335. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +2 -2
  336. package/presets/cursor/next/REPO_AGENTS.md +1 -1
  337. package/presets/cursor/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
  338. package/presets/cursor/next/ai-local/rules-library/commit-hygiene.md +17 -0
  339. package/presets/cursor/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
  340. package/presets/cursor/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
  341. package/presets/cursor/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
  342. package/presets/cursor/next/ai-local/rules-library/router-pages.md +23 -0
  343. package/presets/cursor/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
  344. package/presets/cursor/next/rules/preset-pr-checklist.mdc +2 -2
  345. package/presets/cursor/nuxt/REPO_AGENTS.md +1 -1
  346. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +2 -2
  347. package/presets/cursor/php-hexagonal/REPO_AGENTS.md +1 -1
  348. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +2 -2
  349. package/presets/cursor/php-laravel/REPO_AGENTS.md +1 -1
  350. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +2 -2
  351. package/presets/cursor/svelte/REPO_AGENTS.md +1 -1
  352. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +2 -2
  353. package/presets/mavis/README.md +2 -0
  354. package/presets/mavis/android-kotlin/MAVIS.md +23 -1
  355. package/presets/mavis/android-kotlin/REPO_AGENTS.md +1 -1
  356. package/presets/mavis/android-kotlin/adapter-map.json +1 -1
  357. package/presets/mavis/android-kotlin/agents/accessibility-reviewer.md +15 -0
  358. package/presets/mavis/android-kotlin/agents/api-contract-reviewer.md +16 -0
  359. package/presets/mavis/android-kotlin/agents/build-verifier.md +17 -0
  360. package/presets/mavis/android-kotlin/agents/ci-investigator.md +25 -0
  361. package/presets/mavis/android-kotlin/agents/code-reviewer.md +16 -0
  362. package/presets/mavis/android-kotlin/agents/codebase-analyzer.md +15 -0
  363. package/presets/mavis/android-kotlin/agents/debugger.md +25 -0
  364. package/presets/mavis/android-kotlin/agents/feature-developer.md +25 -0
  365. package/presets/mavis/android-kotlin/agents/instrumentation-test-generator.md +16 -0
  366. package/presets/mavis/android-kotlin/agents/instrumentation-test-healer.md +16 -0
  367. package/presets/mavis/android-kotlin/agents/instrumentation-test-planner.md +16 -0
  368. package/presets/mavis/android-kotlin/agents/migration-specialist.md +15 -0
  369. package/presets/mavis/android-kotlin/agents/mockup-reviewer.md +15 -0
  370. package/presets/mavis/android-kotlin/agents/openspec-author.md +15 -0
  371. package/presets/mavis/android-kotlin/agents/performance-auditor.md +15 -0
  372. package/presets/mavis/android-kotlin/agents/qa-tester.md +17 -0
  373. package/presets/mavis/android-kotlin/agents/security-reviewer.md +15 -0
  374. package/presets/mavis/android-kotlin/agents/solution-architect.md +15 -0
  375. package/presets/mavis/android-kotlin/agents/task-analyst.md +15 -0
  376. package/presets/mavis/android-kotlin/agents/task-router.md +15 -0
  377. package/presets/mavis/android-kotlin/agents/tech-writer.md +15 -0
  378. package/presets/mavis/android-kotlin/agents/unit-test-generator.md +16 -0
  379. package/presets/mavis/android-kotlin/agents/unit-test-healer.md +16 -0
  380. package/presets/mavis/android-kotlin/agents/unit-test-planner.md +16 -0
  381. package/presets/mavis/android-kotlin/rules/preset-pr-checklist.md +2 -2
  382. package/presets/mavis/go/MAVIS.md +23 -1
  383. package/presets/mavis/go/REPO_AGENTS.md +1 -1
  384. package/presets/mavis/go/adapter-map.json +1 -1
  385. package/presets/mavis/go/agents/api-contract-reviewer.md +17 -0
  386. package/presets/mavis/go/agents/build-verifier.md +17 -0
  387. package/presets/mavis/go/agents/ci-investigator.md +29 -0
  388. package/presets/mavis/go/agents/code-reviewer.md +16 -0
  389. package/presets/mavis/go/agents/codebase-analyzer.md +15 -0
  390. package/presets/mavis/go/agents/debugger.md +29 -0
  391. package/presets/mavis/go/agents/feature-developer.md +29 -0
  392. package/presets/mavis/go/agents/integration-test-generator.md +17 -0
  393. package/presets/mavis/go/agents/integration-test-healer.md +17 -0
  394. package/presets/mavis/go/agents/integration-test-planner.md +17 -0
  395. package/presets/mavis/go/agents/migration-specialist.md +15 -0
  396. package/presets/mavis/go/agents/openspec-author.md +15 -0
  397. package/presets/mavis/go/agents/performance-auditor.md +15 -0
  398. package/presets/mavis/go/agents/qa-tester.md +18 -0
  399. package/presets/mavis/go/agents/security-reviewer.md +15 -0
  400. package/presets/mavis/go/agents/solution-architect.md +15 -0
  401. package/presets/mavis/go/agents/task-analyst.md +15 -0
  402. package/presets/mavis/go/agents/task-router.md +15 -0
  403. package/presets/mavis/go/agents/tech-writer.md +15 -0
  404. package/presets/mavis/go/agents/unit-test-generator.md +16 -0
  405. package/presets/mavis/go/agents/unit-test-healer.md +16 -0
  406. package/presets/mavis/go/agents/unit-test-planner.md +16 -0
  407. package/presets/mavis/go/rules/preset-pr-checklist.md +2 -2
  408. package/presets/mavis/ios-swift/MAVIS.md +23 -1
  409. package/presets/mavis/ios-swift/REPO_AGENTS.md +1 -1
  410. package/presets/mavis/ios-swift/adapter-map.json +1 -1
  411. package/presets/mavis/ios-swift/agents/accessibility-reviewer.md +15 -0
  412. package/presets/mavis/ios-swift/agents/api-contract-reviewer.md +16 -0
  413. package/presets/mavis/ios-swift/agents/build-verifier.md +17 -0
  414. package/presets/mavis/ios-swift/agents/ci-investigator.md +24 -0
  415. package/presets/mavis/ios-swift/agents/code-reviewer.md +16 -0
  416. package/presets/mavis/ios-swift/agents/codebase-analyzer.md +15 -0
  417. package/presets/mavis/ios-swift/agents/debugger.md +24 -0
  418. package/presets/mavis/ios-swift/agents/feature-developer.md +24 -0
  419. package/presets/mavis/ios-swift/agents/migration-specialist.md +15 -0
  420. package/presets/mavis/ios-swift/agents/mockup-reviewer.md +15 -0
  421. package/presets/mavis/ios-swift/agents/openspec-author.md +15 -0
  422. package/presets/mavis/ios-swift/agents/performance-auditor.md +15 -0
  423. package/presets/mavis/ios-swift/agents/qa-tester.md +17 -0
  424. package/presets/mavis/ios-swift/agents/security-reviewer.md +15 -0
  425. package/presets/mavis/ios-swift/agents/solution-architect.md +15 -0
  426. package/presets/mavis/ios-swift/agents/task-analyst.md +15 -0
  427. package/presets/mavis/ios-swift/agents/task-router.md +15 -0
  428. package/presets/mavis/ios-swift/agents/tech-writer.md +15 -0
  429. package/presets/mavis/ios-swift/agents/unit-test-generator.md +16 -0
  430. package/presets/mavis/ios-swift/agents/unit-test-healer.md +16 -0
  431. package/presets/mavis/ios-swift/agents/unit-test-planner.md +16 -0
  432. package/presets/mavis/ios-swift/agents/xcuitest-test-generator.md +16 -0
  433. package/presets/mavis/ios-swift/agents/xcuitest-test-healer.md +16 -0
  434. package/presets/mavis/ios-swift/agents/xcuitest-test-planner.md +16 -0
  435. package/presets/mavis/ios-swift/rules/preset-pr-checklist.md +2 -2
  436. package/presets/mavis/java/MAVIS.md +23 -1
  437. package/presets/mavis/java/REPO_AGENTS.md +1 -1
  438. package/presets/mavis/java/adapter-map.json +1 -1
  439. package/presets/mavis/java/agents/api-contract-reviewer.md +17 -0
  440. package/presets/mavis/java/agents/build-verifier.md +17 -0
  441. package/presets/mavis/java/agents/ci-investigator.md +29 -0
  442. package/presets/mavis/java/agents/code-reviewer.md +16 -0
  443. package/presets/mavis/java/agents/codebase-analyzer.md +15 -0
  444. package/presets/mavis/java/agents/debugger.md +29 -0
  445. package/presets/mavis/java/agents/feature-developer.md +29 -0
  446. package/presets/mavis/java/agents/integration-test-generator.md +17 -0
  447. package/presets/mavis/java/agents/integration-test-healer.md +17 -0
  448. package/presets/mavis/java/agents/integration-test-planner.md +17 -0
  449. package/presets/mavis/java/agents/migration-specialist.md +15 -0
  450. package/presets/mavis/java/agents/openspec-author.md +15 -0
  451. package/presets/mavis/java/agents/performance-auditor.md +15 -0
  452. package/presets/mavis/java/agents/qa-tester.md +18 -0
  453. package/presets/mavis/java/agents/security-reviewer.md +15 -0
  454. package/presets/mavis/java/agents/solution-architect.md +15 -0
  455. package/presets/mavis/java/agents/task-analyst.md +15 -0
  456. package/presets/mavis/java/agents/task-router.md +15 -0
  457. package/presets/mavis/java/agents/tech-writer.md +15 -0
  458. package/presets/mavis/java/agents/unit-test-generator.md +16 -0
  459. package/presets/mavis/java/agents/unit-test-healer.md +16 -0
  460. package/presets/mavis/java/agents/unit-test-planner.md +16 -0
  461. package/presets/mavis/java/rules/preset-pr-checklist.md +2 -2
  462. package/presets/mavis/mcp-ts/MAVIS.md +23 -1
  463. package/presets/mavis/mcp-ts/REPO_AGENTS.md +1 -1
  464. package/presets/mavis/mcp-ts/adapter-map.json +1 -1
  465. package/presets/mavis/mcp-ts/agents/build-verifier.md +17 -0
  466. package/presets/mavis/mcp-ts/agents/feature-developer.md +22 -0
  467. package/presets/mavis/mcp-ts/agents/security-reviewer.md +15 -0
  468. package/presets/mavis/mcp-ts/agents/solution-architect.md +15 -0
  469. package/presets/mavis/mcp-ts/agents/task-analyst.md +15 -0
  470. package/presets/mavis/mcp-ts/agents/task-router.md +15 -0
  471. package/presets/mavis/mcp-ts/rules/preset-pr-checklist.md +2 -2
  472. package/presets/mavis/next/MAVIS.md +23 -1
  473. package/presets/mavis/next/REPO_AGENTS.md +1 -1
  474. package/presets/mavis/next/adapter-map.json +57 -1
  475. package/presets/mavis/next/agents/accessibility-reviewer.md +17 -0
  476. package/presets/mavis/next/agents/api-contract-reviewer.md +19 -0
  477. package/presets/mavis/next/agents/build-verifier.md +17 -0
  478. package/presets/mavis/next/agents/ci-investigator.md +34 -0
  479. package/presets/mavis/next/agents/code-reviewer.md +18 -0
  480. package/presets/mavis/next/agents/codebase-analyzer.md +17 -0
  481. package/presets/mavis/next/agents/debugger.md +34 -0
  482. package/presets/mavis/next/agents/feature-developer.md +34 -0
  483. package/presets/mavis/next/agents/migration-specialist.md +17 -0
  484. package/presets/mavis/next/agents/mockup-reviewer.md +17 -0
  485. package/presets/mavis/next/agents/openspec-author.md +17 -0
  486. package/presets/mavis/next/agents/performance-auditor.md +17 -0
  487. package/presets/mavis/next/agents/playwright-test-generator.md +19 -0
  488. package/presets/mavis/next/agents/playwright-test-healer.md +19 -0
  489. package/presets/mavis/next/agents/playwright-test-planner.md +19 -0
  490. package/presets/mavis/next/agents/qa-tester.md +20 -0
  491. package/presets/mavis/next/agents/security-reviewer.md +17 -0
  492. package/presets/mavis/next/agents/solution-architect.md +17 -0
  493. package/presets/mavis/next/agents/task-analyst.md +17 -0
  494. package/presets/mavis/next/agents/task-router.md +17 -0
  495. package/presets/mavis/next/agents/tech-writer.md +17 -0
  496. package/presets/mavis/next/agents/unit-test-generator.md +18 -0
  497. package/presets/mavis/next/agents/unit-test-healer.md +18 -0
  498. package/presets/mavis/next/agents/unit-test-planner.md +18 -0
  499. package/presets/mavis/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
  500. package/presets/mavis/next/ai-local/rules-library/commit-hygiene.md +17 -0
  501. package/presets/mavis/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
  502. package/presets/mavis/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
  503. package/presets/mavis/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
  504. package/presets/mavis/next/ai-local/rules-library/router-pages.md +23 -0
  505. package/presets/mavis/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
  506. package/presets/mavis/next/rules/preset-pr-checklist.md +2 -2
  507. package/presets/mavis/nuxt/MAVIS.md +23 -1
  508. package/presets/mavis/nuxt/REPO_AGENTS.md +1 -1
  509. package/presets/mavis/nuxt/adapter-map.json +1 -1
  510. package/presets/mavis/nuxt/agents/accessibility-reviewer.md +17 -0
  511. package/presets/mavis/nuxt/agents/api-contract-reviewer.md +19 -0
  512. package/presets/mavis/nuxt/agents/build-verifier.md +17 -0
  513. package/presets/mavis/nuxt/agents/ci-investigator.md +34 -0
  514. package/presets/mavis/nuxt/agents/code-reviewer.md +18 -0
  515. package/presets/mavis/nuxt/agents/codebase-analyzer.md +17 -0
  516. package/presets/mavis/nuxt/agents/debugger.md +34 -0
  517. package/presets/mavis/nuxt/agents/feature-developer.md +34 -0
  518. package/presets/mavis/nuxt/agents/migration-specialist.md +17 -0
  519. package/presets/mavis/nuxt/agents/mockup-reviewer.md +17 -0
  520. package/presets/mavis/nuxt/agents/openspec-author.md +17 -0
  521. package/presets/mavis/nuxt/agents/performance-auditor.md +17 -0
  522. package/presets/mavis/nuxt/agents/playwright-test-generator.md +19 -0
  523. package/presets/mavis/nuxt/agents/playwright-test-healer.md +19 -0
  524. package/presets/mavis/nuxt/agents/playwright-test-planner.md +19 -0
  525. package/presets/mavis/nuxt/agents/qa-tester.md +20 -0
  526. package/presets/mavis/nuxt/agents/security-reviewer.md +17 -0
  527. package/presets/mavis/nuxt/agents/solution-architect.md +17 -0
  528. package/presets/mavis/nuxt/agents/task-analyst.md +17 -0
  529. package/presets/mavis/nuxt/agents/task-router.md +17 -0
  530. package/presets/mavis/nuxt/agents/tech-writer.md +17 -0
  531. package/presets/mavis/nuxt/agents/unit-test-generator.md +18 -0
  532. package/presets/mavis/nuxt/agents/unit-test-healer.md +18 -0
  533. package/presets/mavis/nuxt/agents/unit-test-planner.md +18 -0
  534. package/presets/mavis/nuxt/rules/preset-pr-checklist.md +2 -2
  535. package/presets/mavis/php-hexagonal/MAVIS.md +23 -1
  536. package/presets/mavis/php-hexagonal/REPO_AGENTS.md +1 -1
  537. package/presets/mavis/php-hexagonal/adapter-map.json +1 -1
  538. package/presets/mavis/php-hexagonal/agents/api-contract-reviewer.md +17 -0
  539. package/presets/mavis/php-hexagonal/agents/build-verifier.md +17 -0
  540. package/presets/mavis/php-hexagonal/agents/ci-investigator.md +29 -0
  541. package/presets/mavis/php-hexagonal/agents/code-reviewer.md +16 -0
  542. package/presets/mavis/php-hexagonal/agents/codebase-analyzer.md +15 -0
  543. package/presets/mavis/php-hexagonal/agents/debugger.md +29 -0
  544. package/presets/mavis/php-hexagonal/agents/feature-developer.md +29 -0
  545. package/presets/mavis/php-hexagonal/agents/integration-test-generator.md +17 -0
  546. package/presets/mavis/php-hexagonal/agents/integration-test-healer.md +17 -0
  547. package/presets/mavis/php-hexagonal/agents/integration-test-planner.md +17 -0
  548. package/presets/mavis/php-hexagonal/agents/migration-specialist.md +15 -0
  549. package/presets/mavis/php-hexagonal/agents/openspec-author.md +15 -0
  550. package/presets/mavis/php-hexagonal/agents/performance-auditor.md +15 -0
  551. package/presets/mavis/php-hexagonal/agents/qa-tester.md +18 -0
  552. package/presets/mavis/php-hexagonal/agents/security-reviewer.md +15 -0
  553. package/presets/mavis/php-hexagonal/agents/solution-architect.md +15 -0
  554. package/presets/mavis/php-hexagonal/agents/task-analyst.md +15 -0
  555. package/presets/mavis/php-hexagonal/agents/task-router.md +15 -0
  556. package/presets/mavis/php-hexagonal/agents/tech-writer.md +15 -0
  557. package/presets/mavis/php-hexagonal/agents/unit-test-generator.md +16 -0
  558. package/presets/mavis/php-hexagonal/agents/unit-test-healer.md +16 -0
  559. package/presets/mavis/php-hexagonal/agents/unit-test-planner.md +16 -0
  560. package/presets/mavis/php-hexagonal/rules/preset-pr-checklist.md +2 -2
  561. package/presets/mavis/php-laravel/MAVIS.md +23 -1
  562. package/presets/mavis/php-laravel/REPO_AGENTS.md +1 -1
  563. package/presets/mavis/php-laravel/adapter-map.json +1 -1
  564. package/presets/mavis/php-laravel/agents/api-contract-reviewer.md +18 -0
  565. package/presets/mavis/php-laravel/agents/build-verifier.md +17 -0
  566. package/presets/mavis/php-laravel/agents/ci-investigator.md +29 -0
  567. package/presets/mavis/php-laravel/agents/code-reviewer.md +16 -0
  568. package/presets/mavis/php-laravel/agents/codebase-analyzer.md +15 -0
  569. package/presets/mavis/php-laravel/agents/debugger.md +29 -0
  570. package/presets/mavis/php-laravel/agents/feature-developer.md +29 -0
  571. package/presets/mavis/php-laravel/agents/integration-test-generator.md +17 -0
  572. package/presets/mavis/php-laravel/agents/integration-test-healer.md +17 -0
  573. package/presets/mavis/php-laravel/agents/integration-test-planner.md +17 -0
  574. package/presets/mavis/php-laravel/agents/migration-specialist.md +15 -0
  575. package/presets/mavis/php-laravel/agents/openspec-author.md +15 -0
  576. package/presets/mavis/php-laravel/agents/performance-auditor.md +15 -0
  577. package/presets/mavis/php-laravel/agents/qa-tester.md +18 -0
  578. package/presets/mavis/php-laravel/agents/security-reviewer.md +15 -0
  579. package/presets/mavis/php-laravel/agents/solution-architect.md +15 -0
  580. package/presets/mavis/php-laravel/agents/task-analyst.md +15 -0
  581. package/presets/mavis/php-laravel/agents/task-router.md +15 -0
  582. package/presets/mavis/php-laravel/agents/tech-writer.md +15 -0
  583. package/presets/mavis/php-laravel/agents/unit-test-generator.md +16 -0
  584. package/presets/mavis/php-laravel/agents/unit-test-healer.md +16 -0
  585. package/presets/mavis/php-laravel/agents/unit-test-planner.md +16 -0
  586. package/presets/mavis/php-laravel/rules/preset-pr-checklist.md +2 -2
  587. package/presets/mavis/platform-contract.json +4 -4
  588. package/presets/mavis/svelte/MAVIS.md +23 -1
  589. package/presets/mavis/svelte/REPO_AGENTS.md +1 -1
  590. package/presets/mavis/svelte/adapter-map.json +1 -1
  591. package/presets/mavis/svelte/agents/accessibility-reviewer.md +17 -0
  592. package/presets/mavis/svelte/agents/api-contract-reviewer.md +19 -0
  593. package/presets/mavis/svelte/agents/build-verifier.md +17 -0
  594. package/presets/mavis/svelte/agents/ci-investigator.md +34 -0
  595. package/presets/mavis/svelte/agents/code-reviewer.md +18 -0
  596. package/presets/mavis/svelte/agents/codebase-analyzer.md +17 -0
  597. package/presets/mavis/svelte/agents/debugger.md +34 -0
  598. package/presets/mavis/svelte/agents/feature-developer.md +34 -0
  599. package/presets/mavis/svelte/agents/migration-specialist.md +17 -0
  600. package/presets/mavis/svelte/agents/mockup-reviewer.md +17 -0
  601. package/presets/mavis/svelte/agents/openspec-author.md +17 -0
  602. package/presets/mavis/svelte/agents/performance-auditor.md +17 -0
  603. package/presets/mavis/svelte/agents/playwright-test-generator.md +19 -0
  604. package/presets/mavis/svelte/agents/playwright-test-healer.md +19 -0
  605. package/presets/mavis/svelte/agents/playwright-test-planner.md +19 -0
  606. package/presets/mavis/svelte/agents/qa-tester.md +20 -0
  607. package/presets/mavis/svelte/agents/security-reviewer.md +17 -0
  608. package/presets/mavis/svelte/agents/solution-architect.md +17 -0
  609. package/presets/mavis/svelte/agents/task-analyst.md +17 -0
  610. package/presets/mavis/svelte/agents/task-router.md +17 -0
  611. package/presets/mavis/svelte/agents/tech-writer.md +17 -0
  612. package/presets/mavis/svelte/agents/unit-test-generator.md +18 -0
  613. package/presets/mavis/svelte/agents/unit-test-healer.md +18 -0
  614. package/presets/mavis/svelte/agents/unit-test-planner.md +18 -0
  615. package/presets/mavis/svelte/rules/preset-pr-checklist.md +2 -2
  616. package/presets/opencode/README.md +1 -1
  617. package/presets/opencode/android-kotlin/OPENCODE.md +23 -2
  618. package/presets/opencode/android-kotlin/REPO_AGENTS.md +1 -1
  619. package/presets/opencode/android-kotlin/adapter-map.json +2 -2
  620. package/presets/opencode/android-kotlin/agents/accessibility-reviewer.md +15 -0
  621. package/presets/opencode/android-kotlin/agents/api-contract-reviewer.md +16 -0
  622. package/presets/opencode/android-kotlin/agents/build-verifier.md +17 -0
  623. package/presets/opencode/android-kotlin/agents/ci-investigator.md +25 -0
  624. package/presets/opencode/android-kotlin/agents/code-reviewer.md +16 -0
  625. package/presets/opencode/android-kotlin/agents/codebase-analyzer.md +15 -0
  626. package/presets/opencode/android-kotlin/agents/debugger.md +25 -0
  627. package/presets/opencode/android-kotlin/agents/feature-developer.md +25 -0
  628. package/presets/opencode/android-kotlin/agents/instrumentation-test-generator.md +16 -0
  629. package/presets/opencode/android-kotlin/agents/instrumentation-test-healer.md +16 -0
  630. package/presets/opencode/android-kotlin/agents/instrumentation-test-planner.md +16 -0
  631. package/presets/opencode/android-kotlin/agents/migration-specialist.md +15 -0
  632. package/presets/opencode/android-kotlin/agents/mockup-reviewer.md +15 -0
  633. package/presets/opencode/android-kotlin/agents/openspec-author.md +15 -0
  634. package/presets/opencode/android-kotlin/agents/performance-auditor.md +15 -0
  635. package/presets/opencode/android-kotlin/agents/qa-tester.md +17 -0
  636. package/presets/opencode/android-kotlin/agents/security-reviewer.md +15 -0
  637. package/presets/opencode/android-kotlin/agents/solution-architect.md +15 -0
  638. package/presets/opencode/android-kotlin/agents/task-analyst.md +15 -0
  639. package/presets/opencode/android-kotlin/agents/task-router.md +15 -0
  640. package/presets/opencode/android-kotlin/agents/tech-writer.md +15 -0
  641. package/presets/opencode/android-kotlin/agents/unit-test-generator.md +16 -0
  642. package/presets/opencode/android-kotlin/agents/unit-test-healer.md +16 -0
  643. package/presets/opencode/android-kotlin/agents/unit-test-planner.md +16 -0
  644. package/presets/opencode/android-kotlin/opencode.json +14 -0
  645. package/presets/opencode/android-kotlin/rules/README.md +7 -2
  646. package/presets/opencode/android-kotlin/rules/preset-pr-checklist.md +2 -2
  647. package/presets/opencode/go/OPENCODE.md +23 -2
  648. package/presets/opencode/go/REPO_AGENTS.md +1 -1
  649. package/presets/opencode/go/adapter-map.json +2 -2
  650. package/presets/opencode/go/agents/api-contract-reviewer.md +17 -0
  651. package/presets/opencode/go/agents/build-verifier.md +17 -0
  652. package/presets/opencode/go/agents/ci-investigator.md +29 -0
  653. package/presets/opencode/go/agents/code-reviewer.md +16 -0
  654. package/presets/opencode/go/agents/codebase-analyzer.md +15 -0
  655. package/presets/opencode/go/agents/debugger.md +29 -0
  656. package/presets/opencode/go/agents/feature-developer.md +29 -0
  657. package/presets/opencode/go/agents/integration-test-generator.md +17 -0
  658. package/presets/opencode/go/agents/integration-test-healer.md +17 -0
  659. package/presets/opencode/go/agents/integration-test-planner.md +17 -0
  660. package/presets/opencode/go/agents/migration-specialist.md +15 -0
  661. package/presets/opencode/go/agents/openspec-author.md +15 -0
  662. package/presets/opencode/go/agents/performance-auditor.md +15 -0
  663. package/presets/opencode/go/agents/qa-tester.md +18 -0
  664. package/presets/opencode/go/agents/security-reviewer.md +15 -0
  665. package/presets/opencode/go/agents/solution-architect.md +15 -0
  666. package/presets/opencode/go/agents/task-analyst.md +15 -0
  667. package/presets/opencode/go/agents/task-router.md +15 -0
  668. package/presets/opencode/go/agents/tech-writer.md +15 -0
  669. package/presets/opencode/go/agents/unit-test-generator.md +16 -0
  670. package/presets/opencode/go/agents/unit-test-healer.md +16 -0
  671. package/presets/opencode/go/agents/unit-test-planner.md +16 -0
  672. package/presets/opencode/go/opencode.json +14 -0
  673. package/presets/opencode/go/rules/README.md +7 -2
  674. package/presets/opencode/go/rules/preset-pr-checklist.md +2 -2
  675. package/presets/opencode/ios-swift/OPENCODE.md +23 -2
  676. package/presets/opencode/ios-swift/REPO_AGENTS.md +1 -1
  677. package/presets/opencode/ios-swift/adapter-map.json +2 -2
  678. package/presets/opencode/ios-swift/agents/accessibility-reviewer.md +15 -0
  679. package/presets/opencode/ios-swift/agents/api-contract-reviewer.md +16 -0
  680. package/presets/opencode/ios-swift/agents/build-verifier.md +17 -0
  681. package/presets/opencode/ios-swift/agents/ci-investigator.md +24 -0
  682. package/presets/opencode/ios-swift/agents/code-reviewer.md +16 -0
  683. package/presets/opencode/ios-swift/agents/codebase-analyzer.md +15 -0
  684. package/presets/opencode/ios-swift/agents/debugger.md +24 -0
  685. package/presets/opencode/ios-swift/agents/feature-developer.md +24 -0
  686. package/presets/opencode/ios-swift/agents/migration-specialist.md +15 -0
  687. package/presets/opencode/ios-swift/agents/mockup-reviewer.md +15 -0
  688. package/presets/opencode/ios-swift/agents/openspec-author.md +15 -0
  689. package/presets/opencode/ios-swift/agents/performance-auditor.md +15 -0
  690. package/presets/opencode/ios-swift/agents/qa-tester.md +17 -0
  691. package/presets/opencode/ios-swift/agents/security-reviewer.md +15 -0
  692. package/presets/opencode/ios-swift/agents/solution-architect.md +15 -0
  693. package/presets/opencode/ios-swift/agents/task-analyst.md +15 -0
  694. package/presets/opencode/ios-swift/agents/task-router.md +15 -0
  695. package/presets/opencode/ios-swift/agents/tech-writer.md +15 -0
  696. package/presets/opencode/ios-swift/agents/unit-test-generator.md +16 -0
  697. package/presets/opencode/ios-swift/agents/unit-test-healer.md +16 -0
  698. package/presets/opencode/ios-swift/agents/unit-test-planner.md +16 -0
  699. package/presets/opencode/ios-swift/agents/xcuitest-test-generator.md +16 -0
  700. package/presets/opencode/ios-swift/agents/xcuitest-test-healer.md +16 -0
  701. package/presets/opencode/ios-swift/agents/xcuitest-test-planner.md +16 -0
  702. package/presets/opencode/ios-swift/opencode.json +14 -0
  703. package/presets/opencode/ios-swift/rules/README.md +7 -2
  704. package/presets/opencode/ios-swift/rules/preset-pr-checklist.md +2 -2
  705. package/presets/opencode/java/OPENCODE.md +23 -2
  706. package/presets/opencode/java/REPO_AGENTS.md +1 -1
  707. package/presets/opencode/java/adapter-map.json +2 -2
  708. package/presets/opencode/java/agents/api-contract-reviewer.md +17 -0
  709. package/presets/opencode/java/agents/build-verifier.md +17 -0
  710. package/presets/opencode/java/agents/ci-investigator.md +29 -0
  711. package/presets/opencode/java/agents/code-reviewer.md +16 -0
  712. package/presets/opencode/java/agents/codebase-analyzer.md +15 -0
  713. package/presets/opencode/java/agents/debugger.md +29 -0
  714. package/presets/opencode/java/agents/feature-developer.md +29 -0
  715. package/presets/opencode/java/agents/integration-test-generator.md +17 -0
  716. package/presets/opencode/java/agents/integration-test-healer.md +17 -0
  717. package/presets/opencode/java/agents/integration-test-planner.md +17 -0
  718. package/presets/opencode/java/agents/migration-specialist.md +15 -0
  719. package/presets/opencode/java/agents/openspec-author.md +15 -0
  720. package/presets/opencode/java/agents/performance-auditor.md +15 -0
  721. package/presets/opencode/java/agents/qa-tester.md +18 -0
  722. package/presets/opencode/java/agents/security-reviewer.md +15 -0
  723. package/presets/opencode/java/agents/solution-architect.md +15 -0
  724. package/presets/opencode/java/agents/task-analyst.md +15 -0
  725. package/presets/opencode/java/agents/task-router.md +15 -0
  726. package/presets/opencode/java/agents/tech-writer.md +15 -0
  727. package/presets/opencode/java/agents/unit-test-generator.md +16 -0
  728. package/presets/opencode/java/agents/unit-test-healer.md +16 -0
  729. package/presets/opencode/java/agents/unit-test-planner.md +16 -0
  730. package/presets/opencode/java/opencode.json +14 -0
  731. package/presets/opencode/java/rules/README.md +7 -2
  732. package/presets/opencode/java/rules/preset-pr-checklist.md +2 -2
  733. package/presets/opencode/mcp-ts/OPENCODE.md +23 -2
  734. package/presets/opencode/mcp-ts/REPO_AGENTS.md +1 -1
  735. package/presets/opencode/mcp-ts/adapter-map.json +2 -2
  736. package/presets/opencode/mcp-ts/agents/build-verifier.md +17 -0
  737. package/presets/opencode/mcp-ts/agents/feature-developer.md +22 -0
  738. package/presets/opencode/mcp-ts/agents/security-reviewer.md +15 -0
  739. package/presets/opencode/mcp-ts/agents/solution-architect.md +15 -0
  740. package/presets/opencode/mcp-ts/agents/task-analyst.md +15 -0
  741. package/presets/opencode/mcp-ts/agents/task-router.md +15 -0
  742. package/presets/opencode/mcp-ts/opencode.json +14 -0
  743. package/presets/opencode/mcp-ts/rules/README.md +7 -2
  744. package/presets/opencode/mcp-ts/rules/preset-pr-checklist.md +2 -2
  745. package/presets/opencode/next/OPENCODE.md +23 -2
  746. package/presets/opencode/next/REPO_AGENTS.md +1 -1
  747. package/presets/opencode/next/adapter-map.json +58 -2
  748. package/presets/opencode/next/agents/accessibility-reviewer.md +17 -0
  749. package/presets/opencode/next/agents/api-contract-reviewer.md +19 -0
  750. package/presets/opencode/next/agents/build-verifier.md +17 -0
  751. package/presets/opencode/next/agents/ci-investigator.md +34 -0
  752. package/presets/opencode/next/agents/code-reviewer.md +18 -0
  753. package/presets/opencode/next/agents/codebase-analyzer.md +17 -0
  754. package/presets/opencode/next/agents/debugger.md +34 -0
  755. package/presets/opencode/next/agents/feature-developer.md +34 -0
  756. package/presets/opencode/next/agents/migration-specialist.md +17 -0
  757. package/presets/opencode/next/agents/mockup-reviewer.md +17 -0
  758. package/presets/opencode/next/agents/openspec-author.md +17 -0
  759. package/presets/opencode/next/agents/performance-auditor.md +17 -0
  760. package/presets/opencode/next/agents/playwright-test-generator.md +19 -0
  761. package/presets/opencode/next/agents/playwright-test-healer.md +19 -0
  762. package/presets/opencode/next/agents/playwright-test-planner.md +19 -0
  763. package/presets/opencode/next/agents/qa-tester.md +20 -0
  764. package/presets/opencode/next/agents/security-reviewer.md +17 -0
  765. package/presets/opencode/next/agents/solution-architect.md +17 -0
  766. package/presets/opencode/next/agents/task-analyst.md +17 -0
  767. package/presets/opencode/next/agents/task-router.md +17 -0
  768. package/presets/opencode/next/agents/tech-writer.md +17 -0
  769. package/presets/opencode/next/agents/unit-test-generator.md +18 -0
  770. package/presets/opencode/next/agents/unit-test-healer.md +18 -0
  771. package/presets/opencode/next/agents/unit-test-planner.md +18 -0
  772. package/presets/opencode/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +38 -0
  773. package/presets/opencode/next/ai-local/rules-library/commit-hygiene.md +17 -0
  774. package/presets/opencode/next/ai-local/rules-library/mcp-required-for-ui-layout.md +41 -0
  775. package/presets/opencode/next/ai-local/rules-library/no-test-driven-behavior-change.md +14 -0
  776. package/presets/opencode/next/ai-local/rules-library/pre-pr-checklist.md +16 -0
  777. package/presets/opencode/next/ai-local/rules-library/router-pages.md +23 -0
  778. package/presets/opencode/next/ai-local/rules-library/single-source-copy-constants.md +16 -0
  779. package/presets/opencode/next/opencode.json +19 -0
  780. package/presets/opencode/next/rules/README.md +7 -2
  781. package/presets/opencode/next/rules/preset-pr-checklist.md +2 -2
  782. package/presets/opencode/nuxt/OPENCODE.md +23 -2
  783. package/presets/opencode/nuxt/REPO_AGENTS.md +1 -1
  784. package/presets/opencode/nuxt/adapter-map.json +2 -2
  785. package/presets/opencode/nuxt/agents/accessibility-reviewer.md +17 -0
  786. package/presets/opencode/nuxt/agents/api-contract-reviewer.md +19 -0
  787. package/presets/opencode/nuxt/agents/build-verifier.md +17 -0
  788. package/presets/opencode/nuxt/agents/ci-investigator.md +34 -0
  789. package/presets/opencode/nuxt/agents/code-reviewer.md +18 -0
  790. package/presets/opencode/nuxt/agents/codebase-analyzer.md +17 -0
  791. package/presets/opencode/nuxt/agents/debugger.md +34 -0
  792. package/presets/opencode/nuxt/agents/feature-developer.md +34 -0
  793. package/presets/opencode/nuxt/agents/migration-specialist.md +17 -0
  794. package/presets/opencode/nuxt/agents/mockup-reviewer.md +17 -0
  795. package/presets/opencode/nuxt/agents/openspec-author.md +17 -0
  796. package/presets/opencode/nuxt/agents/performance-auditor.md +17 -0
  797. package/presets/opencode/nuxt/agents/playwright-test-generator.md +19 -0
  798. package/presets/opencode/nuxt/agents/playwright-test-healer.md +19 -0
  799. package/presets/opencode/nuxt/agents/playwright-test-planner.md +19 -0
  800. package/presets/opencode/nuxt/agents/qa-tester.md +20 -0
  801. package/presets/opencode/nuxt/agents/security-reviewer.md +17 -0
  802. package/presets/opencode/nuxt/agents/solution-architect.md +17 -0
  803. package/presets/opencode/nuxt/agents/task-analyst.md +17 -0
  804. package/presets/opencode/nuxt/agents/task-router.md +17 -0
  805. package/presets/opencode/nuxt/agents/tech-writer.md +17 -0
  806. package/presets/opencode/nuxt/agents/unit-test-generator.md +18 -0
  807. package/presets/opencode/nuxt/agents/unit-test-healer.md +18 -0
  808. package/presets/opencode/nuxt/agents/unit-test-planner.md +18 -0
  809. package/presets/opencode/nuxt/opencode.json +19 -0
  810. package/presets/opencode/nuxt/rules/README.md +7 -2
  811. package/presets/opencode/nuxt/rules/preset-pr-checklist.md +2 -2
  812. package/presets/opencode/php-hexagonal/OPENCODE.md +23 -2
  813. package/presets/opencode/php-hexagonal/REPO_AGENTS.md +1 -1
  814. package/presets/opencode/php-hexagonal/adapter-map.json +2 -2
  815. package/presets/opencode/php-hexagonal/agents/api-contract-reviewer.md +17 -0
  816. package/presets/opencode/php-hexagonal/agents/build-verifier.md +17 -0
  817. package/presets/opencode/php-hexagonal/agents/ci-investigator.md +29 -0
  818. package/presets/opencode/php-hexagonal/agents/code-reviewer.md +16 -0
  819. package/presets/opencode/php-hexagonal/agents/codebase-analyzer.md +15 -0
  820. package/presets/opencode/php-hexagonal/agents/debugger.md +29 -0
  821. package/presets/opencode/php-hexagonal/agents/feature-developer.md +29 -0
  822. package/presets/opencode/php-hexagonal/agents/integration-test-generator.md +17 -0
  823. package/presets/opencode/php-hexagonal/agents/integration-test-healer.md +17 -0
  824. package/presets/opencode/php-hexagonal/agents/integration-test-planner.md +17 -0
  825. package/presets/opencode/php-hexagonal/agents/migration-specialist.md +15 -0
  826. package/presets/opencode/php-hexagonal/agents/openspec-author.md +15 -0
  827. package/presets/opencode/php-hexagonal/agents/performance-auditor.md +15 -0
  828. package/presets/opencode/php-hexagonal/agents/qa-tester.md +18 -0
  829. package/presets/opencode/php-hexagonal/agents/security-reviewer.md +15 -0
  830. package/presets/opencode/php-hexagonal/agents/solution-architect.md +15 -0
  831. package/presets/opencode/php-hexagonal/agents/task-analyst.md +15 -0
  832. package/presets/opencode/php-hexagonal/agents/task-router.md +15 -0
  833. package/presets/opencode/php-hexagonal/agents/tech-writer.md +15 -0
  834. package/presets/opencode/php-hexagonal/agents/unit-test-generator.md +16 -0
  835. package/presets/opencode/php-hexagonal/agents/unit-test-healer.md +16 -0
  836. package/presets/opencode/php-hexagonal/agents/unit-test-planner.md +16 -0
  837. package/presets/opencode/php-hexagonal/opencode.json +14 -0
  838. package/presets/opencode/php-hexagonal/rules/README.md +7 -2
  839. package/presets/opencode/php-hexagonal/rules/preset-pr-checklist.md +2 -2
  840. package/presets/opencode/php-laravel/OPENCODE.md +23 -2
  841. package/presets/opencode/php-laravel/REPO_AGENTS.md +1 -1
  842. package/presets/opencode/php-laravel/adapter-map.json +2 -2
  843. package/presets/opencode/php-laravel/agents/api-contract-reviewer.md +18 -0
  844. package/presets/opencode/php-laravel/agents/build-verifier.md +17 -0
  845. package/presets/opencode/php-laravel/agents/ci-investigator.md +29 -0
  846. package/presets/opencode/php-laravel/agents/code-reviewer.md +16 -0
  847. package/presets/opencode/php-laravel/agents/codebase-analyzer.md +15 -0
  848. package/presets/opencode/php-laravel/agents/debugger.md +29 -0
  849. package/presets/opencode/php-laravel/agents/feature-developer.md +29 -0
  850. package/presets/opencode/php-laravel/agents/integration-test-generator.md +17 -0
  851. package/presets/opencode/php-laravel/agents/integration-test-healer.md +17 -0
  852. package/presets/opencode/php-laravel/agents/integration-test-planner.md +17 -0
  853. package/presets/opencode/php-laravel/agents/migration-specialist.md +15 -0
  854. package/presets/opencode/php-laravel/agents/openspec-author.md +15 -0
  855. package/presets/opencode/php-laravel/agents/performance-auditor.md +15 -0
  856. package/presets/opencode/php-laravel/agents/qa-tester.md +18 -0
  857. package/presets/opencode/php-laravel/agents/security-reviewer.md +15 -0
  858. package/presets/opencode/php-laravel/agents/solution-architect.md +15 -0
  859. package/presets/opencode/php-laravel/agents/task-analyst.md +15 -0
  860. package/presets/opencode/php-laravel/agents/task-router.md +15 -0
  861. package/presets/opencode/php-laravel/agents/tech-writer.md +15 -0
  862. package/presets/opencode/php-laravel/agents/unit-test-generator.md +16 -0
  863. package/presets/opencode/php-laravel/agents/unit-test-healer.md +16 -0
  864. package/presets/opencode/php-laravel/agents/unit-test-planner.md +16 -0
  865. package/presets/opencode/php-laravel/opencode.json +14 -0
  866. package/presets/opencode/php-laravel/rules/README.md +7 -2
  867. package/presets/opencode/php-laravel/rules/preset-pr-checklist.md +2 -2
  868. package/presets/opencode/platform-contract.json +1 -1
  869. package/presets/opencode/svelte/OPENCODE.md +23 -2
  870. package/presets/opencode/svelte/REPO_AGENTS.md +1 -1
  871. package/presets/opencode/svelte/adapter-map.json +2 -2
  872. package/presets/opencode/svelte/agents/accessibility-reviewer.md +17 -0
  873. package/presets/opencode/svelte/agents/api-contract-reviewer.md +19 -0
  874. package/presets/opencode/svelte/agents/build-verifier.md +17 -0
  875. package/presets/opencode/svelte/agents/ci-investigator.md +34 -0
  876. package/presets/opencode/svelte/agents/code-reviewer.md +18 -0
  877. package/presets/opencode/svelte/agents/codebase-analyzer.md +17 -0
  878. package/presets/opencode/svelte/agents/debugger.md +34 -0
  879. package/presets/opencode/svelte/agents/feature-developer.md +34 -0
  880. package/presets/opencode/svelte/agents/migration-specialist.md +17 -0
  881. package/presets/opencode/svelte/agents/mockup-reviewer.md +17 -0
  882. package/presets/opencode/svelte/agents/openspec-author.md +17 -0
  883. package/presets/opencode/svelte/agents/performance-auditor.md +17 -0
  884. package/presets/opencode/svelte/agents/playwright-test-generator.md +19 -0
  885. package/presets/opencode/svelte/agents/playwright-test-healer.md +19 -0
  886. package/presets/opencode/svelte/agents/playwright-test-planner.md +19 -0
  887. package/presets/opencode/svelte/agents/qa-tester.md +20 -0
  888. package/presets/opencode/svelte/agents/security-reviewer.md +17 -0
  889. package/presets/opencode/svelte/agents/solution-architect.md +17 -0
  890. package/presets/opencode/svelte/agents/task-analyst.md +17 -0
  891. package/presets/opencode/svelte/agents/task-router.md +17 -0
  892. package/presets/opencode/svelte/agents/tech-writer.md +17 -0
  893. package/presets/opencode/svelte/agents/unit-test-generator.md +18 -0
  894. package/presets/opencode/svelte/agents/unit-test-healer.md +18 -0
  895. package/presets/opencode/svelte/agents/unit-test-planner.md +18 -0
  896. package/presets/opencode/svelte/opencode.json +19 -0
  897. package/presets/opencode/svelte/rules/README.md +7 -2
  898. package/presets/opencode/svelte/rules/preset-pr-checklist.md +2 -2
  899. package/scripts/check-claude-agent-blocks.mjs +82 -0
  900. package/scripts/check-local-overlay.sh +40 -4
  901. package/scripts/check-mavis-local-overlay.mjs +23 -0
  902. package/scripts/check-mavis-platform-contract.mjs +5 -2
  903. package/scripts/check-opencode-local-overlay.mjs +19 -0
  904. package/scripts/check-opencode-platform-contract.mjs +5 -2
  905. package/scripts/check-preset-structure.sh +9 -0
  906. package/scripts/check-preset-token-budget.sh +7 -0
  907. package/scripts/fixtures/cli-golden/claude/next.json +34 -33
  908. package/scripts/fixtures/cli-golden/cursor/next.json +9 -2
  909. package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +27 -27
  910. package/scripts/fixtures/cli-golden/mavis/go.json +25 -25
  911. package/scripts/fixtures/cli-golden/mavis/ios-swift.json +27 -27
  912. package/scripts/fixtures/cli-golden/mavis/java.json +25 -25
  913. package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +9 -9
  914. package/scripts/fixtures/cli-golden/mavis/next.json +34 -27
  915. package/scripts/fixtures/cli-golden/mavis/nuxt.json +27 -27
  916. package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +25 -25
  917. package/scripts/fixtures/cli-golden/mavis/php-laravel.json +25 -25
  918. package/scripts/fixtures/cli-golden/mavis/svelte.json +27 -27
  919. package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +29 -29
  920. package/scripts/fixtures/cli-golden/opencode/go.json +27 -27
  921. package/scripts/fixtures/cli-golden/opencode/ios-swift.json +29 -29
  922. package/scripts/fixtures/cli-golden/opencode/java.json +27 -27
  923. package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +11 -11
  924. package/scripts/fixtures/cli-golden/opencode/next.json +36 -29
  925. package/scripts/fixtures/cli-golden/opencode/nuxt.json +29 -29
  926. package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +27 -27
  927. package/scripts/fixtures/cli-golden/opencode/php-laravel.json +27 -27
  928. package/scripts/fixtures/cli-golden/opencode/svelte.json +29 -29
  929. package/scripts/inject-claude-agent-rules-block.mjs +83 -0
  930. package/scripts/lib/generate-adapter-common.mjs +182 -0
  931. package/scripts/lib/generate-mavis-adapter.mjs +55 -10
  932. package/scripts/lib/generate-opencode-adapter.mjs +76 -12
  933. package/scripts/lib/stack-platform-profiles.mjs +321 -1
  934. package/scripts/sync-claude-harness-wiring.mjs +56 -0
  935. package/scripts/sync-claude-settings.mjs +81 -0
  936. package/scripts/sync-dogfood-claude.sh +62 -0
  937. package/scripts/test-cli-mcp-merge.mjs +54 -0
  938. package/scripts/test-mavis-orchestration.mjs +3 -2
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Insert or replace the "## Rules to load (subagent context)" block in every
4
+ * Claude agent for every released stack. Claude presets are hand-maintained
5
+ * (no `generate-claude.mjs`); this codemod keeps parity with the opencode
6
+ * and mavis generators via `expectedRulesToLoadBlock`.
7
+ *
8
+ * Replaces an existing section in place (the block is refreshed when the
9
+ * profile changes). Only the section is rewritten; frontmatter fields and
10
+ * the agent body stay put.
11
+ *
12
+ * Usage: node scripts/inject-claude-agent-rules-block.mjs [--stack <name>]
13
+ * No flag → all released stacks (loaded from presets/opencode/platform-contract.json).
14
+ */
15
+ import fs from 'node:fs';
16
+ import path from 'node:path';
17
+ import { fileURLToPath } from 'node:url';
18
+ import {
19
+ expectedRulesToLoadBlock,
20
+ indexClaudeRuleStems,
21
+ loadReleasedStacks,
22
+ PLATFORM_RULES_INTRO,
23
+ upsertRulesToLoadBlock,
24
+ } from './lib/generate-adapter-common.mjs';
25
+ import { getStackProfile, getZoneRulesForAgent, parseStackArg } from './lib/stack-platform-profiles.mjs';
26
+
27
+ const scriptDirectory = path.dirname(fileURLToPath(import.meta.url));
28
+ const packageRoot = path.join(scriptDirectory, '..');
29
+ const presetsRoot = path.join(packageRoot, 'presets');
30
+
31
+ function inject(stack) {
32
+ const profile = getStackProfile(stack);
33
+ const claudeRulesDir = path.join(presetsRoot, 'claude', stack, 'rules');
34
+ const { availableStems, pathForStem } = indexClaudeRuleStems(claudeRulesDir);
35
+ const agentsDir = path.join(presetsRoot, 'claude', stack, 'agents');
36
+ if (!fs.existsSync(agentsDir)) {
37
+ console.log(`skip claude/${stack}: no agents dir`);
38
+ return;
39
+ }
40
+ let replaced = 0;
41
+ let inserted = 0;
42
+ let unchanged = 0;
43
+ for (const entry of fs.readdirSync(agentsDir)) {
44
+ if (!entry.endsWith('.md') || entry === 'README.md') continue;
45
+ const filePath = path.join(agentsDir, entry);
46
+ const text = fs.readFileSync(filePath, 'utf8');
47
+ const hadBlock = text.includes('## Rules to load (subagent context)');
48
+ const agentStem = entry.slice(0, -'.md'.length);
49
+ const block = expectedRulesToLoadBlock({
50
+ rulesPath: '.claude/rules',
51
+ alwaysOn: profile.alwaysOn,
52
+ zoneRules: getZoneRulesForAgent(stack, agentStem),
53
+ availableStems,
54
+ intro: PLATFORM_RULES_INTRO.claude,
55
+ pathForStem,
56
+ });
57
+ const next = upsertRulesToLoadBlock(text, block);
58
+ if (!next) {
59
+ console.warn(`WARN claude/${stack}/${entry}: missing frontmatter; skipping`);
60
+ continue;
61
+ }
62
+ if (next === text) {
63
+ unchanged += 1;
64
+ continue;
65
+ }
66
+ fs.writeFileSync(filePath, next);
67
+ if (hadBlock) replaced += 1;
68
+ else inserted += 1;
69
+ }
70
+ console.log(
71
+ `claude/${stack}: replaced ${replaced}, inserted ${inserted}, unchanged ${unchanged}`,
72
+ );
73
+ }
74
+
75
+ function main() {
76
+ const explicitStack = parseStackArg(process.argv.slice(2), { required: false });
77
+ const stacks = explicitStack ? [explicitStack] : loadReleasedStacks(presetsRoot, 'opencode');
78
+ for (const stack of stacks) {
79
+ inject(stack);
80
+ }
81
+ }
82
+
83
+ main();
@@ -402,3 +402,185 @@ export function strongTierCell(profile) {
402
402
  }
403
403
  return base;
404
404
  }
405
+
406
+ /**
407
+ * Short glosses for the rule stems most commonly cited in subagent prompts.
408
+ * Glosses are stack-neutral; per-platform stems (e.g. `react-ui`) only appear in
409
+ * the stacks that ship them.
410
+ */
411
+ const RULE_GLOSS = {
412
+ 'architecture-boundaries': 'layer boundaries and allowed imports',
413
+ 'public-imports': '@/types, @/api barrels',
414
+ 'react-ui': 'UI component style (no FC, no spread, decomposition)',
415
+ 'store-rtk': 'Redux Toolkit patterns',
416
+ 'react-next-anti-hallucination': 'phantom import banlist',
417
+ 'feature-delivery-workflow': 'layer order, mockup gate, ux-design gate',
418
+ 'reference-features': 'analog files first',
419
+ 'anti-sycophancy-discipline': 'procedural anti-sycophancy rules',
420
+ 'post-change-lint': 'lint/type-check after code edits',
421
+ 'mcp-usage': 'when verifying third-party APIs (Context7)',
422
+ };
423
+
424
+ export const RULES_TO_LOAD_HEADING = '## Rules to load (subagent context)';
425
+
426
+ const RULES_TO_LOAD_CLOSING_PREFIX = 'Also read matching ';
427
+
428
+ /** Platform intro lines. One string per adapter so generators, the Claude codemod, and CI cannot drift. */
429
+ export const PLATFORM_RULES_INTRO = {
430
+ claude:
431
+ 'This subagent does **not** inherit the parent session context or `CLAUDE.md`. Read these rules explicitly before acting:',
432
+ opencode:
433
+ 'This subagent does **not** inherit `opencode.json` `instructions`. Read these rules explicitly before acting:',
434
+ mavis:
435
+ 'This subagent runs standalone (`mcode exec --file`) and inherits no global context. Read these rules explicitly before acting:',
436
+ };
437
+
438
+ /**
439
+ * Build the "## Rules to load (subagent context)" block injected into every
440
+ * generated agent. Subagents (OpenCode `Task`, Mavis `mcode exec --file`,
441
+ * Claude Code subagents) start blank and inherit no always-on context, so this
442
+ * block enumerates the rules the agent must Read explicitly before acting.
443
+ *
444
+ * Filtered to stems that exist for the stack (caller passes `availableStems`).
445
+ * Always-on rules are listed first, then zone rules. Bullet text is produced
446
+ * only here — callers use `expectedRulesToLoadBlock`.
447
+ *
448
+ * @param {{
449
+ * rulesPath: string, // flat rules dir, e.g. '.opencode/rules' or '.mavis/rules'.
450
+ * // Ignored when `pathForStem` is provided.
451
+ * alwaysOn: string[],
452
+ * zoneRules: string[],
453
+ * availableStems: Set<string>,
454
+ * intro: string, // platform-specific single-sentence intro line
455
+ * pathForStem?: (stem: string) => string | undefined, // Claude uses nested layout
456
+ * }} params
457
+ */
458
+ export function buildRulesToLoadBlock({
459
+ rulesPath,
460
+ alwaysOn,
461
+ zoneRules,
462
+ availableStems,
463
+ intro,
464
+ pathForStem,
465
+ }) {
466
+ const seen = new Set();
467
+ const ordered = [];
468
+ for (const stem of [...(alwaysOn || []), ...(zoneRules || [])]) {
469
+ if (seen.has(stem)) continue;
470
+ if (!availableStems.has(stem)) continue;
471
+ seen.add(stem);
472
+ ordered.push(stem);
473
+ }
474
+ const bullets = ordered
475
+ .map((stem) => {
476
+ const gloss = RULE_GLOSS[stem];
477
+ const resolved = typeof pathForStem === 'function' ? pathForStem(stem) : undefined;
478
+ const ref = resolved || `${rulesPath}/${stem}.md`;
479
+ return gloss ? `- \`${ref}\` — ${gloss}` : `- \`${ref}\``;
480
+ })
481
+ .join('\n');
482
+ return [
483
+ RULES_TO_LOAD_HEADING,
484
+ '',
485
+ intro,
486
+ '',
487
+ bullets,
488
+ '',
489
+ 'Also read matching `.ai.local/rules/*.md` (local overlay) for the active zone, and the project strict rules if present.',
490
+ ].join('\n');
491
+ }
492
+
493
+ /**
494
+ * Expected «Rules to load» block for one agent. Generators, the Claude inject
495
+ * codemod, and `check-claude-agent-blocks` all call this so bullet text cannot
496
+ * fork. `zoneRules` is the already-resolved list (profile zones, or
497
+ * `getZoneRulesForAgent` once roles apply).
498
+ */
499
+ export function expectedRulesToLoadBlock(params) {
500
+ return buildRulesToLoadBlock(params);
501
+ }
502
+
503
+ const CLAUDE_MAPPING_ROW = /^\|\s*`([^`]+?\.mdc)`\s*\|\s*`([^`]+?\.md)`\s*\|/;
504
+
505
+ /**
506
+ * Cursor stem → Claude topic path, from `rules/README.md` «Cursor → Claude mapping».
507
+ * Filename stems are not enough: twins such as `code-quality.md` keep the
508
+ * Cursor stem `code-quality-and-refactoring`. A row counts only when the file exists.
509
+ */
510
+ export function indexClaudeRuleStems(claudeRulesDir) {
511
+ const stemToRelPath = new Map();
512
+ const availableStems = new Set();
513
+ const readmePath = path.join(claudeRulesDir, 'README.md');
514
+ if (fs.existsSync(readmePath)) {
515
+ let section = fs.readFileSync(readmePath, 'utf8');
516
+ const marker = '## Cursor → Claude mapping';
517
+ const markerAt = section.indexOf(marker);
518
+ if (markerAt >= 0) {
519
+ section = section.slice(markerAt);
520
+ const nextHeading = section.slice(marker.length).search(/\n## (?!#)/);
521
+ if (nextHeading >= 0) {
522
+ section = section.slice(0, marker.length + nextHeading);
523
+ }
524
+ }
525
+ for (const line of section.split('\n')) {
526
+ const match = line.match(CLAUDE_MAPPING_ROW);
527
+ if (!match) continue;
528
+ const stem = match[1].slice(0, -'.mdc'.length);
529
+ const relPath = match[2];
530
+ if (!fs.existsSync(path.join(claudeRulesDir, relPath))) continue;
531
+ if (!stemToRelPath.has(stem)) {
532
+ stemToRelPath.set(stem, relPath);
533
+ availableStems.add(stem);
534
+ }
535
+ }
536
+ }
537
+ const pathForStem = (stem) => {
538
+ const rel = stemToRelPath.get(stem);
539
+ return rel ? `.claude/rules/${rel}` : undefined;
540
+ };
541
+ return { availableStems, pathForStem };
542
+ }
543
+
544
+ /** Section from the heading through the closing "Also read matching" line, or ''. */
545
+ export function extractRulesToLoadBlock(text) {
546
+ const start = text.indexOf(RULES_TO_LOAD_HEADING);
547
+ if (start < 0) return '';
548
+ const lines = text.slice(start).split('\n');
549
+ const end = lines.findIndex((line) => line.startsWith(RULES_TO_LOAD_CLOSING_PREFIX));
550
+ if (end < 0) return '';
551
+ return lines.slice(0, end + 1).join('\n');
552
+ }
553
+
554
+ /**
555
+ * Insert or replace the rules block immediately after YAML frontmatter.
556
+ * Returns null when the opening `---` is missing. Repairs a missing closer
557
+ * when a previous insert left the heading inside the frontmatter.
558
+ * Does not rewrite the agent body.
559
+ */
560
+ export function upsertRulesToLoadBlock(markdown, block) {
561
+ if (!markdown.startsWith('---\n')) return null;
562
+ const rest = markdown.slice(4);
563
+ const headingAt = rest.indexOf(`\n${RULES_TO_LOAD_HEADING}`);
564
+ const closeAt = rest.indexOf('\n---\n');
565
+ let frontmatter;
566
+ let body;
567
+ if (closeAt >= 0 && (headingAt < 0 || closeAt < headingAt)) {
568
+ frontmatter = rest.slice(0, closeAt).replace(/\s+$/, '');
569
+ body = rest.slice(closeAt + '\n---\n'.length).replace(/^\n/, '');
570
+ } else if (headingAt >= 0) {
571
+ frontmatter = rest.slice(0, headingAt).replace(/\s+$/, '');
572
+ body = rest.slice(headingAt + 1);
573
+ } else {
574
+ return null;
575
+ }
576
+ const existing = extractRulesToLoadBlock(body);
577
+ if (existing) {
578
+ const at = body.indexOf(existing);
579
+ const before = body.slice(0, at).replace(/\s+$/, '');
580
+ const after = body.slice(at + existing.length).replace(/^\n+/, '');
581
+ body = `${before ? `${before}\n\n` : ''}${block}\n\n${after}`;
582
+ } else {
583
+ body = `${block}\n\n${body.replace(/^\n+/, '')}`;
584
+ }
585
+ return `---\n${frontmatter}\n---\n\n${body}`.replace(/\s+$/, '\n');
586
+ }
@@ -5,6 +5,8 @@ import fs from 'node:fs';
5
5
  import path from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import {
8
+ expectedRulesToLoadBlock,
9
+ PLATFORM_RULES_INTRO,
8
10
  countAgentRoleFiles,
9
11
  deriveAdapterStack,
10
12
  dropLeadingHeading,
@@ -25,7 +27,7 @@ import {
25
27
  stripFrontmatter,
26
28
  stripInstallSection,
27
29
  } from './generate-adapter-common.mjs';
28
- import { getStackProfile, parseStackArg } from './stack-platform-profiles.mjs';
30
+ import { getStackProfile, getZoneRulesForAgent, parseStackArg } from './stack-platform-profiles.mjs';
29
31
 
30
32
  const libDirectory = path.dirname(fileURLToPath(import.meta.url));
31
33
  const packageRoot = path.join(libDirectory, '..', '..');
@@ -164,15 +166,35 @@ Do not write \`~/.minimax/**\`.
164
166
  - Roles: \`mcode exec --file .mavis/agents/<role>.md --output-format json\`.
165
167
  - Commands: natural-language procedures in \`.mavis/commands/\`, or
166
168
  \`mcode exec --file .mavis/commands/task.md "<task>"\`.
167
- - After a producer receipt, run \`bash .mavis/hooks/chain-team-phases.sh\`.
169
+ - After a producer receipt, run the chain by hand (\`projectHooks\` is \`manual\`, not auto-registered):
170
+ \`printf '%s\\n' '{"status":"completed"}' | bash .mavis/hooks/chain-team-phases.sh\`.
171
+ Procedures: \`mcode exec --file .mavis/commands/<name>.md\`. Roles: \`mcode exec --file .mavis/agents/<role>.md\`.
168
172
  Agents must not write lifecycle fields in \`status.json\` / \`metrics.json\`.
169
173
 
170
174
  ## Essential rules (read every turn)
171
175
 
172
176
  ${essential}
173
177
 
178
+ Every turn, probe \`ls -la .ai.local\`, then apply \`.ai.local/rules/*.md\` and
179
+ \`.ai.local/conventions.md\`. Acknowledge \`Using .ai.local: <rule-name>\`.
180
+ Guide: \`docs/LOCAL-OVERLAY.md\`. These essential rules are a prompt contract.
181
+ \`nativeProjectRules\` is \`unknown\` — do not claim engine \`alwaysApply\`.
182
+
174
183
  See \`.mavis/rules/README.md\` for the full catalog and loading strategy.
175
184
 
185
+ ## Harness wiring
186
+
187
+ - **Subagent rules** are re-declared inside every \`.mavis/agents/*.md\` via
188
+ the \`## Rules to load (subagent context)\` block (always-on + zone rules
189
+ filtered to stems that exist for this stack). Subagents run via
190
+ \`mcode exec --file\` and inherit no global context, so the block is the
191
+ authoritative mechanism.
192
+ - **MiniMax Code has no permission/instructions config schema** (no analog
193
+ of OpenCode's \`opencode.json\` \`permission.bash\` or Claude Code's
194
+ \`.claude/settings.json\`). Universal \`git commit/push deny\` and
195
+ package-manager guards live in the agent prompt bodies; harness-level
196
+ enforcement is intentionally omitted.
197
+
176
198
  **Platform docs:** published with the \`@bonesofspring/ai-rules\` package
177
199
  (\`docs/MAVIS.md\`, \`docs/MAVIS-COMPATIBILITY.md\`) — **not** copied into
178
200
  the consumer repo. Source: https://github.com/bonesofspring/ai-rules
@@ -188,6 +210,8 @@ npx @bonesofspring/ai-rules init mavis --preset ${stack}
188
210
  Copies rules, commands, agents, hooks, skills, \`MAVIS.md\` → \`.mavis/AGENTS.md\`,
189
211
  \`MCP.md\`, \`mcp.json\` → \`.mavis/mcp.json\`, plus \`REPO_AGENTS.md\` → root \`AGENTS.md\`.
190
212
  Seeds \`.ai.local/team/\`.
213
+ \`freshInit\` is \`unknown\`: \`mcode init\` is TTY-only and a live first \`init mavis\` is not verified.
214
+ MCP mode is \`fallback-manual-import\`: import \`.mavis/mcp.json\` in the MiniMax Code UI. Do not write \`~/.minimax/**\`.
191
215
  ${skillsLine}
192
216
  `;
193
217
  }
@@ -345,6 +369,16 @@ export function generateMavisStack(stack, { root = packageRoot } = {}) {
345
369
  const alwaysOn = new Set(profile.alwaysOn);
346
370
  const rewriteProse = (text) => finalizeMavisProse(text, stack);
347
371
 
372
+ const cursorRulesDir = path.join(root, 'presets', 'cursor', stack, 'rules');
373
+ const availableStems = new Set();
374
+ if (fs.existsSync(cursorRulesDir)) {
375
+ for (const entry of fs.readdirSync(cursorRulesDir)) {
376
+ if (entry.endsWith('.mdc')) {
377
+ availableStems.add(entry.slice(0, -'.mdc'.length));
378
+ }
379
+ }
380
+ }
381
+
348
382
  return deriveAdapterStack({
349
383
  platform: 'mavis',
350
384
  stack,
@@ -400,14 +434,25 @@ export function generateMavisStack(stack, { root = packageRoot } = {}) {
400
434
  },
401
435
  {
402
436
  match: (source) => source.startsWith('agents/') && source.endsWith('.md'),
403
- map: ({ source, sourceText }) => ({
404
- target: source,
405
- content: transformMarkdown(sourceText, stack, { allowEmbedEntry: false }),
406
- category: 'agents',
407
- disposition: 'transform',
408
- loadMode: 'manual',
409
- reason: 'Native workspace agent discovery is unknown; attach with mcode exec --file',
410
- }),
437
+ map: ({ source, sourceText }) => {
438
+ const body = transformMarkdown(sourceText, stack, { allowEmbedEntry: false });
439
+ const stem = path.basename(source, '.md');
440
+ const rulesBlock = expectedRulesToLoadBlock({
441
+ rulesPath: '.mavis/rules',
442
+ alwaysOn: profile.alwaysOn,
443
+ zoneRules: getZoneRulesForAgent(stack, stem),
444
+ availableStems,
445
+ intro: PLATFORM_RULES_INTRO.mavis,
446
+ });
447
+ return {
448
+ target: source,
449
+ content: `${rulesBlock}\n\n${body}`,
450
+ category: 'agents',
451
+ disposition: 'transform',
452
+ loadMode: 'manual',
453
+ reason: 'Native workspace agent discovery is unknown; attach with mcode exec --file',
454
+ };
455
+ },
411
456
  },
412
457
  {
413
458
  match: (source) => source.startsWith('skills/') && source.endsWith('/SKILL.md'),
@@ -5,6 +5,8 @@ import fs from 'node:fs';
5
5
  import path from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import {
8
+ expectedRulesToLoadBlock,
9
+ PLATFORM_RULES_INTRO,
8
10
  countAgentRoleFiles,
9
11
  deriveAdapterStack,
10
12
  dropLeadingHeading,
@@ -27,6 +29,7 @@ import {
27
29
  } from './generate-adapter-common.mjs';
28
30
  import {
29
31
  AGENT_WRITE_SCOPES,
32
+ getZoneRulesForAgent,
30
33
  getStackProfile,
31
34
  parseStackArg,
32
35
  REVIEW_AGENTS,
@@ -131,7 +134,7 @@ function yamlEditPermission(canEditProduction, extraScopes) {
131
134
  return `permission:\n edit:\n "*": deny\n${globLines}`;
132
135
  }
133
136
 
134
- function transformAgent(source, sourceText, stack, developerAgents) {
137
+ function transformAgent(source, sourceText, stack, developerAgents, profile, availableStems) {
135
138
  const { frontmatter, body } = stripFrontmatter(sourceText);
136
139
  const fields = parseFrontmatterFields(frontmatter);
137
140
  const stem = path.basename(source, '.md');
@@ -141,7 +144,14 @@ function transformAgent(source, sourceText, stack, developerAgents) {
141
144
  const description = fields.description || stem;
142
145
  const header = `---\nname: ${stem}\ndescription: ${yamlString(description)}\nmode: subagent\n${permission}\n---\n\n`;
143
146
  const transformed = finalizeOpencodeProse(body, stack);
144
- let withNote = transformed;
147
+ const rulesBlock = expectedRulesToLoadBlock({
148
+ rulesPath: '.opencode/rules',
149
+ alwaysOn: profile?.alwaysOn ?? [],
150
+ zoneRules: getZoneRulesForAgent(stack, stem),
151
+ availableStems: availableStems ?? new Set(),
152
+ intro: PLATFORM_RULES_INTRO.opencode,
153
+ });
154
+ let withNote = `${rulesBlock}\n\n${transformed}`;
145
155
  if (!canEditProduction) {
146
156
  let leadIn;
147
157
  if (extraScopes.length > 0) {
@@ -152,7 +162,7 @@ function transformAgent(source, sourceText, stack, developerAgents) {
152
162
  } else {
153
163
  leadIn = 'Write only team artifacts under `.ai.local/team/**`. Do not edit production code.';
154
164
  }
155
- withNote = `${leadIn}\n\n${transformed}`;
165
+ withNote = `${leadIn}\n\n${rulesBlock}\n\n${transformed}`;
156
166
  }
157
167
  return `${header}${withNote.endsWith('\n') ? withNote : `${withNote}\n`}`;
158
168
  }
@@ -188,7 +198,7 @@ function transformCommand(sourceText, stack) {
188
198
  return `${header}${next.endsWith('\n') ? next : `${next}\n`}`;
189
199
  }
190
200
 
191
- function cursorMcpToOpencode(sourceText) {
201
+ function cursorMcpToOpencode(sourceText, profile, availableStems) {
192
202
  const parsed = JSON.parse(sourceText);
193
203
  const mcp = {};
194
204
  for (const [id, server] of Object.entries(parsed.mcpServers || {})) {
@@ -208,7 +218,25 @@ function cursorMcpToOpencode(sourceText) {
208
218
  mcp[id] = mapped;
209
219
  }
210
220
  }
211
- return `${JSON.stringify({ $schema: 'https://opencode.ai/config.json', mcp }, null, 2)}\n`;
221
+ // Compact instructions: always-on rule paths + .opencode/AGENTS.md (root
222
+ // AGENTS.md is auto-loaded natively). Filter to stems that exist for the
223
+ // stack so consumers don't see phantom references. Permission.bash enforces
224
+ // the harness-level "no commit/push" and JS-stack package-manager rules.
225
+ // mergeOpencodeConfig unions preset instruction paths and fills missing
226
+ // bash keys on re-init; consumer extras and same-key overrides win.
227
+ const instructions = [
228
+ '.opencode/AGENTS.md',
229
+ ...(profile?.alwaysOn ?? [])
230
+ .filter((stem) => availableStems?.has(stem))
231
+ .map((stem) => `.opencode/rules/${stem}.md`),
232
+ ];
233
+ const out = {
234
+ $schema: 'https://opencode.ai/config.json',
235
+ instructions,
236
+ permission: { bash: profile?.bashPermission ?? {} },
237
+ mcp,
238
+ };
239
+ return `${JSON.stringify(out, null, 2)}\n`;
212
240
  }
213
241
 
214
242
  function opencodeEntryTitle(sourceText) {
@@ -244,15 +272,35 @@ Root \`AGENTS.md\` is native always-on. Read it first, then this file.
244
272
  - Other rules: lazy \`Read\` \`.opencode/rules/<stem>.md\` when the task matches.
245
273
  - Agents: native \`@name\` / Task from \`.opencode/agents/\`.
246
274
  - Commands: native \`/task\` from \`.opencode/commands/\`.
247
- - After a producer receipt, run \`bash .opencode/hooks/chain-team-phases.sh\`.
275
+ - After a producer receipt, run the chain by hand (\`projectHooks\` is \`manual\`; this preset ships no plugin):
276
+ \`printf '%s\\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh\`.
277
+ Slash commands are native (\`/task\` from \`.opencode/commands/\`). Do not assume \`SubagentStop\` auto-chain.
248
278
  Agents must not write lifecycle fields in \`status.json\` / \`metrics.json\`.
249
279
 
250
280
  ## Essential rules (read every turn)
251
281
 
252
282
  ${essential}
253
283
 
284
+ Every turn, probe \`ls -la .ai.local\`, then apply \`.ai.local/rules/*.md\` and
285
+ \`.ai.local/conventions.md\`. Acknowledge \`Using .ai.local: <rule-name>\`.
286
+ Guide: \`docs/LOCAL-OVERLAY.md\`. These essential rules are a prompt contract.
287
+ \`nativeProjectRules\` is \`no-equivalent\` — do not claim engine \`alwaysApply\`.
288
+
254
289
  See \`.opencode/rules/README.md\` for the full catalog and loading strategy.
255
290
 
291
+ ## Harness wiring
292
+
293
+ - \`opencode.json\` carries a compact \`instructions\` list (always-on rule
294
+ paths + \`.opencode/AGENTS.md\`) and a harness-level \`permission.bash\`
295
+ block. On re-init, \`mergeOpencodeConfig\` unions preset instruction paths
296
+ into the consumer list and fills missing bash keys. Extra paths and
297
+ same-key overrides stay.
298
+ - **Subagent rules** are re-declared inside every \`.opencode/agents/*.md\`
299
+ via the \`## Rules to load (subagent context)\` block (always-on + zone
300
+ rules filtered to stems that exist for this stack). \`Task\`-launched
301
+ subagents do not inherit the parent's \`instructions\`, so this block
302
+ is the authoritative mechanism.
303
+
256
304
  **Platform docs:** published with the \`@bonesofspring/ai-rules\` package
257
305
  (\`docs/OPENCODE.md\`, \`docs/OPENCODE-COMPATIBILITY.md\`) — **not** copied into
258
306
  the consumer repo. Source: https://github.com/bonesofspring/ai-rules
@@ -267,7 +315,8 @@ npx @bonesofspring/ai-rules init opencode --preset ${stack}
267
315
 
268
316
  Copies rules, commands, agents, hooks, skills, \`OPENCODE.md\` →
269
317
  \`.opencode/AGENTS.md\`, \`MCP.md\`, \`opencode.json\` → project \`opencode.json\`
270
- (\`mcp\` merge), plus \`REPO_AGENTS.md\` → root \`AGENTS.md\`. Seeds \`.ai.local/team/\`.
318
+ (\`mcp\` merge, instruction-path union, missing bash keys), plus
319
+ \`REPO_AGENTS.md\` → root \`AGENTS.md\`. Seeds \`.ai.local/team/\`.
271
320
  `;
272
321
  }
273
322
 
@@ -377,8 +426,13 @@ Plain Markdown. OpenCode does **not** auto-load these files. Root \`AGENTS.md\`
377
426
  and \`.opencode/AGENTS.md\` list four essential paths to Read immediately; the
378
427
  rest are lazy-loaded when the task matches.
379
428
 
380
- Do not put this catalog into \`opencode.json\` \`instructions\` as the only
381
- always-on path (V2 may ignore that field).
429
+ Subagent tasks (\`Task\`/\`@name\`) start blank and never read these rule files;
430
+ the **authoritative** mechanism is the \`## Rules to load (subagent context)\`
431
+ block injected into every \`.opencode/agents/*.md\`. The preset also adds a
432
+ compact \`opencode.json\` \`instructions\` list (alwaysOn paths +
433
+ \`.opencode/AGENTS.md\`) as a hedge for the parent context, with
434
+ \`bin/opencode-install.js\` filling-if-absent on re-init; do **not** treat
435
+ \`instructions\` as the only always-on path (V2 may ignore the field).
382
436
 
383
437
  ## Essential (entry-critical)
384
438
 
@@ -427,6 +481,16 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
427
481
  const developerAgents = new Set(profile.developerAgents);
428
482
  const rewriteProse = (text) => finalizeOpencodeProse(text, stack);
429
483
 
484
+ const cursorRulesDir = path.join(root, 'presets', 'cursor', stack, 'rules');
485
+ const availableStems = new Set();
486
+ if (fs.existsSync(cursorRulesDir)) {
487
+ for (const entry of fs.readdirSync(cursorRulesDir)) {
488
+ if (entry.endsWith('.mdc')) {
489
+ availableStems.add(entry.slice(0, -'.mdc'.length));
490
+ }
491
+ }
492
+ }
493
+
430
494
  return deriveAdapterStack({
431
495
  platform: 'opencode',
432
496
  stack,
@@ -484,7 +548,7 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
484
548
  match: (source) => source.startsWith('agents/') && source.endsWith('.md'),
485
549
  map: ({ source, sourceText }) => ({
486
550
  target: source,
487
- content: transformAgent(source, sourceText, stack, developerAgents),
551
+ content: transformAgent(source, sourceText, stack, developerAgents, profile, availableStems),
488
552
  category: 'agents',
489
553
  disposition: 'transform',
490
554
  loadMode: 'native-team',
@@ -534,11 +598,11 @@ export function generateOpencodeStack(stack, { root = packageRoot } = {}) {
534
598
  match: (source) => source === 'mcp.json',
535
599
  map: ({ sourceText }) => ({
536
600
  target: 'opencode.json',
537
- content: cursorMcpToOpencode(sourceText),
601
+ content: cursorMcpToOpencode(sourceText, profile, availableStems),
538
602
  category: 'mcp',
539
603
  disposition: 'transform',
540
604
  loadMode: 'manual',
541
- reason: 'Cursor mcp.json → opencode.json mcp (local/remote types)',
605
+ reason: 'Cursor mcp.json → opencode.json mcp (local/remote types); emits permission.bash + compact instructions',
542
606
  }),
543
607
  },
544
608
  {