@bonesofspring/ai-rules 0.2.23 → 0.2.24

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 (285) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +5 -1
  3. package/bin/cli.js +32 -9
  4. package/bin/opencode-install.js +531 -0
  5. package/package.json +10 -3
  6. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +2 -2
  7. package/presets/_shared/core/meta/preset-layering.md +3 -3
  8. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +1 -1
  9. package/presets/_shared/core/meta/preset-pr-checklist.md +4 -3
  10. package/presets/_shared/core/meta/preset-token-budget.md +3 -0
  11. package/presets/_shared/core/meta/preset-twin-sync.md +16 -0
  12. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +3 -3
  13. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  14. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  15. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +3 -0
  16. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +16 -0
  17. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +3 -3
  18. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  19. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  20. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +3 -0
  21. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +16 -0
  22. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +3 -3
  23. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  24. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  25. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +3 -0
  26. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +16 -0
  27. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +3 -3
  28. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  29. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  30. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +3 -0
  31. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +16 -0
  32. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +3 -3
  33. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  34. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  35. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +3 -0
  36. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +16 -0
  37. package/presets/claude/next/REPO_AGENTS.md +10 -5
  38. package/presets/claude/next/agents/build-verifier.md +3 -1
  39. package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +1 -1
  40. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +3 -3
  41. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  42. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  43. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +3 -0
  44. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +16 -0
  45. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +3 -3
  46. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  47. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  48. package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +3 -0
  49. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +16 -0
  50. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +3 -3
  51. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  52. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  53. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +3 -0
  54. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +16 -0
  55. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +3 -3
  56. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  57. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  58. package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +3 -0
  59. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +16 -0
  60. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +3 -3
  61. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  62. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +4 -3
  63. package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +3 -0
  64. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +16 -0
  65. package/presets/cursor/android-kotlin/rules/preset-layering.mdc +3 -3
  66. package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +1 -1
  67. package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +4 -3
  68. package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +3 -0
  69. package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +16 -0
  70. package/presets/cursor/go/rules/preset-layering.mdc +3 -3
  71. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +1 -1
  72. package/presets/cursor/go/rules/preset-pr-checklist.mdc +4 -3
  73. package/presets/cursor/go/rules/preset-token-budget.mdc +3 -0
  74. package/presets/cursor/go/rules/preset-twin-sync.mdc +16 -0
  75. package/presets/cursor/ios-swift/rules/preset-layering.mdc +3 -3
  76. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +1 -1
  77. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +4 -3
  78. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +3 -0
  79. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +16 -0
  80. package/presets/cursor/java/rules/preset-layering.mdc +3 -3
  81. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +1 -1
  82. package/presets/cursor/java/rules/preset-pr-checklist.mdc +4 -3
  83. package/presets/cursor/java/rules/preset-token-budget.mdc +3 -0
  84. package/presets/cursor/java/rules/preset-twin-sync.mdc +16 -0
  85. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +3 -3
  86. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +1 -1
  87. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +4 -3
  88. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +3 -0
  89. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +16 -0
  90. package/presets/cursor/next/REPO_AGENTS.md +10 -5
  91. package/presets/cursor/next/agents/build-verifier.md +3 -1
  92. package/presets/cursor/next/rules/ai-local-overlay.mdc +1 -1
  93. package/presets/cursor/next/rules/preset-layering.mdc +3 -3
  94. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +1 -1
  95. package/presets/cursor/next/rules/preset-pr-checklist.mdc +4 -3
  96. package/presets/cursor/next/rules/preset-token-budget.mdc +3 -0
  97. package/presets/cursor/next/rules/preset-twin-sync.mdc +16 -0
  98. package/presets/cursor/nuxt/rules/preset-layering.mdc +3 -3
  99. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +1 -1
  100. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +4 -3
  101. package/presets/cursor/nuxt/rules/preset-token-budget.mdc +3 -0
  102. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +16 -0
  103. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +3 -3
  104. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +1 -1
  105. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +4 -3
  106. package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +3 -0
  107. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +16 -0
  108. package/presets/cursor/php-laravel/rules/preset-layering.mdc +3 -3
  109. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +1 -1
  110. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +4 -3
  111. package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +3 -0
  112. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +16 -0
  113. package/presets/cursor/svelte/rules/preset-layering.mdc +3 -3
  114. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +1 -1
  115. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +4 -3
  116. package/presets/cursor/svelte/rules/preset-token-budget.mdc +3 -0
  117. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +16 -0
  118. package/presets/mavis/next/REPO_AGENTS.md +9 -7
  119. package/presets/mavis/next/adapter-map.json +1 -1
  120. package/presets/mavis/next/agents/build-verifier.md +3 -1
  121. package/presets/mavis/next/rules/agent-team-orchestrator.md +2 -2
  122. package/presets/mavis/next/rules/ai-local-overlay.md +1 -1
  123. package/presets/mavis/next/rules/preset-layering.md +3 -3
  124. package/presets/mavis/next/rules/preset-no-cross-stack-leakage.md +1 -1
  125. package/presets/mavis/next/rules/preset-pr-checklist.md +4 -3
  126. package/presets/mavis/next/rules/preset-token-budget.md +3 -0
  127. package/presets/mavis/next/rules/preset-twin-sync.md +16 -0
  128. package/presets/opencode/README.md +61 -0
  129. package/presets/opencode/next/MCP.md +36 -0
  130. package/presets/opencode/next/OPENCODE.md +65 -0
  131. package/presets/opencode/next/README.md +16 -0
  132. package/presets/opencode/next/REPO_AGENTS.md +97 -0
  133. package/presets/opencode/next/adapter-map.json +959 -0
  134. package/presets/opencode/next/agents/README.md +201 -0
  135. package/presets/opencode/next/agents/accessibility-reviewer.md +73 -0
  136. package/presets/opencode/next/agents/api-contract-reviewer.md +69 -0
  137. package/presets/opencode/next/agents/build-verifier.md +124 -0
  138. package/presets/opencode/next/agents/ci-investigator.md +71 -0
  139. package/presets/opencode/next/agents/code-reviewer.md +73 -0
  140. package/presets/opencode/next/agents/codebase-analyzer.md +33 -0
  141. package/presets/opencode/next/agents/debugger.md +88 -0
  142. package/presets/opencode/next/agents/feature-developer.md +109 -0
  143. package/presets/opencode/next/agents/migration-specialist.md +79 -0
  144. package/presets/opencode/next/agents/mockup-reviewer.md +65 -0
  145. package/presets/opencode/next/agents/openspec-author.md +169 -0
  146. package/presets/opencode/next/agents/performance-auditor.md +80 -0
  147. package/presets/opencode/next/agents/playwright-test-generator.md +36 -0
  148. package/presets/opencode/next/agents/playwright-test-healer.md +36 -0
  149. package/presets/opencode/next/agents/playwright-test-planner.md +33 -0
  150. package/presets/opencode/next/agents/qa-tester.md +60 -0
  151. package/presets/opencode/next/agents/security-reviewer.md +66 -0
  152. package/presets/opencode/next/agents/solution-architect.md +80 -0
  153. package/presets/opencode/next/agents/task-analyst.md +178 -0
  154. package/presets/opencode/next/agents/task-router.md +190 -0
  155. package/presets/opencode/next/agents/tech-writer.md +69 -0
  156. package/presets/opencode/next/agents/unit-test-generator.md +39 -0
  157. package/presets/opencode/next/agents/unit-test-healer.md +40 -0
  158. package/presets/opencode/next/agents/unit-test-planner.md +66 -0
  159. package/presets/opencode/next/commands/README.md +49 -0
  160. package/presets/opencode/next/commands/spec-start.md +32 -0
  161. package/presets/opencode/next/commands/task-continue.md +58 -0
  162. package/presets/opencode/next/commands/task.md +58 -0
  163. package/presets/opencode/next/commands/technical-retro.md +88 -0
  164. package/presets/opencode/next/hooks/README.md +22 -0
  165. package/presets/opencode/next/hooks/chain-team-phases.sh +845 -0
  166. package/presets/opencode/next/opencode.json +33 -0
  167. package/presets/opencode/next/rules/README.md +20 -0
  168. package/presets/opencode/next/rules/agent-team-intake.md +11 -0
  169. package/presets/opencode/next/rules/agent-team-orchestrator.md +214 -0
  170. package/presets/opencode/next/rules/ai-local-overlay.md +37 -0
  171. package/presets/opencode/next/rules/anti-sycophancy-discipline.md +23 -0
  172. package/presets/opencode/next/rules/api-services.md +72 -0
  173. package/presets/opencode/next/rules/architecture-boundaries-ui.md +9 -0
  174. package/presets/opencode/next/rules/architecture-boundaries.md +86 -0
  175. package/presets/opencode/next/rules/arrow-functions.md +25 -0
  176. package/presets/opencode/next/rules/code-quality-and-refactoring.md +40 -0
  177. package/presets/opencode/next/rules/code-review-mr.md +40 -0
  178. package/presets/opencode/next/rules/css-property-order-stylelint.md +5 -0
  179. package/presets/opencode/next/rules/design-guidance.md +99 -0
  180. package/presets/opencode/next/rules/feature-delivery-workflow.md +49 -0
  181. package/presets/opencode/next/rules/http-client.md +55 -0
  182. package/presets/opencode/next/rules/layer-barrel-exports.md +68 -0
  183. package/presets/opencode/next/rules/mcp-usage.md +86 -0
  184. package/presets/opencode/next/rules/mockup-review.md +107 -0
  185. package/presets/opencode/next/rules/navigation-router-stack.md +56 -0
  186. package/presets/opencode/next/rules/navigation-router-ui.md +10 -0
  187. package/presets/opencode/next/rules/next-app-core.md +29 -0
  188. package/presets/opencode/next/rules/next-app-router.md +44 -0
  189. package/presets/opencode/next/rules/no-props-spread.md +56 -0
  190. package/presets/opencode/next/rules/no-type-assertion-as-import-export.md +51 -0
  191. package/presets/opencode/next/rules/package-manager.md +11 -0
  192. package/presets/opencode/next/rules/playwright-agents.md +67 -0
  193. package/presets/opencode/next/rules/post-change-lint.md +35 -0
  194. package/presets/opencode/next/rules/preset-layering.md +27 -0
  195. package/presets/opencode/next/rules/preset-no-cross-stack-leakage.md +90 -0
  196. package/presets/opencode/next/rules/preset-pr-checklist.md +36 -0
  197. package/presets/opencode/next/rules/preset-token-budget.md +39 -0
  198. package/presets/opencode/next/rules/preset-twin-sync.md +81 -0
  199. package/presets/opencode/next/rules/product-specs-authoring.md +112 -0
  200. package/presets/opencode/next/rules/product-specs.md +56 -0
  201. package/presets/opencode/next/rules/public-imports.md +50 -0
  202. package/presets/opencode/next/rules/react-a11y-coding.md +31 -0
  203. package/presets/opencode/next/rules/react-next-anti-hallucination.md +60 -0
  204. package/presets/opencode/next/rules/react-ui.md +105 -0
  205. package/presets/opencode/next/rules/reference-features.md +45 -0
  206. package/presets/opencode/next/rules/security-next.md +45 -0
  207. package/presets/opencode/next/rules/store-rtk.md +78 -0
  208. package/presets/opencode/next/rules/technical-retro.md +11 -0
  209. package/presets/opencode/next/rules/tests-e2e-structure.md +72 -0
  210. package/presets/opencode/next/rules/tests-unit.md +72 -0
  211. package/presets/opencode/next/rules/types-jsdoc.md +43 -0
  212. package/presets/opencode/next/rules/ux-design.md +99 -0
  213. package/presets/opencode/next/skills/README.md +21 -0
  214. package/presets/opencode/next/skills/ci-investigation/SKILL.md +44 -0
  215. package/presets/opencode/next/skills/code-review/SKILL.md +44 -0
  216. package/presets/opencode/next/skills/debug-investigation/SKILL.md +59 -0
  217. package/presets/opencode/next/skills/feature-delivery/SKILL.md +39 -0
  218. package/presets/opencode/next/skills/mockup-review/SKILL.md +29 -0
  219. package/presets/opencode/next/skills/playwright-e2e/SKILL.md +33 -0
  220. package/presets/opencode/next/skills/react-performance/SKILL.md +44 -0
  221. package/presets/opencode/next/skills/spec-authoring/SKILL.md +26 -0
  222. package/presets/opencode/next/skills/spec-discovery/SKILL.md +58 -0
  223. package/presets/opencode/next/skills/technical-retro/SKILL.md +54 -0
  224. package/presets/opencode/next/skills/unit-testing/SKILL.md +34 -0
  225. package/presets/opencode/next/skills/ux-design/SKILL.md +36 -0
  226. package/presets/opencode/next/skills/write-adr/SKILL.md +41 -0
  227. package/presets/opencode/next/team/README.md +148 -0
  228. package/presets/opencode/next/team/conventions.md +21 -0
  229. package/presets/opencode/next/team/fixtures/artifact-manifest.example.json +79 -0
  230. package/presets/opencode/next/team/fixtures/bugfix-standard.json +25 -0
  231. package/presets/opencode/next/team/fixtures/feature-full.json +29 -0
  232. package/presets/opencode/next/team/fixtures/feature-light.json +27 -0
  233. package/presets/opencode/next/team/fixtures/feature-with-figma-url.json +17 -0
  234. package/presets/opencode/next/team/fixtures/feature-with-ux-no-figma.json +17 -0
  235. package/presets/opencode/next/team/fixtures/memlog.example.md +9 -0
  236. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
  237. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
  238. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
  239. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
  240. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
  241. package/presets/opencode/next/team/fixtures/metrics.example.json +54 -0
  242. package/presets/opencode/next/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
  243. package/presets/opencode/next/team/fixtures/mockup-review-standalone.json +14 -0
  244. package/presets/opencode/next/team/fixtures/ux-design-standalone.json +15 -0
  245. package/presets/opencode/next/team/tasks/.gitkeep +0 -0
  246. package/presets/opencode/platform-contract.json +131 -0
  247. package/scripts/capture-cli-golden.mjs +5 -1
  248. package/scripts/check-chain-hook-coverage.sh +1 -0
  249. package/scripts/check-opencode-adapter-map.mjs +294 -0
  250. package/scripts/check-opencode-local-overlay.mjs +56 -0
  251. package/scripts/check-opencode-platform-contract.mjs +388 -0
  252. package/scripts/check-opencode-token-budget.mjs +48 -0
  253. package/scripts/check-preset-leakage.sh +30 -1
  254. package/scripts/check-preset-structure.sh +45 -0
  255. package/scripts/check-task-router-intents.sh +4 -4
  256. package/scripts/fixtures/cli-golden/claude/next.json +8 -8
  257. package/scripts/fixtures/cli-golden/cursor/next.json +8 -8
  258. package/scripts/fixtures/cli-golden/mavis/next.json +9 -9
  259. package/scripts/fixtures/cli-golden/opencode/next.json +125 -0
  260. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/AGENTS.md +1 -0
  261. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/rules/extra.mdc +1 -0
  262. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/rules/sample.mdc +2 -0
  263. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/OPENCODE.md +1 -0
  264. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/adapter-map.json +26 -0
  265. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/rules/sample.md +2 -0
  266. package/scripts/fixtures/opencode-adapter-map/valid/cursor/AGENTS.md +1 -0
  267. package/scripts/fixtures/opencode-adapter-map/valid/cursor/rules/sample.mdc +2 -0
  268. package/scripts/fixtures/opencode-adapter-map/valid/opencode/OPENCODE.md +1 -0
  269. package/scripts/fixtures/opencode-adapter-map/valid/opencode/adapter-map.json +26 -0
  270. package/scripts/fixtures/opencode-adapter-map/valid/opencode/rules/sample.md +2 -0
  271. package/scripts/fixtures/opencode-platform-contract/invalid-home-destination.json +131 -0
  272. package/scripts/fixtures/opencode-platform-contract/invalid-missing-capability.json +126 -0
  273. package/scripts/fixtures/opencode-platform-contract/invalid-released-unknown-stack.json +133 -0
  274. package/scripts/fixtures/opencode-platform-contract/invalid-unknown-native-path.json +131 -0
  275. package/scripts/fixtures/opencode-platform-contract/invalid-version-pin.json +132 -0
  276. package/scripts/fixtures/opencode-platform-contract/valid.json +131 -0
  277. package/scripts/generate-mavis-next.mjs +9 -7
  278. package/scripts/generate-opencode-next.mjs +831 -0
  279. package/scripts/lib/discover-hooks.mjs +23 -1
  280. package/scripts/sync-dogfood-mavis.sh +90 -0
  281. package/scripts/sync-dogfood-opencode.sh +85 -0
  282. package/scripts/test-agent-task-metrics-hooks.mjs +4 -1
  283. package/scripts/test-chain-team-phases-coverage.mjs +6 -1
  284. package/scripts/test-cli-init-clean.mjs +111 -0
  285. package/scripts/test-opencode-context-budget.mjs +53 -0
@@ -8,7 +8,7 @@
8
8
  ".mavis/agents/README.md": "62aa541b25f260a4a0f932ee844752bf92c7279c2c72b6db1d1e2c84bc0fff16",
9
9
  ".mavis/agents/accessibility-reviewer.md": "1781f56dd6384c2b47f6148ae244f2ddf527f4e48ebf8fd8aae36d22db82903f",
10
10
  ".mavis/agents/api-contract-reviewer.md": "c0b5d4cc3f6870a1d496c444759afb6c7df2aa3dfcc201e5fc31c1bbf4f017ee",
11
- ".mavis/agents/build-verifier.md": "b09245a637263cad50cafb153e323658d48d91d5c539da4236b81857b5af3979",
11
+ ".mavis/agents/build-verifier.md": "3098b8b7db850fe2eb3f002f3fc6ed6f2ee96ea59561f8c896b03a1350b85905",
12
12
  ".mavis/agents/ci-investigator.md": "c03d93c06f3785f468b4445c9ab32c5e309f8fb5a0528f6025a1d9843e5a5d88",
13
13
  ".mavis/agents/code-reviewer.md": "c0770df65ed437fe5976b4fa2b72ea8514e8424c77e49cb04bc693e901ef45ce",
14
14
  ".mavis/agents/codebase-analyzer.md": "7e3ed05164f2328771f45847ebd8dc6ed895327c0a3b577fe2f2e42cf155514f",
@@ -40,8 +40,8 @@
40
40
  ".mavis/mcp.json": "1c395aec4abe8dc63e1c14e49295210f6bf54536344a5479b3eb1429678f7814",
41
41
  ".mavis/rules/README.md": "c9995dc6a3687d1568e2fde699f559d99edc07cdd4d7f949405f221428d37789",
42
42
  ".mavis/rules/agent-team-intake.md": "6804fda59160de1f3720d7832c7227a8e5c9b8e4c2b9e60fd9a648edd59c2414",
43
- ".mavis/rules/agent-team-orchestrator.md": "888bf3f5494a368bb4444495e1771431bc7882f2457d3e82980a70caaf094db1",
44
- ".mavis/rules/ai-local-overlay.md": "4de2f049c6f56a18c2c91ead21f9149faa21c54bc4a29036af146d3814deda17",
43
+ ".mavis/rules/agent-team-orchestrator.md": "5fb3769f9cd3baaf10054febb5063617155871a65d039a13a1927f922cab6455",
44
+ ".mavis/rules/ai-local-overlay.md": "0fe1df8ca04475cc9d0d7dd2058c418d458784fe63d80d8b096e1804cfce56d3",
45
45
  ".mavis/rules/anti-sycophancy-discipline.md": "653231c835a98f944e2c125fe5f8cf818b56c0f3602e469488dac1b2267da023",
46
46
  ".mavis/rules/api-services.md": "511e423e85887690ac9579503fbb1f45a67436e8598bdf3f48e8c7a923a83bd0",
47
47
  ".mavis/rules/architecture-boundaries-ui.md": "b5c233a7e7ac7713ffd3e9c007471b76115a829eeba62359b92046275980266b",
@@ -65,11 +65,11 @@
65
65
  ".mavis/rules/package-manager.md": "1e80459ac986a61eee45a6d0aef67177aa449279784848397c32ac0511b0c208",
66
66
  ".mavis/rules/playwright-agents.md": "26ad72d1515cde77e73b044ae4ee238d13775cc5c4863c21b678a59e07aad70b",
67
67
  ".mavis/rules/post-change-lint.md": "808fc69796e4691fc0b6e572284034be494799b68cb189a5cb34c19b2fa471ea",
68
- ".mavis/rules/preset-layering.md": "5877178aefe64c114c929287aa131cda286d9611bbaada3465e5be492452e399",
69
- ".mavis/rules/preset-no-cross-stack-leakage.md": "3a6dcbe547ddedf0c3a330cb450da75c4a05158def8cca2f1f05fba9a2d536bc",
70
- ".mavis/rules/preset-pr-checklist.md": "0367029d19f677b655a484cb5120cdb7372eebc7fb3a596f41476dc963c78fb8",
71
- ".mavis/rules/preset-token-budget.md": "ef2f8f0588aaa9ec9d34a3f3b5a0793443c075c219e301bb24453346911849b0",
72
- ".mavis/rules/preset-twin-sync.md": "97ae98f497b112549fd0c540bfb1f73a1d4551761e08806871ae1524edab1774",
68
+ ".mavis/rules/preset-layering.md": "ec06e398c493d7a77319c144fc387d4b1250505aa1408197393c4779ba06d11c",
69
+ ".mavis/rules/preset-no-cross-stack-leakage.md": "8933a929a78af3585c7b546736dc8d068bf9ff2f925c9fccbbdcf82d624d20a0",
70
+ ".mavis/rules/preset-pr-checklist.md": "4f2e07ebfd2faf9963d49f9340abadbe94e8380fef564aa83868fe51c17dfeb4",
71
+ ".mavis/rules/preset-token-budget.md": "93013d0519a3af6e89a76d6b21461193d3d8897abd72d2b8c311754f5f421658",
72
+ ".mavis/rules/preset-twin-sync.md": "d33d91b53587490fafcb2c6a692d7e508481ee682adb9cc4c85b1e3414de1f09",
73
73
  ".mavis/rules/product-specs-authoring.md": "506cfabda75512651e9578a83d8627dc8b26d8585cf9733e80949f5007eb52b0",
74
74
  ".mavis/rules/product-specs.md": "76a716f804929491f690b63b9a5e24f5fa90d26aa1f4ca61d5eeeb3d4da5e846",
75
75
  ".mavis/rules/public-imports.md": "e74f4b88cb193c8889985c683c5c7c6f676760b5a7790a659a73cbd8f6722e4b",
@@ -117,7 +117,7 @@
117
117
  ".mavis/team/fixtures/mockup-review-standalone.json": "edda49b1298e94f9a33496317e9f6ccbbb047659e044e05ba35669bfe800eda6",
118
118
  ".mavis/team/fixtures/ux-design-standalone.json": "528aeb9db4c310d1b5e3eacae0ad39a4fd1dd49c04154b064e7027981488a07a",
119
119
  ".mavis/team/tasks/.gitkeep": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
120
- "AGENTS.md": "a435615167aa52b7f0764b9f4fe6838985ad92df5a48ac7d6408eba570d91a14",
120
+ "AGENTS.md": "98fb17139dd1e665cddc7e3d8ae75971b10e88ae36fbcf181897820b4ec5c426",
121
121
  "docs/specs/INDEX.md": "cab59f2093e6aaa376246a56d53e4268cb59070a6b10e87a94895192c35f422d",
122
122
  "docs/specs/_templates/feature.md": "83c47b90334c555fb5144749837e2ddfe1cae5bb89031f885ba98671075d59e7",
123
123
  "docs/specs/_templates/page.md": "a668c584e28edd52afaf3f9f8f898a75e43cb82fa12822c7a016033441e12e54"
@@ -0,0 +1,125 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "tool": "opencode",
4
+ "preset": "next",
5
+ "files": {
6
+ ".opencode/AGENTS.md": "85ac0fa7f7ec1fdd05ad018d3af12063915054b6914dd2d0d71456389d8abe19",
7
+ ".opencode/MCP.md": "df8af95e044afa5c3da81bed65c32d51ac8ec5a60c166e0db2097c01df59eacb",
8
+ ".opencode/agents/README.md": "e1171552992e21b1f268095b60e8b650f35fc33b0cd38c4214ee2de3c05b0d8a",
9
+ ".opencode/agents/accessibility-reviewer.md": "a0bb18d4d30ba108aed036002f940724fb0b5deb909fbd3e6660d1be5c863c6f",
10
+ ".opencode/agents/api-contract-reviewer.md": "ffd8ded31524f0af1905c1f49b8690028b477d9752a5e673b49a20e5e73ba6bd",
11
+ ".opencode/agents/build-verifier.md": "66ed38d72957b1f9aaad42557e24b791af0efe17474386eebcc321380810ab2f",
12
+ ".opencode/agents/ci-investigator.md": "be5d5cb5d4411b8e048a2d7a5f977a701b218006172cadda1a7c1cfaac6935f6",
13
+ ".opencode/agents/code-reviewer.md": "9a62076aa2d52bf46911da2661e0cadcfa6c04d14a9edb99c19b29b35efd7f82",
14
+ ".opencode/agents/codebase-analyzer.md": "b9805fbafedc9012d429f617d093e468b1aface1532bb7486ff68642d8ffa31b",
15
+ ".opencode/agents/debugger.md": "470cb456e3f659cdbb31449454ce62babbac020a8754ccc7db08897ba4cd6096",
16
+ ".opencode/agents/feature-developer.md": "1ff8aa0c77f6f619c49d1514d6865cf78073f0900e34959262971dc71a16b8f5",
17
+ ".opencode/agents/migration-specialist.md": "37734449b912cf36d5d1f14c8337ff76ffd0011d3eb3d10d55bd5b1b112fc6c5",
18
+ ".opencode/agents/mockup-reviewer.md": "26f7afb63f38aa7e7c595c24c2c8878d8748f15cca52bc89623b023f5d600201",
19
+ ".opencode/agents/openspec-author.md": "7f644f01f8cd0fb64ffad55744d923a5dd447f42cec4754d939ce31f61e928da",
20
+ ".opencode/agents/performance-auditor.md": "7718bb2c343ea54f1c64fc3bd69617b319e3d439d52bbc7a94a50c901d189571",
21
+ ".opencode/agents/playwright-test-generator.md": "4e0822f52e7944bd0727d1a293e1c156fd6391cefbfd260791e45c21c2198001",
22
+ ".opencode/agents/playwright-test-healer.md": "a157277b02fbb1a38254c80c37b8b4148bb8f062f9ebee2e13573581f5b8cd7c",
23
+ ".opencode/agents/playwright-test-planner.md": "770740cb72136ec534ee5ba3ad0f1436887651af47a5a359a75231e96555ff59",
24
+ ".opencode/agents/qa-tester.md": "ca34d47ff81beac4249dbcf8e4b5428d31adea98530bcb979ad2f796ee1242dc",
25
+ ".opencode/agents/security-reviewer.md": "cddeca94dcaf2264b6eb3e084c414671c79f6b90cc89403ecd4d049b905687fd",
26
+ ".opencode/agents/solution-architect.md": "5529a9ad6aaf7b671ccde14b3f4cee1464d60ed8f12cb05c550339f8d684d412",
27
+ ".opencode/agents/task-analyst.md": "75fab8c2badb5b9670a21e1526d79a3a4fae3a647ad9a6cd5130194e3909799d",
28
+ ".opencode/agents/task-router.md": "e733a5ca9e5ec77a9c10f02a3867da16001dd0b3054070285729160c596a9bd5",
29
+ ".opencode/agents/tech-writer.md": "0626f4cf69c69aab6b7406db556d53a9d4ec96001b645dc4c042188b8f37c253",
30
+ ".opencode/agents/unit-test-generator.md": "8b64d096e357b2b88992b822ae556f4cc03c0efe7a1ed2644c809902139a3e95",
31
+ ".opencode/agents/unit-test-healer.md": "e927d22023a0ccba6c36f8d1e4c1f5d49af51c138464368473dae3d54e9071cc",
32
+ ".opencode/agents/unit-test-planner.md": "11844250550eda6fca36b0667cafee79b399492a595cd70785915f0d33c7d9aa",
33
+ ".opencode/commands/README.md": "876e69bf0d2fd05922ec7c5ce458f4bf155bc6d1d900ed95f285f013c12de2d1",
34
+ ".opencode/commands/spec-start.md": "50d3b3b42481caebd7f1516b4b29f9043be1109c4a63f87cf2e3d2677c56c1af",
35
+ ".opencode/commands/task-continue.md": "e1342109eb74b81dc92f09eb15539df8fea6522ca0d8575fd4f24cc58024d0b3",
36
+ ".opencode/commands/task.md": "548ddd69efaaad31b4276dcdf0886f67390bc9eeb12f2789a225ead5ae36352d",
37
+ ".opencode/commands/technical-retro.md": "acfa59f43e34fe36954064fd725d155c7edda2a51f97ecb7b5fee762eae9b1e8",
38
+ ".opencode/hooks/README.md": "200176f4f7dabc9f0dd849b8e418bd942569df3d279c36c5e6b8c6ed0b1e64a9",
39
+ ".opencode/hooks/chain-team-phases.sh": "0050f96f835615d56cdfb1b43ff0884d95a1c5c38aa1db687b94255c68466607",
40
+ ".opencode/rules/README.md": "80c0937face4d74b153e08b23c8508688dc457ad5b64b0f1658baa3f9dc523dc",
41
+ ".opencode/rules/agent-team-intake.md": "6804fda59160de1f3720d7832c7227a8e5c9b8e4c2b9e60fd9a648edd59c2414",
42
+ ".opencode/rules/agent-team-orchestrator.md": "cb53f2304d547dc0305ccae95dfdf30e1113fa281a358ca97a3b38395f2501b1",
43
+ ".opencode/rules/ai-local-overlay.md": "2043cd92136e110cbe8c0901a14442794871b576d8c0cabbcc72c807f57baf00",
44
+ ".opencode/rules/anti-sycophancy-discipline.md": "653231c835a98f944e2c125fe5f8cf818b56c0f3602e469488dac1b2267da023",
45
+ ".opencode/rules/api-services.md": "511e423e85887690ac9579503fbb1f45a67436e8598bdf3f48e8c7a923a83bd0",
46
+ ".opencode/rules/architecture-boundaries-ui.md": "b5c233a7e7ac7713ffd3e9c007471b76115a829eeba62359b92046275980266b",
47
+ ".opencode/rules/architecture-boundaries.md": "81d7063f9bb96b7bd196c7a00f070364ef447c2c601180cc4fd50f2069043776",
48
+ ".opencode/rules/arrow-functions.md": "371dd977ee7810224a4db127c18acdf3f52b5dc9e15f3328b7fb9d627376f6e6",
49
+ ".opencode/rules/code-quality-and-refactoring.md": "39ec66508361abc36d9a650ccd74a0b801ee19846e12cbb95964db1a6fb20422",
50
+ ".opencode/rules/code-review-mr.md": "214a6537c97726c1033a12b9a08ff34c324a705ffbd640bb66c3fedaa1a4177e",
51
+ ".opencode/rules/css-property-order-stylelint.md": "e6c9c1d7fbce85e326137e6f24d28be388742c50360ee6a1b527983428ddae5c",
52
+ ".opencode/rules/design-guidance.md": "d10fcbc478391039f24ab440ae433edb8c90dd3c9bb11de050bc28df92dafea0",
53
+ ".opencode/rules/feature-delivery-workflow.md": "62418cc3ead5e132a6b2a7986e83149d3bfc7947df3973750f925733b8ed20f3",
54
+ ".opencode/rules/http-client.md": "1a536b4a3ac0552ff5c43cfb4eb26e93df8335d1e5512add100910ddfc97a974",
55
+ ".opencode/rules/layer-barrel-exports.md": "5ac77886e75b7399078a6106682c6b2e5dc347b2ad631762ca38608f353060b8",
56
+ ".opencode/rules/mcp-usage.md": "1f439ff370b2570e3f086f7c184d5f65201a76dcd556be22e632e2b2ea7f2313",
57
+ ".opencode/rules/mockup-review.md": "1edbefa09aa2b95901f5db916890f4a480073185f79853980a289eb7e0da5b6f",
58
+ ".opencode/rules/navigation-router-stack.md": "4ae8b647e2b082d6c58f4e99f0b6351e406af2090913d1e74a5777a414788f25",
59
+ ".opencode/rules/navigation-router-ui.md": "99a12c69ae13526eff19d154972dcf5c0f1355f51b8be70ab226280a77deb386",
60
+ ".opencode/rules/next-app-core.md": "98b4a78c9da97f71cd697c5d89bd04b78a82dbe79f25bcad9c746c45f0fc420f",
61
+ ".opencode/rules/next-app-router.md": "2f02ef605d95ce3753262fca5fdb6d02ba8bded0be55fed2a88d83dbc2a1c9e7",
62
+ ".opencode/rules/no-props-spread.md": "3e738e1c180765ef2303760bb0136e798d66c82552f4164d60cb93883886f1c0",
63
+ ".opencode/rules/no-type-assertion-as-import-export.md": "bd945d8c309b12dab380ccaf06e65e4188d5f256c536d2cd47128ef34b34d1ab",
64
+ ".opencode/rules/package-manager.md": "1e80459ac986a61eee45a6d0aef67177aa449279784848397c32ac0511b0c208",
65
+ ".opencode/rules/playwright-agents.md": "26ad72d1515cde77e73b044ae4ee238d13775cc5c4863c21b678a59e07aad70b",
66
+ ".opencode/rules/post-change-lint.md": "b7eadecc765f5506f140a0bc5e43569656389d071c581220adaedc9365a9c962",
67
+ ".opencode/rules/preset-layering.md": "ec06e398c493d7a77319c144fc387d4b1250505aa1408197393c4779ba06d11c",
68
+ ".opencode/rules/preset-no-cross-stack-leakage.md": "8933a929a78af3585c7b546736dc8d068bf9ff2f925c9fccbbdcf82d624d20a0",
69
+ ".opencode/rules/preset-pr-checklist.md": "4f2e07ebfd2faf9963d49f9340abadbe94e8380fef564aa83868fe51c17dfeb4",
70
+ ".opencode/rules/preset-token-budget.md": "93013d0519a3af6e89a76d6b21461193d3d8897abd72d2b8c311754f5f421658",
71
+ ".opencode/rules/preset-twin-sync.md": "d33d91b53587490fafcb2c6a692d7e508481ee682adb9cc4c85b1e3414de1f09",
72
+ ".opencode/rules/product-specs-authoring.md": "506cfabda75512651e9578a83d8627dc8b26d8585cf9733e80949f5007eb52b0",
73
+ ".opencode/rules/product-specs.md": "76a716f804929491f690b63b9a5e24f5fa90d26aa1f4ca61d5eeeb3d4da5e846",
74
+ ".opencode/rules/public-imports.md": "e74f4b88cb193c8889985c683c5c7c6f676760b5a7790a659a73cbd8f6722e4b",
75
+ ".opencode/rules/react-a11y-coding.md": "7b1070bcff701bafc821cdca0e7c6a1d8ce4957ef9d9bb888987ce1097b36f78",
76
+ ".opencode/rules/react-next-anti-hallucination.md": "cc33ebfb1cbebbc7b720020ce079ce3ff99540546011bd015fe59bd72bc5b391",
77
+ ".opencode/rules/react-ui.md": "93888cb28e478f14c06b146b3aee3aae9bfddaad2bb3000f5dc07c122a6c11db",
78
+ ".opencode/rules/reference-features.md": "f92a818c4ac7847469f62cbb9c95ad4afcd345cb8a22011c610b1f9aecc3ebbe",
79
+ ".opencode/rules/security-next.md": "812bd7aaeab276c270823d27aad61b51d0d7c2e4293c0ec4611809a724094d4b",
80
+ ".opencode/rules/store-rtk.md": "745817c56f232941285ecf4bd9be3d78380d814f994de1ca352e0a758e018bfa",
81
+ ".opencode/rules/technical-retro.md": "5f9ed6b3b86035866e26d153a60805da08c4670f3d46581bde1839469861b179",
82
+ ".opencode/rules/tests-e2e-structure.md": "8259282a6a7db2e5df72acdb76a07e92233bbc3022578b2dd3a54ee9bfecf604",
83
+ ".opencode/rules/tests-unit.md": "8259282a6a7db2e5df72acdb76a07e92233bbc3022578b2dd3a54ee9bfecf604",
84
+ ".opencode/rules/types-jsdoc.md": "745dc2868a09c59e6371b4c02aea259777b20e43cac022fc943d92b422a9951e",
85
+ ".opencode/rules/ux-design.md": "794af95526c01b6e95f512b5c62cb86d52c7887e9054248b44ff31a25f8d7139",
86
+ ".opencode/skills/README.md": "d8760c1ab32ba53d7fd0589585bc136e79e50816ba20e06e3c5b148b411fdcc4",
87
+ ".opencode/skills/ci-investigation/SKILL.md": "b13ed9de0716671b7d192dc2ba7fec139466a933b52f25c075623dcdef38b399",
88
+ ".opencode/skills/code-review/SKILL.md": "127848e26ac508c98a4f4cb21d2fe9e9f3a5aa9f8f605e4d39a66986beeb1247",
89
+ ".opencode/skills/debug-investigation/SKILL.md": "6abef18536dc3a396a0b3b6b76510eefe197f79109edc87306b313fd030d71c8",
90
+ ".opencode/skills/feature-delivery/SKILL.md": "6425eb307e58f036bc923b2c73de4bd2a7ec717c8652b4ee905b4a2697cfe891",
91
+ ".opencode/skills/mockup-review/SKILL.md": "4ecf5dab3b58a29e2e353d469b3105adde225a3364134b0d4262722809e876b5",
92
+ ".opencode/skills/playwright-e2e/SKILL.md": "df1ef0a4febcd7939757d8ffdffa4f347aa09e4fb030a84be2d89cd80701ffe8",
93
+ ".opencode/skills/react-performance/SKILL.md": "aaca660b87207e73cdaac123d523bf4cd57a4b2b8156431b11c1bd0bcdae6224",
94
+ ".opencode/skills/spec-authoring/SKILL.md": "37fcaf06088daee07de6b620a522143823d831579aa9c824bc1d7040f1d25e9d",
95
+ ".opencode/skills/spec-discovery/SKILL.md": "4ccad1999c375943ca0f5e09f2e1ed7f0a40dddc33e6d1d9b73f0d527189ee26",
96
+ ".opencode/skills/technical-retro/SKILL.md": "b876661b1c0964ce0fe643acb9a34e2777a9d1e74baa617f578ef209228abd33",
97
+ ".opencode/skills/unit-testing/SKILL.md": "bfa486f0b2b774fd8781abafae51433c3472bc17ba39a23134428b260ba9bcbc",
98
+ ".opencode/skills/ux-design/SKILL.md": "0c133236c611a6811979016ccb7049c91eaeb41ac62ecff4e736abe26d6d20dc",
99
+ ".opencode/skills/write-adr/SKILL.md": "a937bc2a1db11c9a8b5154c45bb950c4d6d1faddfd90c061d31592c94b2f3264",
100
+ ".opencode/team/README.md": "1749a34958e214edf5fd99cbca7a251600a02b5130858293ec9dfdc563910a73",
101
+ ".opencode/team/conventions.md": "af977857ae0b3f10ccc36236f350eb8dccbec409530abf51a53de81a150a0442",
102
+ ".opencode/team/fixtures/artifact-manifest.example.json": "bf4d0f00838f957643646b8407b4cec12aff3dec45893c1e776f44f3de08fb42",
103
+ ".opencode/team/fixtures/bugfix-standard.json": "209cc0cc1844befee4bdbec9dcee27337dd7019f9f459dfcb8996db291fcae81",
104
+ ".opencode/team/fixtures/feature-full.json": "59a54f330227ff7738b25b459ee937323546b63e300f915cd4b9d6e8a870d964",
105
+ ".opencode/team/fixtures/feature-light.json": "618ac9da9527d688ec7dac849eafb869ae342ec890d0e7c73c1e57c0f8fb5a1b",
106
+ ".opencode/team/fixtures/feature-with-figma-url.json": "8aec2ac11ba552bc9135721678af58c73ca5a74b3038c5f4dc878b1080ade9be",
107
+ ".opencode/team/fixtures/feature-with-ux-no-figma.json": "526c103a26c83afef60ebadd289735b6dfea14c8191acd9780fc72e72da2ff45",
108
+ ".opencode/team/fixtures/memlog.example.md": "53d281ddd383e0337b038a0dc6dd4e14f84743066a1a99bf45fc2e7064cce222",
109
+ ".opencode/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json": "6642b2ae310cdb89eb80fce7bb01d69a428c9ca8072651af7397f4f19eb0a724",
110
+ ".opencode/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json": "c27b87afa3c82d7d0d4b0e8385b8ebb245e17c10e3fe00f94938141f5843e9d7",
111
+ ".opencode/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json": "66294d7fb22a50eca3cc98692c27bd740959dc361245dc8d382e2086a4d847ca",
112
+ ".opencode/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json": "8bcf7904c072927212a24aa9036019a8bf84a8e92f17275ace86001ad7896ca6",
113
+ ".opencode/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json": "f0ad432a4f73a6ef7ced550c20e662726025b46776f349693cbc3cd547bc5112",
114
+ ".opencode/team/fixtures/metrics.example.json": "ec056907da840e11477afabd1401aef30773af833617d2f68b3f1db825f62d0a",
115
+ ".opencode/team/fixtures/mockup-review-fail-embedded-status.json": "2e1f3ff8e5e3668f20f2b0e329f26b884c79e426dd6b5952c0896bd4f0c7f9a4",
116
+ ".opencode/team/fixtures/mockup-review-standalone.json": "edda49b1298e94f9a33496317e9f6ccbbb047659e044e05ba35669bfe800eda6",
117
+ ".opencode/team/fixtures/ux-design-standalone.json": "528aeb9db4c310d1b5e3eacae0ad39a4fd1dd49c04154b064e7027981488a07a",
118
+ ".opencode/team/tasks/.gitkeep": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
119
+ "AGENTS.md": "2a301d7bb2565b2935d816a91dffe0fb837aeb1511857cde0eef4400394bcc48",
120
+ "docs/specs/INDEX.md": "cab59f2093e6aaa376246a56d53e4268cb59070a6b10e87a94895192c35f422d",
121
+ "docs/specs/_templates/feature.md": "83c47b90334c555fb5144749837e2ddfe1cae5bb89031f885ba98671075d59e7",
122
+ "docs/specs/_templates/page.md": "a668c584e28edd52afaf3f9f8f898a75e43cb82fa12822c7a016033441e12e54",
123
+ "opencode.json": "3690cf91e504be3f07f55103647bb80c2e7e9fe7fc834c6bdee3dfa2cb56eed0"
124
+ }
125
+ }
@@ -0,0 +1,2 @@
1
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
2
+ # Sample
@@ -0,0 +1,26 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "platform": "opencode",
4
+ "stack": "next",
5
+ "semanticSource": "cursor/next",
6
+ "sourceRevision": "24e92b32dfaf3dc035d5a46654846aece63d088dc229b7e6ce45aaaede84da04",
7
+ "entries": [
8
+ {
9
+ "source": "AGENTS.md",
10
+ "target": "OPENCODE.md",
11
+ "category": "entry",
12
+ "disposition": "embed-entry",
13
+ "loadMode": "root-entry",
14
+ "reason": "entry"
15
+ },
16
+ {
17
+ "source": "rules/sample.mdc",
18
+ "target": "rules/sample.md",
19
+ "category": "rules",
20
+ "disposition": "transform",
21
+ "loadMode": "referenced",
22
+ "reason": "rule",
23
+ "sharedCoreStem": "quality/code-quality-and-refactoring.md"
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,2 @@
1
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
2
+ # Sample
@@ -0,0 +1,2 @@
1
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
2
+ # Sample
@@ -0,0 +1,26 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "platform": "opencode",
4
+ "stack": "next",
5
+ "semanticSource": "cursor/next",
6
+ "sourceRevision": "30d3cfe8140f9863e19a1a845b6d51305d31ded34ee1d136f8af480eb4c98b0e",
7
+ "entries": [
8
+ {
9
+ "source": "AGENTS.md",
10
+ "target": "OPENCODE.md",
11
+ "category": "entry",
12
+ "disposition": "embed-entry",
13
+ "loadMode": "root-entry",
14
+ "reason": "entry"
15
+ },
16
+ {
17
+ "source": "rules/sample.mdc",
18
+ "target": "rules/sample.md",
19
+ "category": "rules",
20
+ "disposition": "transform",
21
+ "loadMode": "referenced",
22
+ "reason": "rule",
23
+ "sharedCoreStem": "quality/code-quality-and-refactoring.md"
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,2 @@
1
+ <!-- shared-core: quality/code-quality-and-refactoring.md -->
2
+ # Sample
@@ -0,0 +1,131 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "opencode",
4
+ "runtimeExecutable": "opencode",
5
+ "sourceRoot": "presets/opencode",
6
+ "managedRoot": ".opencode",
7
+ "releasedStacks": [],
8
+ "entryFiles": [
9
+ {
10
+ "source": "REPO_AGENTS.md",
11
+ "destination": "AGENTS.md"
12
+ },
13
+ {
14
+ "source": "OPENCODE.md",
15
+ "destination": ".opencode/AGENTS.md"
16
+ }
17
+ ],
18
+ "directoryMappings": [
19
+ {
20
+ "source": "rules",
21
+ "destination": "~/.config/opencode/rules"
22
+ },
23
+ {
24
+ "source": "agents",
25
+ "destination": ".opencode/agents"
26
+ },
27
+ {
28
+ "source": "skills",
29
+ "destination": ".opencode/skills"
30
+ },
31
+ {
32
+ "source": "commands",
33
+ "destination": ".opencode/commands"
34
+ },
35
+ {
36
+ "source": "hooks",
37
+ "destination": ".opencode/hooks"
38
+ },
39
+ {
40
+ "source": "team",
41
+ "destination": ".opencode/team"
42
+ }
43
+ ],
44
+ "mcp": {
45
+ "source": "opencode.json",
46
+ "fallbackDestination": "opencode.json",
47
+ "mode": "merge-opencode-json"
48
+ },
49
+ "docsSeed": {
50
+ "source": "presets/_shared/assets/docs-specs",
51
+ "behavior": "absent-only"
52
+ },
53
+ "cleanStrategy": "manifest-owned",
54
+ "nativeCapabilities": {
55
+ "cliVersion": {
56
+ "status": "unknown",
57
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
58
+ "nativePath": null
59
+ },
60
+ "rootAgents": {
61
+ "status": "confirmed",
62
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
63
+ "nativePath": "AGENTS.md"
64
+ },
65
+ "explicitAgentFile": {
66
+ "status": "confirmed",
67
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
68
+ "nativePath": ".opencode/agents"
69
+ },
70
+ "structuredOutput": {
71
+ "status": "unknown",
72
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
73
+ "nativePath": null
74
+ },
75
+ "referencedRule": {
76
+ "status": "confirmed",
77
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
78
+ "nativePath": "AGENTS.md"
79
+ },
80
+ "referencedSkill": {
81
+ "status": "confirmed",
82
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
83
+ "nativePath": ".opencode/skills"
84
+ },
85
+ "freshInit": {
86
+ "status": "unknown",
87
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
88
+ "nativePath": null
89
+ },
90
+ "nativeProjectRules": {
91
+ "status": "no-equivalent",
92
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
93
+ "nativePath": null
94
+ },
95
+ "nativeWorkspaceSkills": {
96
+ "status": "confirmed",
97
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
98
+ "nativePath": ".opencode/skills"
99
+ },
100
+ "nativeWorkspaceAgents": {
101
+ "status": "confirmed",
102
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
103
+ "nativePath": ".opencode/agents"
104
+ },
105
+ "projectMcp": {
106
+ "status": "confirmed",
107
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
108
+ "nativePath": "opencode.json"
109
+ },
110
+ "projectHooks": {
111
+ "status": "unknown",
112
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
113
+ "nativePath": null
114
+ },
115
+ "slashCommands": {
116
+ "status": "confirmed",
117
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
118
+ "nativePath": ".opencode/commands"
119
+ },
120
+ "pluginSkillMcp": {
121
+ "status": "confirmed",
122
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
123
+ "nativePath": "opencode.json"
124
+ },
125
+ "nativeTeam": {
126
+ "status": "partial",
127
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
128
+ "nativePath": ".opencode/team"
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "opencode",
4
+ "runtimeExecutable": "opencode",
5
+ "sourceRoot": "presets/opencode",
6
+ "managedRoot": ".opencode",
7
+ "releasedStacks": [],
8
+ "entryFiles": [
9
+ {
10
+ "source": "REPO_AGENTS.md",
11
+ "destination": "AGENTS.md"
12
+ },
13
+ {
14
+ "source": "OPENCODE.md",
15
+ "destination": ".opencode/AGENTS.md"
16
+ }
17
+ ],
18
+ "directoryMappings": [
19
+ {
20
+ "source": "rules",
21
+ "destination": ".opencode/rules"
22
+ },
23
+ {
24
+ "source": "agents",
25
+ "destination": ".opencode/agents"
26
+ },
27
+ {
28
+ "source": "skills",
29
+ "destination": ".opencode/skills"
30
+ },
31
+ {
32
+ "source": "commands",
33
+ "destination": ".opencode/commands"
34
+ },
35
+ {
36
+ "source": "hooks",
37
+ "destination": ".opencode/hooks"
38
+ },
39
+ {
40
+ "source": "team",
41
+ "destination": ".opencode/team"
42
+ }
43
+ ],
44
+ "mcp": {
45
+ "source": "opencode.json",
46
+ "fallbackDestination": "opencode.json",
47
+ "mode": "merge-opencode-json"
48
+ },
49
+ "docsSeed": {
50
+ "source": "presets/_shared/assets/docs-specs",
51
+ "behavior": "absent-only"
52
+ },
53
+ "cleanStrategy": "manifest-owned",
54
+ "nativeCapabilities": {
55
+ "cliVersion": {
56
+ "status": "unknown",
57
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
58
+ "nativePath": null
59
+ },
60
+ "rootAgents": {
61
+ "status": "confirmed",
62
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
63
+ "nativePath": "AGENTS.md"
64
+ },
65
+ "explicitAgentFile": {
66
+ "status": "confirmed",
67
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
68
+ "nativePath": ".opencode/agents"
69
+ },
70
+ "structuredOutput": {
71
+ "status": "unknown",
72
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
73
+ "nativePath": null
74
+ },
75
+ "referencedRule": {
76
+ "status": "confirmed",
77
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
78
+ "nativePath": "AGENTS.md"
79
+ },
80
+ "referencedSkill": {
81
+ "status": "confirmed",
82
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
83
+ "nativePath": ".opencode/skills"
84
+ },
85
+ "freshInit": {
86
+ "status": "unknown",
87
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
88
+ "nativePath": null
89
+ },
90
+ "nativeProjectRules": {
91
+ "status": "no-equivalent",
92
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
93
+ "nativePath": null
94
+ },
95
+ "nativeWorkspaceSkills": {
96
+ "status": "confirmed",
97
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
98
+ "nativePath": ".opencode/skills"
99
+ },
100
+ "nativeWorkspaceAgents": {
101
+ "status": "confirmed",
102
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
103
+ "nativePath": ".opencode/agents"
104
+ },
105
+ "projectMcp": {
106
+ "status": "confirmed",
107
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
108
+ "nativePath": "opencode.json"
109
+ },
110
+ "projectHooks": {
111
+ "status": "unknown",
112
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
113
+ "nativePath": null
114
+ },
115
+ "pluginSkillMcp": {
116
+ "status": "confirmed",
117
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
118
+ "nativePath": "opencode.json"
119
+ },
120
+ "nativeTeam": {
121
+ "status": "partial",
122
+ "evidence": "docs/OPENCODE-COMPATIBILITY.md",
123
+ "nativePath": ".opencode/team"
124
+ }
125
+ }
126
+ }