@open-agent-toolkit/cli 0.0.10

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 (797) hide show
  1. package/README.md +50 -0
  2. package/assets/agents/oat-codebase-mapper.md +275 -0
  3. package/assets/agents/oat-reviewer.md +350 -0
  4. package/assets/agents/skeptical-evaluator.md +126 -0
  5. package/assets/docs/contributing/code.md +95 -0
  6. package/assets/docs/contributing/commit-conventions.md +41 -0
  7. package/assets/docs/contributing/design-principles.md +124 -0
  8. package/assets/docs/contributing/documentation.md +69 -0
  9. package/assets/docs/contributing/hooks-and-safety.md +31 -0
  10. package/assets/docs/contributing/index.md +18 -0
  11. package/assets/docs/contributing/markdown-features.md +117 -0
  12. package/assets/docs/contributing/skills.md +68 -0
  13. package/assets/docs/guide/cli-reference.md +211 -0
  14. package/assets/docs/guide/concepts.md +88 -0
  15. package/assets/docs/guide/configuration.md +130 -0
  16. package/assets/docs/guide/documentation/commands.md +157 -0
  17. package/assets/docs/guide/documentation/index.md +27 -0
  18. package/assets/docs/guide/documentation/quickstart.md +164 -0
  19. package/assets/docs/guide/documentation/workflows.md +67 -0
  20. package/assets/docs/guide/getting-started.md +63 -0
  21. package/assets/docs/guide/ideas/index.md +34 -0
  22. package/assets/docs/guide/ideas/lifecycle.md +106 -0
  23. package/assets/docs/guide/index.md +20 -0
  24. package/assets/docs/guide/provider-sync/commands.md +100 -0
  25. package/assets/docs/guide/provider-sync/config.md +77 -0
  26. package/assets/docs/guide/provider-sync/index.md +65 -0
  27. package/assets/docs/guide/provider-sync/manifest-and-drift.md +55 -0
  28. package/assets/docs/guide/provider-sync/providers.md +67 -0
  29. package/assets/docs/guide/provider-sync/scope-and-surface.md +64 -0
  30. package/assets/docs/guide/skills/index.md +115 -0
  31. package/assets/docs/guide/tool-packs.md +167 -0
  32. package/assets/docs/guide/workflow/artifacts.md +44 -0
  33. package/assets/docs/guide/workflow/hill-checkpoints.md +53 -0
  34. package/assets/docs/guide/workflow/index.md +34 -0
  35. package/assets/docs/guide/workflow/lifecycle.md +207 -0
  36. package/assets/docs/guide/workflow/pr-flow.md +55 -0
  37. package/assets/docs/guide/workflow/repo-analysis.md +96 -0
  38. package/assets/docs/guide/workflow/reviews.md +98 -0
  39. package/assets/docs/guide/workflow/state-machine.md +74 -0
  40. package/assets/docs/index.md +45 -0
  41. package/assets/docs/quickstart.md +162 -0
  42. package/assets/docs/reference/docs-index-contract.md +53 -0
  43. package/assets/docs/reference/file-locations.md +109 -0
  44. package/assets/docs/reference/index.md +29 -0
  45. package/assets/docs/reference/oat-directory-structure.md +236 -0
  46. package/assets/docs/reference/troubleshooting.md +63 -0
  47. package/assets/public-package-versions.json +6 -0
  48. package/assets/scripts/resolve-tracking.sh +233 -0
  49. package/assets/skills/analyze/SKILL.md +358 -0
  50. package/assets/skills/compare/SKILL.md +276 -0
  51. package/assets/skills/create-agnostic-skill/SKILL.md +410 -0
  52. package/assets/skills/create-agnostic-skill/references/skill-template.md +195 -0
  53. package/assets/skills/deep-research/SKILL.md +350 -0
  54. package/assets/skills/deep-research/references/schema-analysis.md +93 -0
  55. package/assets/skills/deep-research/references/schema-architectural.md +75 -0
  56. package/assets/skills/deep-research/references/schema-base.md +70 -0
  57. package/assets/skills/deep-research/references/schema-comparative.md +72 -0
  58. package/assets/skills/deep-research/references/schema-conceptual.md +68 -0
  59. package/assets/skills/deep-research/references/schema-technical.md +64 -0
  60. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +500 -0
  61. package/assets/skills/oat-agent-instructions-analyze/references/analysis-artifact-template.md +248 -0
  62. package/assets/skills/oat-agent-instructions-analyze/references/bundle-summary-template.md +31 -0
  63. package/assets/skills/oat-agent-instructions-analyze/references/directory-assessment-criteria.md +93 -0
  64. package/assets/skills/oat-agent-instructions-analyze/references/docs/agent-instruction.md +575 -0
  65. package/assets/skills/oat-agent-instructions-analyze/references/docs/cursor-rules-files.md +510 -0
  66. package/assets/skills/oat-agent-instructions-analyze/references/docs/provider-reference.md +429 -0
  67. package/assets/skills/oat-agent-instructions-analyze/references/docs/rules-files.md +594 -0
  68. package/assets/skills/oat-agent-instructions-analyze/references/file-type-discovery-checklist.md +273 -0
  69. package/assets/skills/oat-agent-instructions-analyze/references/quality-checklist.md +125 -0
  70. package/assets/skills/oat-agent-instructions-analyze/references/recommendation-pack-template.md +45 -0
  71. package/assets/skills/oat-agent-instructions-analyze/references/recommendations-manifest-template.yaml +27 -0
  72. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-instruction-files.sh +120 -0
  73. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +135 -0
  74. package/assets/skills/oat-agent-instructions-apply/SKILL.md +507 -0
  75. package/assets/skills/oat-agent-instructions-apply/references/apply-plan-template.md +80 -0
  76. package/assets/skills/oat-agent-instructions-apply/references/docs/agent-instruction.md +575 -0
  77. package/assets/skills/oat-agent-instructions-apply/references/docs/cursor-rules-files.md +510 -0
  78. package/assets/skills/oat-agent-instructions-apply/references/docs/provider-reference.md +429 -0
  79. package/assets/skills/oat-agent-instructions-apply/references/docs/rules-files.md +594 -0
  80. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-root.md +85 -0
  81. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-scoped.md +62 -0
  82. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/claude-rule.md +67 -0
  83. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-instruction.md +70 -0
  84. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-shim.md +35 -0
  85. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/cursor-rule.md +84 -0
  86. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/glob-scoped-rule.md +59 -0
  87. package/assets/skills/oat-docs/SKILL.md +214 -0
  88. package/assets/skills/oat-docs-analyze/SKILL.md +355 -0
  89. package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +192 -0
  90. package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +46 -0
  91. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +48 -0
  92. package/assets/skills/oat-docs-apply/SKILL.md +339 -0
  93. package/assets/skills/oat-docs-apply/references/apply-plan-template.md +69 -0
  94. package/assets/skills/oat-doctor/SKILL.md +293 -0
  95. package/assets/skills/oat-idea-ideate/SKILL.md +187 -0
  96. package/assets/skills/oat-idea-new/SKILL.md +152 -0
  97. package/assets/skills/oat-idea-scratchpad/SKILL.md +115 -0
  98. package/assets/skills/oat-idea-summarize/SKILL.md +172 -0
  99. package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +155 -0
  100. package/assets/skills/oat-pjm-review-backlog/SKILL.md +171 -0
  101. package/assets/skills/oat-pjm-review-backlog/references/backlog-review-template.md +172 -0
  102. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +128 -0
  103. package/assets/skills/oat-project-capture/SKILL.md +306 -0
  104. package/assets/skills/oat-project-clear-active/SKILL.md +50 -0
  105. package/assets/skills/oat-project-complete/SKILL.md +461 -0
  106. package/assets/skills/oat-project-design/SKILL.md +461 -0
  107. package/assets/skills/oat-project-discover/SKILL.md +395 -0
  108. package/assets/skills/oat-project-document/SKILL.md +468 -0
  109. package/assets/skills/oat-project-implement/SKILL.md +736 -0
  110. package/assets/skills/oat-project-import-plan/SKILL.md +228 -0
  111. package/assets/skills/oat-project-import-plan/scripts/find-recent-provider-plans.sh +149 -0
  112. package/assets/skills/oat-project-new/SKILL.md +74 -0
  113. package/assets/skills/oat-project-next/SKILL.md +345 -0
  114. package/assets/skills/oat-project-open/SKILL.md +47 -0
  115. package/assets/skills/oat-project-plan/SKILL.md +415 -0
  116. package/assets/skills/oat-project-plan-writing/SKILL.md +116 -0
  117. package/assets/skills/oat-project-pr-final/SKILL.md +391 -0
  118. package/assets/skills/oat-project-pr-progress/SKILL.md +354 -0
  119. package/assets/skills/oat-project-progress/SKILL.md +342 -0
  120. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +155 -0
  121. package/assets/skills/oat-project-quick-start/SKILL.md +363 -0
  122. package/assets/skills/oat-project-reconcile/SKILL.md +738 -0
  123. package/assets/skills/oat-project-review-provide/SKILL.md +728 -0
  124. package/assets/skills/oat-project-review-receive/SKILL.md +641 -0
  125. package/assets/skills/oat-project-review-receive-remote/SKILL.md +235 -0
  126. package/assets/skills/oat-project-revise/SKILL.md +316 -0
  127. package/assets/skills/oat-project-spec/SKILL.md +471 -0
  128. package/assets/skills/oat-project-subagent-implement/SKILL.md +549 -0
  129. package/assets/skills/oat-project-subagent-implement/examples/pattern-hill-checkpoint.md +110 -0
  130. package/assets/skills/oat-project-subagent-implement/examples/pattern-parallel-phases.md +118 -0
  131. package/assets/skills/oat-project-subagent-implement/scripts/dispatch.sh +133 -0
  132. package/assets/skills/oat-project-subagent-implement/scripts/reconcile.sh +182 -0
  133. package/assets/skills/oat-project-subagent-implement/scripts/review-gate.sh +187 -0
  134. package/assets/skills/oat-project-subagent-implement/tests/fixtures/sample-plan.md +234 -0
  135. package/assets/skills/oat-project-subagent-implement/tests/test-dry-run.sh +126 -0
  136. package/assets/skills/oat-project-subagent-implement/tests/test-hill-checkpoint.sh +127 -0
  137. package/assets/skills/oat-project-subagent-implement/tests/test-reconcile.sh +254 -0
  138. package/assets/skills/oat-project-subagent-implement/tests/test-review-gate.sh +220 -0
  139. package/assets/skills/oat-project-summary/SKILL.md +227 -0
  140. package/assets/skills/oat-repo-knowledge-index/SKILL.md +724 -0
  141. package/assets/skills/oat-repo-knowledge-index/references/templates/architecture.md +83 -0
  142. package/assets/skills/oat-repo-knowledge-index/references/templates/concerns.md +97 -0
  143. package/assets/skills/oat-repo-knowledge-index/references/templates/conventions.md +100 -0
  144. package/assets/skills/oat-repo-knowledge-index/references/templates/integrations.md +91 -0
  145. package/assets/skills/oat-repo-knowledge-index/references/templates/stack.md +86 -0
  146. package/assets/skills/oat-repo-knowledge-index/references/templates/structure.md +88 -0
  147. package/assets/skills/oat-repo-knowledge-index/references/templates/testing.md +137 -0
  148. package/assets/skills/oat-repo-maintainability-review/SKILL.md +198 -0
  149. package/assets/skills/oat-repo-maintainability-review/references/dx-checklist.md +33 -0
  150. package/assets/skills/oat-repo-maintainability-review/references/repo-review-artifact-template.md +72 -0
  151. package/assets/skills/oat-repo-maintainability-review/references/repo-review-rubric.md +66 -0
  152. package/assets/skills/oat-repo-maintainability-review/scripts/resolve-analysis-output.sh +162 -0
  153. package/assets/skills/oat-review-provide/SKILL.md +231 -0
  154. package/assets/skills/oat-review-provide/references/review-artifact-template.md +55 -0
  155. package/assets/skills/oat-review-provide/scripts/resolve-review-output.sh +124 -0
  156. package/assets/skills/oat-review-receive/SKILL.md +238 -0
  157. package/assets/skills/oat-review-receive-remote/SKILL.md +250 -0
  158. package/assets/skills/oat-worktree-bootstrap/SKILL.md +208 -0
  159. package/assets/skills/oat-worktree-bootstrap/references/worktree-conventions.md +58 -0
  160. package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +245 -0
  161. package/assets/skills/oat-worktree-bootstrap-auto/scripts/bootstrap.sh +194 -0
  162. package/assets/skills/skeptic/SKILL.md +261 -0
  163. package/assets/skills/synthesize/SKILL.md +361 -0
  164. package/assets/templates/backlog-item.md +24 -0
  165. package/assets/templates/design.md +315 -0
  166. package/assets/templates/discovery.md +135 -0
  167. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +30 -0
  168. package/assets/templates/docs-app-fuma/app/api/search/route.ts +8 -0
  169. package/assets/templates/docs-app-fuma/app/globals.css +69 -0
  170. package/assets/templates/docs-app-fuma/app/layout.tsx +26 -0
  171. package/assets/templates/docs-app-fuma/docs/contributing.md +71 -0
  172. package/assets/templates/docs-app-fuma/docs/getting-started.md +40 -0
  173. package/assets/templates/docs-app-fuma/docs/index.md +13 -0
  174. package/assets/templates/docs-app-fuma/lib/source.ts +8 -0
  175. package/assets/templates/docs-app-fuma/next.config.js +6 -0
  176. package/assets/templates/docs-app-fuma/package.json.template +38 -0
  177. package/assets/templates/docs-app-fuma/postcss.config.mjs +7 -0
  178. package/assets/templates/docs-app-fuma/source.config.ts +14 -0
  179. package/assets/templates/docs-app-fuma/tsconfig.json +25 -0
  180. package/assets/templates/docs-app-mkdocs/docs/contributing.md +122 -0
  181. package/assets/templates/docs-app-mkdocs/docs/getting-started.md +28 -0
  182. package/assets/templates/docs-app-mkdocs/docs/index.md +8 -0
  183. package/assets/templates/docs-app-mkdocs/mkdocs.yml +47 -0
  184. package/assets/templates/docs-app-mkdocs/package.json.template +19 -0
  185. package/assets/templates/docs-app-mkdocs/requirements.txt +6 -0
  186. package/assets/templates/docs-app-mkdocs/setup-docs.sh +18 -0
  187. package/assets/templates/ideas/idea-discovery.md +39 -0
  188. package/assets/templates/ideas/idea-summary.md +42 -0
  189. package/assets/templates/ideas/ideas-backlog.md +21 -0
  190. package/assets/templates/ideas/ideas-scratchpad.md +10 -0
  191. package/assets/templates/implementation.md +207 -0
  192. package/assets/templates/plan.md +171 -0
  193. package/assets/templates/roadmap.md +24 -0
  194. package/assets/templates/spec.md +138 -0
  195. package/assets/templates/state.md +49 -0
  196. package/assets/templates/summary.md +82 -0
  197. package/dist/agents/canonical/index.d.ts +4 -0
  198. package/dist/agents/canonical/index.d.ts.map +1 -0
  199. package/dist/agents/canonical/index.js +2 -0
  200. package/dist/agents/canonical/parse.d.ts +4 -0
  201. package/dist/agents/canonical/parse.d.ts.map +1 -0
  202. package/dist/agents/canonical/parse.js +97 -0
  203. package/dist/agents/canonical/render.d.ts +3 -0
  204. package/dist/agents/canonical/render.d.ts.map +1 -0
  205. package/dist/agents/canonical/render.js +17 -0
  206. package/dist/agents/canonical/types.d.ts +22 -0
  207. package/dist/agents/canonical/types.d.ts.map +1 -0
  208. package/dist/agents/canonical/types.js +1 -0
  209. package/dist/app/command-context.d.ts +21 -0
  210. package/dist/app/command-context.d.ts.map +1 -0
  211. package/dist/app/command-context.js +18 -0
  212. package/dist/app/create-program.d.ts +3 -0
  213. package/dist/app/create-program.d.ts.map +1 -0
  214. package/dist/app/create-program.js +17 -0
  215. package/dist/commands/__tests__/helpers.d.ts +12 -0
  216. package/dist/commands/__tests__/helpers.d.ts.map +1 -0
  217. package/dist/commands/__tests__/helpers.js +36 -0
  218. package/dist/commands/backlog/index.d.ts +14 -0
  219. package/dist/commands/backlog/index.d.ts.map +1 -0
  220. package/dist/commands/backlog/index.js +80 -0
  221. package/dist/commands/backlog/init.d.ts +2 -0
  222. package/dist/commands/backlog/init.d.ts.map +1 -0
  223. package/dist/commands/backlog/init.js +66 -0
  224. package/dist/commands/backlog/regenerate-index.d.ts +2 -0
  225. package/dist/commands/backlog/regenerate-index.d.ts.map +1 -0
  226. package/dist/commands/backlog/regenerate-index.js +78 -0
  227. package/dist/commands/backlog/shared/generate-id.d.ts +4 -0
  228. package/dist/commands/backlog/shared/generate-id.d.ts.map +1 -0
  229. package/dist/commands/backlog/shared/generate-id.js +65 -0
  230. package/dist/commands/cleanup/artifacts/artifacts.d.ts +44 -0
  231. package/dist/commands/cleanup/artifacts/artifacts.d.ts.map +1 -0
  232. package/dist/commands/cleanup/artifacts/artifacts.js +381 -0
  233. package/dist/commands/cleanup/artifacts/artifacts.types.d.ts +13 -0
  234. package/dist/commands/cleanup/artifacts/artifacts.types.d.ts.map +1 -0
  235. package/dist/commands/cleanup/artifacts/artifacts.types.js +1 -0
  236. package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts +14 -0
  237. package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts.map +1 -0
  238. package/dist/commands/cleanup/artifacts/artifacts.utils.js +74 -0
  239. package/dist/commands/cleanup/cleanup.types.d.ts +26 -0
  240. package/dist/commands/cleanup/cleanup.types.d.ts.map +1 -0
  241. package/dist/commands/cleanup/cleanup.types.js +1 -0
  242. package/dist/commands/cleanup/cleanup.utils.d.ts +17 -0
  243. package/dist/commands/cleanup/cleanup.utils.d.ts.map +1 -0
  244. package/dist/commands/cleanup/cleanup.utils.js +44 -0
  245. package/dist/commands/cleanup/index.d.ts +3 -0
  246. package/dist/commands/cleanup/index.d.ts.map +1 -0
  247. package/dist/commands/cleanup/index.js +9 -0
  248. package/dist/commands/cleanup/project/project.d.ts +20 -0
  249. package/dist/commands/cleanup/project/project.d.ts.map +1 -0
  250. package/dist/commands/cleanup/project/project.js +263 -0
  251. package/dist/commands/cleanup/project/project.utils.d.ts +8 -0
  252. package/dist/commands/cleanup/project/project.utils.d.ts.map +1 -0
  253. package/dist/commands/cleanup/project/project.utils.js +48 -0
  254. package/dist/commands/config/index.d.ts +16 -0
  255. package/dist/commands/config/index.d.ts.map +1 -0
  256. package/dist/commands/config/index.js +700 -0
  257. package/dist/commands/docs/analyze.d.ts +8 -0
  258. package/dist/commands/docs/analyze.d.ts.map +1 -0
  259. package/dist/commands/docs/analyze.js +45 -0
  260. package/dist/commands/docs/apply.d.ts +8 -0
  261. package/dist/commands/docs/apply.d.ts.map +1 -0
  262. package/dist/commands/docs/apply.js +45 -0
  263. package/dist/commands/docs/index-generate/generator.d.ts +9 -0
  264. package/dist/commands/docs/index-generate/generator.d.ts.map +1 -0
  265. package/dist/commands/docs/index-generate/generator.js +114 -0
  266. package/dist/commands/docs/index-generate/index.d.ts +16 -0
  267. package/dist/commands/docs/index-generate/index.d.ts.map +1 -0
  268. package/dist/commands/docs/index-generate/index.js +72 -0
  269. package/dist/commands/docs/index.d.ts +3 -0
  270. package/dist/commands/docs/index.d.ts.map +1 -0
  271. package/dist/commands/docs/index.js +17 -0
  272. package/dist/commands/docs/init/index.d.ts +18 -0
  273. package/dist/commands/docs/init/index.d.ts.map +1 -0
  274. package/dist/commands/docs/init/index.js +129 -0
  275. package/dist/commands/docs/init/resolve-options.d.ts +41 -0
  276. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -0
  277. package/dist/commands/docs/init/resolve-options.js +120 -0
  278. package/dist/commands/docs/init/scaffold.d.ts +18 -0
  279. package/dist/commands/docs/init/scaffold.d.ts.map +1 -0
  280. package/dist/commands/docs/init/scaffold.js +233 -0
  281. package/dist/commands/docs/migrate/codemod.d.ts +6 -0
  282. package/dist/commands/docs/migrate/codemod.d.ts.map +1 -0
  283. package/dist/commands/docs/migrate/codemod.js +62 -0
  284. package/dist/commands/docs/migrate/frontmatter.d.ts +12 -0
  285. package/dist/commands/docs/migrate/frontmatter.d.ts.map +1 -0
  286. package/dist/commands/docs/migrate/frontmatter.js +55 -0
  287. package/dist/commands/docs/migrate/index.d.ts +18 -0
  288. package/dist/commands/docs/migrate/index.d.ts.map +1 -0
  289. package/dist/commands/docs/migrate/index.js +138 -0
  290. package/dist/commands/docs/nav/contents.d.ts +14 -0
  291. package/dist/commands/docs/nav/contents.d.ts.map +1 -0
  292. package/dist/commands/docs/nav/contents.js +106 -0
  293. package/dist/commands/docs/nav/index.d.ts +3 -0
  294. package/dist/commands/docs/nav/index.d.ts.map +1 -0
  295. package/dist/commands/docs/nav/index.js +7 -0
  296. package/dist/commands/docs/nav/sync.d.ts +20 -0
  297. package/dist/commands/docs/nav/sync.d.ts.map +1 -0
  298. package/dist/commands/docs/nav/sync.js +92 -0
  299. package/dist/commands/doctor/index.d.ts +32 -0
  300. package/dist/commands/doctor/index.d.ts.map +1 -0
  301. package/dist/commands/doctor/index.js +373 -0
  302. package/dist/commands/index-cmd/index.d.ts +11 -0
  303. package/dist/commands/index-cmd/index.d.ts.map +1 -0
  304. package/dist/commands/index-cmd/index.js +62 -0
  305. package/dist/commands/index-cmd/thin-index.d.ts +19 -0
  306. package/dist/commands/index-cmd/thin-index.d.ts.map +1 -0
  307. package/dist/commands/index-cmd/thin-index.js +330 -0
  308. package/dist/commands/index.d.ts +3 -0
  309. package/dist/commands/index.d.ts.map +1 -0
  310. package/dist/commands/index.js +38 -0
  311. package/dist/commands/init/detect-docs.d.ts +11 -0
  312. package/dist/commands/init/detect-docs.d.ts.map +1 -0
  313. package/dist/commands/init/detect-docs.js +51 -0
  314. package/dist/commands/init/gitignore.d.ts +6 -0
  315. package/dist/commands/init/gitignore.d.ts.map +1 -0
  316. package/dist/commands/init/gitignore.js +41 -0
  317. package/dist/commands/init/index.d.ts +70 -0
  318. package/dist/commands/init/index.d.ts.map +1 -0
  319. package/dist/commands/init/index.js +570 -0
  320. package/dist/commands/init/tools/core/index.d.ts +12 -0
  321. package/dist/commands/init/tools/core/index.d.ts.map +1 -0
  322. package/dist/commands/init/tools/core/index.js +67 -0
  323. package/dist/commands/init/tools/core/install-core.d.ts +30 -0
  324. package/dist/commands/init/tools/core/install-core.d.ts.map +1 -0
  325. package/dist/commands/init/tools/core/install-core.js +50 -0
  326. package/dist/commands/init/tools/docs/index.d.ts +17 -0
  327. package/dist/commands/init/tools/docs/index.d.ts.map +1 -0
  328. package/dist/commands/init/tools/docs/index.js +110 -0
  329. package/dist/commands/init/tools/docs/install-docs.d.ts +23 -0
  330. package/dist/commands/init/tools/docs/install-docs.d.ts.map +1 -0
  331. package/dist/commands/init/tools/docs/install-docs.js +58 -0
  332. package/dist/commands/init/tools/ideas/index.d.ts +16 -0
  333. package/dist/commands/init/tools/ideas/index.d.ts.map +1 -0
  334. package/dist/commands/init/tools/ideas/index.js +94 -0
  335. package/dist/commands/init/tools/ideas/install-ideas.d.ts +25 -0
  336. package/dist/commands/init/tools/ideas/install-ideas.d.ts.map +1 -0
  337. package/dist/commands/init/tools/ideas/install-ideas.js +78 -0
  338. package/dist/commands/init/tools/index.d.ts +51 -0
  339. package/dist/commands/init/tools/index.d.ts.map +1 -0
  340. package/dist/commands/init/tools/index.js +387 -0
  341. package/dist/commands/init/tools/project-management/index.d.ts +12 -0
  342. package/dist/commands/init/tools/project-management/index.d.ts.map +1 -0
  343. package/dist/commands/init/tools/project-management/index.js +61 -0
  344. package/dist/commands/init/tools/project-management/install-project-management.d.ts +22 -0
  345. package/dist/commands/init/tools/project-management/install-project-management.d.ts.map +1 -0
  346. package/dist/commands/init/tools/project-management/install-project-management.js +52 -0
  347. package/dist/commands/init/tools/research/index.d.ts +17 -0
  348. package/dist/commands/init/tools/research/index.d.ts.map +1 -0
  349. package/dist/commands/init/tools/research/index.js +110 -0
  350. package/dist/commands/init/tools/research/install-research.d.ts +23 -0
  351. package/dist/commands/init/tools/research/install-research.d.ts.map +1 -0
  352. package/dist/commands/init/tools/research/install-research.js +52 -0
  353. package/dist/commands/init/tools/shared/copy-helpers.d.ts +12 -0
  354. package/dist/commands/init/tools/shared/copy-helpers.d.ts.map +1 -0
  355. package/dist/commands/init/tools/shared/copy-helpers.js +52 -0
  356. package/dist/commands/init/tools/shared/skill-manifest.d.ts +22 -0
  357. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -0
  358. package/dist/commands/init/tools/shared/skill-manifest.js +102 -0
  359. package/dist/commands/init/tools/shared/version.d.ts +3 -0
  360. package/dist/commands/init/tools/shared/version.d.ts.map +1 -0
  361. package/dist/commands/init/tools/shared/version.js +27 -0
  362. package/dist/commands/init/tools/utility/index.d.ts +17 -0
  363. package/dist/commands/init/tools/utility/index.d.ts.map +1 -0
  364. package/dist/commands/init/tools/utility/index.js +109 -0
  365. package/dist/commands/init/tools/utility/install-utility.d.ts +20 -0
  366. package/dist/commands/init/tools/utility/install-utility.d.ts.map +1 -0
  367. package/dist/commands/init/tools/utility/install-utility.js +35 -0
  368. package/dist/commands/init/tools/workflows/index.d.ts +14 -0
  369. package/dist/commands/init/tools/workflows/index.d.ts.map +1 -0
  370. package/dist/commands/init/tools/workflows/index.js +84 -0
  371. package/dist/commands/init/tools/workflows/install-workflows.d.ts +32 -0
  372. package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -0
  373. package/dist/commands/init/tools/workflows/install-workflows.js +135 -0
  374. package/dist/commands/instructions/index.d.ts +3 -0
  375. package/dist/commands/instructions/index.d.ts.map +1 -0
  376. package/dist/commands/instructions/index.js +9 -0
  377. package/dist/commands/instructions/instructions.types.d.ts +52 -0
  378. package/dist/commands/instructions/instructions.types.d.ts.map +1 -0
  379. package/dist/commands/instructions/instructions.types.js +1 -0
  380. package/dist/commands/instructions/instructions.utils.d.ts +13 -0
  381. package/dist/commands/instructions/instructions.utils.d.ts.map +1 -0
  382. package/dist/commands/instructions/instructions.utils.js +211 -0
  383. package/dist/commands/instructions/sync/sync.d.ts +4 -0
  384. package/dist/commands/instructions/sync/sync.d.ts.map +1 -0
  385. package/dist/commands/instructions/sync/sync.js +142 -0
  386. package/dist/commands/instructions/validate/validate.d.ts +4 -0
  387. package/dist/commands/instructions/validate/validate.d.ts.map +1 -0
  388. package/dist/commands/instructions/validate/validate.js +53 -0
  389. package/dist/commands/internal/index.d.ts +3 -0
  390. package/dist/commands/internal/index.d.ts.map +1 -0
  391. package/dist/commands/internal/index.js +7 -0
  392. package/dist/commands/internal/validate-oat-skills.d.ts +10 -0
  393. package/dist/commands/internal/validate-oat-skills.d.ts.map +1 -0
  394. package/dist/commands/internal/validate-oat-skills.js +66 -0
  395. package/dist/commands/local/apply.d.ts +6 -0
  396. package/dist/commands/local/apply.d.ts.map +1 -0
  397. package/dist/commands/local/apply.js +56 -0
  398. package/dist/commands/local/expand.d.ts +8 -0
  399. package/dist/commands/local/expand.d.ts.map +1 -0
  400. package/dist/commands/local/expand.js +83 -0
  401. package/dist/commands/local/index.d.ts +3 -0
  402. package/dist/commands/local/index.d.ts.map +1 -0
  403. package/dist/commands/local/index.js +248 -0
  404. package/dist/commands/local/manage.d.ts +18 -0
  405. package/dist/commands/local/manage.d.ts.map +1 -0
  406. package/dist/commands/local/manage.js +66 -0
  407. package/dist/commands/local/status.d.ts +7 -0
  408. package/dist/commands/local/status.d.ts.map +1 -0
  409. package/dist/commands/local/status.js +46 -0
  410. package/dist/commands/local/sync.d.ts +20 -0
  411. package/dist/commands/local/sync.d.ts.map +1 -0
  412. package/dist/commands/local/sync.js +40 -0
  413. package/dist/commands/project/archive/archive-utils.d.ts +70 -0
  414. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -0
  415. package/dist/commands/project/archive/archive-utils.js +236 -0
  416. package/dist/commands/project/archive/index.d.ts +20 -0
  417. package/dist/commands/project/archive/index.d.ts.map +1 -0
  418. package/dist/commands/project/archive/index.js +217 -0
  419. package/dist/commands/project/index.d.ts +3 -0
  420. package/dist/commands/project/index.d.ts.map +1 -0
  421. package/dist/commands/project/index.js +15 -0
  422. package/dist/commands/project/new/index.d.ts +17 -0
  423. package/dist/commands/project/new/index.d.ts.map +1 -0
  424. package/dist/commands/project/new/index.js +76 -0
  425. package/dist/commands/project/new/scaffold.d.ts +24 -0
  426. package/dist/commands/project/new/scaffold.d.ts.map +1 -0
  427. package/dist/commands/project/new/scaffold.js +177 -0
  428. package/dist/commands/project/open/index.d.ts +26 -0
  429. package/dist/commands/project/open/index.d.ts.map +1 -0
  430. package/dist/commands/project/open/index.js +139 -0
  431. package/dist/commands/project/pause/index.d.ts +27 -0
  432. package/dist/commands/project/pause/index.d.ts.map +1 -0
  433. package/dist/commands/project/pause/index.js +120 -0
  434. package/dist/commands/project/set-mode/index.d.ts +14 -0
  435. package/dist/commands/project/set-mode/index.d.ts.map +1 -0
  436. package/dist/commands/project/set-mode/index.js +115 -0
  437. package/dist/commands/providers/index.d.ts +4 -0
  438. package/dist/commands/providers/index.d.ts.map +1 -0
  439. package/dist/commands/providers/index.js +11 -0
  440. package/dist/commands/providers/inspect/inspect.d.ts +4 -0
  441. package/dist/commands/providers/inspect/inspect.d.ts.map +1 -0
  442. package/dist/commands/providers/inspect/inspect.js +156 -0
  443. package/dist/commands/providers/list/list.d.ts +4 -0
  444. package/dist/commands/providers/list/list.d.ts.map +1 -0
  445. package/dist/commands/providers/list/list.js +163 -0
  446. package/dist/commands/providers/providers.types.d.ts +63 -0
  447. package/dist/commands/providers/providers.types.d.ts.map +1 -0
  448. package/dist/commands/providers/providers.types.js +1 -0
  449. package/dist/commands/providers/set/index.d.ts +4 -0
  450. package/dist/commands/providers/set/index.d.ts.map +1 -0
  451. package/dist/commands/providers/set/index.js +138 -0
  452. package/dist/commands/remove/index.d.ts +3 -0
  453. package/dist/commands/remove/index.d.ts.map +1 -0
  454. package/dist/commands/remove/index.js +9 -0
  455. package/dist/commands/remove/skill/index.d.ts +2 -0
  456. package/dist/commands/remove/skill/index.d.ts.map +1 -0
  457. package/dist/commands/remove/skill/index.js +1 -0
  458. package/dist/commands/remove/skill/remove-skill.d.ts +23 -0
  459. package/dist/commands/remove/skill/remove-skill.d.ts.map +1 -0
  460. package/dist/commands/remove/skill/remove-skill.js +231 -0
  461. package/dist/commands/remove/skills/index.d.ts +2 -0
  462. package/dist/commands/remove/skills/index.d.ts.map +1 -0
  463. package/dist/commands/remove/skills/index.js +1 -0
  464. package/dist/commands/remove/skills/remove-skills.d.ts +14 -0
  465. package/dist/commands/remove/skills/remove-skills.d.ts.map +1 -0
  466. package/dist/commands/remove/skills/remove-skills.js +98 -0
  467. package/dist/commands/repo/index.d.ts +3 -0
  468. package/dist/commands/repo/index.d.ts.map +1 -0
  469. package/dist/commands/repo/index.js +7 -0
  470. package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts +9 -0
  471. package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts.map +1 -0
  472. package/dist/commands/repo/pr-comments/collect/collect-comments.js +284 -0
  473. package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts +3 -0
  474. package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts.map +1 -0
  475. package/dist/commands/repo/pr-comments/collect/graphql-queries.js +56 -0
  476. package/dist/commands/repo/pr-comments/collect/index.d.ts +4 -0
  477. package/dist/commands/repo/pr-comments/collect/index.d.ts.map +1 -0
  478. package/dist/commands/repo/pr-comments/collect/index.js +25 -0
  479. package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts +62 -0
  480. package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts.map +1 -0
  481. package/dist/commands/repo/pr-comments/collect/pr-comments.types.js +1 -0
  482. package/dist/commands/repo/pr-comments/index.d.ts +3 -0
  483. package/dist/commands/repo/pr-comments/index.d.ts.map +1 -0
  484. package/dist/commands/repo/pr-comments/index.js +9 -0
  485. package/dist/commands/repo/pr-comments/triage-collection/index.d.ts +4 -0
  486. package/dist/commands/repo/pr-comments/triage-collection/index.d.ts.map +1 -0
  487. package/dist/commands/repo/pr-comments/triage-collection/index.js +21 -0
  488. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts +13 -0
  489. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts.map +1 -0
  490. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.js +81 -0
  491. package/dist/commands/shared/adopt-stray.d.ts +22 -0
  492. package/dist/commands/shared/adopt-stray.d.ts.map +1 -0
  493. package/dist/commands/shared/adopt-stray.js +135 -0
  494. package/dist/commands/shared/agents-md.d.ts +18 -0
  495. package/dist/commands/shared/agents-md.d.ts.map +1 -0
  496. package/dist/commands/shared/agents-md.js +81 -0
  497. package/dist/commands/shared/codex-strays.d.ts +16 -0
  498. package/dist/commands/shared/codex-strays.d.ts.map +1 -0
  499. package/dist/commands/shared/codex-strays.js +116 -0
  500. package/dist/commands/shared/frontmatter-write.d.ts +8 -0
  501. package/dist/commands/shared/frontmatter-write.d.ts.map +1 -0
  502. package/dist/commands/shared/frontmatter-write.js +27 -0
  503. package/dist/commands/shared/frontmatter.d.ts +6 -0
  504. package/dist/commands/shared/frontmatter.d.ts.map +1 -0
  505. package/dist/commands/shared/frontmatter.js +35 -0
  506. package/dist/commands/shared/messages.d.ts +2 -0
  507. package/dist/commands/shared/messages.d.ts.map +1 -0
  508. package/dist/commands/shared/messages.js +1 -0
  509. package/dist/commands/shared/oat-paths.d.ts +2 -0
  510. package/dist/commands/shared/oat-paths.d.ts.map +1 -0
  511. package/dist/commands/shared/oat-paths.js +13 -0
  512. package/dist/commands/shared/shared.prompts.d.ts +21 -0
  513. package/dist/commands/shared/shared.prompts.d.ts.map +1 -0
  514. package/dist/commands/shared/shared.prompts.js +107 -0
  515. package/dist/commands/shared/shared.utils.d.ts +6 -0
  516. package/dist/commands/shared/shared.utils.d.ts.map +1 -0
  517. package/dist/commands/shared/shared.utils.js +9 -0
  518. package/dist/commands/state/generate.d.ts +21 -0
  519. package/dist/commands/state/generate.d.ts.map +1 -0
  520. package/dist/commands/state/generate.js +440 -0
  521. package/dist/commands/state/index.d.ts +11 -0
  522. package/dist/commands/state/index.d.ts.map +1 -0
  523. package/dist/commands/state/index.js +58 -0
  524. package/dist/commands/status/index.d.ts +44 -0
  525. package/dist/commands/status/index.d.ts.map +1 -0
  526. package/dist/commands/status/index.js +340 -0
  527. package/dist/commands/sync/apply.d.ts +4 -0
  528. package/dist/commands/sync/apply.d.ts.map +1 -0
  529. package/dist/commands/sync/apply.js +100 -0
  530. package/dist/commands/sync/dry-run.d.ts +4 -0
  531. package/dist/commands/sync/dry-run.d.ts.map +1 -0
  532. package/dist/commands/sync/dry-run.js +74 -0
  533. package/dist/commands/sync/index.d.ts +4 -0
  534. package/dist/commands/sync/index.d.ts.map +1 -0
  535. package/dist/commands/sync/index.js +225 -0
  536. package/dist/commands/sync/sync.types.d.ts +80 -0
  537. package/dist/commands/sync/sync.types.d.ts.map +1 -0
  538. package/dist/commands/sync/sync.types.js +1 -0
  539. package/dist/commands/sync/sync.utils.d.ts +3 -0
  540. package/dist/commands/sync/sync.utils.d.ts.map +1 -0
  541. package/dist/commands/sync/sync.utils.js +8 -0
  542. package/dist/commands/tools/index.d.ts +3 -0
  543. package/dist/commands/tools/index.d.ts.map +1 -0
  544. package/dist/commands/tools/index.js +17 -0
  545. package/dist/commands/tools/info/index.d.ts +4 -0
  546. package/dist/commands/tools/info/index.d.ts.map +1 -0
  547. package/dist/commands/tools/info/index.js +74 -0
  548. package/dist/commands/tools/info/info-tool.d.ts +21 -0
  549. package/dist/commands/tools/info/info-tool.d.ts.map +1 -0
  550. package/dist/commands/tools/info/info-tool.js +52 -0
  551. package/dist/commands/tools/install/index.d.ts +4 -0
  552. package/dist/commands/tools/install/index.d.ts.map +1 -0
  553. package/dist/commands/tools/install/index.js +34 -0
  554. package/dist/commands/tools/list/index.d.ts +4 -0
  555. package/dist/commands/tools/list/index.d.ts.map +1 -0
  556. package/dist/commands/tools/list/index.js +25 -0
  557. package/dist/commands/tools/list/list-tools.d.ts +13 -0
  558. package/dist/commands/tools/list/list-tools.d.ts.map +1 -0
  559. package/dist/commands/tools/list/list-tools.js +43 -0
  560. package/dist/commands/tools/outdated/index.d.ts +4 -0
  561. package/dist/commands/tools/outdated/index.d.ts.map +1 -0
  562. package/dist/commands/tools/outdated/index.js +25 -0
  563. package/dist/commands/tools/outdated/outdated-tools.d.ts +13 -0
  564. package/dist/commands/tools/outdated/outdated-tools.d.ts.map +1 -0
  565. package/dist/commands/tools/outdated/outdated-tools.js +43 -0
  566. package/dist/commands/tools/remove/index.d.ts +5 -0
  567. package/dist/commands/tools/remove/index.d.ts.map +1 -0
  568. package/dist/commands/tools/remove/index.js +122 -0
  569. package/dist/commands/tools/remove/remove-tools.d.ts +31 -0
  570. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -0
  571. package/dist/commands/tools/remove/remove-tools.js +41 -0
  572. package/dist/commands/tools/shared/auto-sync.d.ts +16 -0
  573. package/dist/commands/tools/shared/auto-sync.d.ts.map +1 -0
  574. package/dist/commands/tools/shared/auto-sync.js +17 -0
  575. package/dist/commands/tools/shared/scan-tools.d.ts +18 -0
  576. package/dist/commands/tools/shared/scan-tools.d.ts.map +1 -0
  577. package/dist/commands/tools/shared/scan-tools.js +128 -0
  578. package/dist/commands/tools/shared/types.d.ts +12 -0
  579. package/dist/commands/tools/shared/types.d.ts.map +1 -0
  580. package/dist/commands/tools/shared/types.js +1 -0
  581. package/dist/commands/tools/update/index.d.ts +8 -0
  582. package/dist/commands/tools/update/index.d.ts.map +1 -0
  583. package/dist/commands/tools/update/index.js +149 -0
  584. package/dist/commands/tools/update/update-tools.d.ts +29 -0
  585. package/dist/commands/tools/update/update-tools.d.ts.map +1 -0
  586. package/dist/commands/tools/update/update-tools.js +148 -0
  587. package/dist/config/index.d.ts +4 -0
  588. package/dist/config/index.d.ts.map +1 -0
  589. package/dist/config/index.js +2 -0
  590. package/dist/config/oat-config.d.ts +61 -0
  591. package/dist/config/oat-config.d.ts.map +1 -0
  592. package/dist/config/oat-config.js +319 -0
  593. package/dist/config/runtime.d.ts +2 -0
  594. package/dist/config/runtime.d.ts.map +1 -0
  595. package/dist/config/runtime.js +3 -0
  596. package/dist/config/sync-config.d.ts +49 -0
  597. package/dist/config/sync-config.d.ts.map +1 -0
  598. package/dist/config/sync-config.js +94 -0
  599. package/dist/drift/detector.d.ts +4 -0
  600. package/dist/drift/detector.d.ts.map +1 -0
  601. package/dist/drift/detector.js +69 -0
  602. package/dist/drift/drift.types.d.ts +17 -0
  603. package/dist/drift/drift.types.d.ts.map +1 -0
  604. package/dist/drift/drift.types.js +1 -0
  605. package/dist/drift/index.d.ts +4 -0
  606. package/dist/drift/index.d.ts.map +1 -0
  607. package/dist/drift/index.js +2 -0
  608. package/dist/drift/strays.d.ts +7 -0
  609. package/dist/drift/strays.d.ts.map +1 -0
  610. package/dist/drift/strays.js +153 -0
  611. package/dist/engine/compute-plan.d.ts +16 -0
  612. package/dist/engine/compute-plan.d.ts.map +1 -0
  613. package/dist/engine/compute-plan.js +234 -0
  614. package/dist/engine/engine.types.d.ts +28 -0
  615. package/dist/engine/engine.types.d.ts.map +1 -0
  616. package/dist/engine/engine.types.js +8 -0
  617. package/dist/engine/execute-plan.d.ts +5 -0
  618. package/dist/engine/execute-plan.d.ts.map +1 -0
  619. package/dist/engine/execute-plan.js +141 -0
  620. package/dist/engine/hook.d.ts +23 -0
  621. package/dist/engine/hook.d.ts.map +1 -0
  622. package/dist/engine/hook.js +254 -0
  623. package/dist/engine/index.d.ts +9 -0
  624. package/dist/engine/index.d.ts.map +1 -0
  625. package/dist/engine/index.js +6 -0
  626. package/dist/engine/markers.d.ts +6 -0
  627. package/dist/engine/markers.d.ts.map +1 -0
  628. package/dist/engine/markers.js +24 -0
  629. package/dist/engine/scanner.d.ts +11 -0
  630. package/dist/engine/scanner.d.ts.map +1 -0
  631. package/dist/engine/scanner.js +65 -0
  632. package/dist/engine/test-helpers.d.ts +3 -0
  633. package/dist/engine/test-helpers.d.ts.map +1 -0
  634. package/dist/engine/test-helpers.js +31 -0
  635. package/dist/errors/cli-error.d.ts +5 -0
  636. package/dist/errors/cli-error.d.ts.map +1 -0
  637. package/dist/errors/cli-error.js +8 -0
  638. package/dist/errors/index.d.ts +2 -0
  639. package/dist/errors/index.d.ts.map +1 -0
  640. package/dist/errors/index.js +1 -0
  641. package/dist/fs/assets.d.ts +2 -0
  642. package/dist/fs/assets.d.ts.map +1 -0
  643. package/dist/fs/assets.js +22 -0
  644. package/dist/fs/index.d.ts +4 -0
  645. package/dist/fs/index.d.ts.map +1 -0
  646. package/dist/fs/index.js +3 -0
  647. package/dist/fs/io.d.ts +9 -0
  648. package/dist/fs/io.d.ts.map +1 -0
  649. package/dist/fs/io.js +74 -0
  650. package/dist/fs/paths.d.ts +9 -0
  651. package/dist/fs/paths.d.ts.map +1 -0
  652. package/dist/fs/paths.js +42 -0
  653. package/dist/index.d.ts +4 -0
  654. package/dist/index.d.ts.map +1 -0
  655. package/dist/index.js +48 -0
  656. package/dist/manifest/hash.d.ts +5 -0
  657. package/dist/manifest/hash.d.ts.map +1 -0
  658. package/dist/manifest/hash.js +75 -0
  659. package/dist/manifest/index.d.ts +5 -0
  660. package/dist/manifest/index.d.ts.map +1 -0
  661. package/dist/manifest/index.js +3 -0
  662. package/dist/manifest/manager.d.ts +8 -0
  663. package/dist/manifest/manager.d.ts.map +1 -0
  664. package/dist/manifest/manager.js +86 -0
  665. package/dist/manifest/manifest.types.d.ts +157 -0
  666. package/dist/manifest/manifest.types.d.ts.map +1 -0
  667. package/dist/manifest/manifest.types.js +56 -0
  668. package/dist/providers/claude/adapter.d.ts +3 -0
  669. package/dist/providers/claude/adapter.d.ts.map +1 -0
  670. package/dist/providers/claude/adapter.js +20 -0
  671. package/dist/providers/claude/index.d.ts +3 -0
  672. package/dist/providers/claude/index.d.ts.map +1 -0
  673. package/dist/providers/claude/index.js +2 -0
  674. package/dist/providers/claude/paths.d.ts +4 -0
  675. package/dist/providers/claude/paths.d.ts.map +1 -0
  676. package/dist/providers/claude/paths.js +38 -0
  677. package/dist/providers/claude/rule-transform.d.ts +3 -0
  678. package/dist/providers/claude/rule-transform.d.ts.map +1 -0
  679. package/dist/providers/claude/rule-transform.js +22 -0
  680. package/dist/providers/codex/adapter.d.ts +3 -0
  681. package/dist/providers/codex/adapter.d.ts.map +1 -0
  682. package/dist/providers/codex/adapter.js +20 -0
  683. package/dist/providers/codex/codec/config-merge.d.ts +17 -0
  684. package/dist/providers/codex/codec/config-merge.d.ts.map +1 -0
  685. package/dist/providers/codex/codec/config-merge.js +61 -0
  686. package/dist/providers/codex/codec/export-to-codex.d.ts +9 -0
  687. package/dist/providers/codex/codec/export-to-codex.d.ts.map +1 -0
  688. package/dist/providers/codex/codec/export-to-codex.js +45 -0
  689. package/dist/providers/codex/codec/import-from-codex.d.ts +9 -0
  690. package/dist/providers/codex/codec/import-from-codex.d.ts.map +1 -0
  691. package/dist/providers/codex/codec/import-from-codex.js +52 -0
  692. package/dist/providers/codex/codec/shared.d.ts +7 -0
  693. package/dist/providers/codex/codec/shared.d.ts.map +1 -0
  694. package/dist/providers/codex/codec/shared.js +21 -0
  695. package/dist/providers/codex/codec/sync-extension.d.ts +32 -0
  696. package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -0
  697. package/dist/providers/codex/codec/sync-extension.js +227 -0
  698. package/dist/providers/codex/index.d.ts +6 -0
  699. package/dist/providers/codex/index.d.ts.map +1 -0
  700. package/dist/providers/codex/index.js +5 -0
  701. package/dist/providers/codex/paths.d.ts +4 -0
  702. package/dist/providers/codex/paths.d.ts.map +1 -0
  703. package/dist/providers/codex/paths.js +28 -0
  704. package/dist/providers/copilot/adapter.d.ts +3 -0
  705. package/dist/providers/copilot/adapter.d.ts.map +1 -0
  706. package/dist/providers/copilot/adapter.js +30 -0
  707. package/dist/providers/copilot/index.d.ts +3 -0
  708. package/dist/providers/copilot/index.d.ts.map +1 -0
  709. package/dist/providers/copilot/index.js +2 -0
  710. package/dist/providers/copilot/paths.d.ts +4 -0
  711. package/dist/providers/copilot/paths.d.ts.map +1 -0
  712. package/dist/providers/copilot/paths.js +38 -0
  713. package/dist/providers/copilot/rule-transform.d.ts +3 -0
  714. package/dist/providers/copilot/rule-transform.d.ts.map +1 -0
  715. package/dist/providers/copilot/rule-transform.js +58 -0
  716. package/dist/providers/cursor/adapter.d.ts +3 -0
  717. package/dist/providers/cursor/adapter.d.ts.map +1 -0
  718. package/dist/providers/cursor/adapter.js +20 -0
  719. package/dist/providers/cursor/index.d.ts +3 -0
  720. package/dist/providers/cursor/index.d.ts.map +1 -0
  721. package/dist/providers/cursor/index.js +2 -0
  722. package/dist/providers/cursor/paths.d.ts +4 -0
  723. package/dist/providers/cursor/paths.d.ts.map +1 -0
  724. package/dist/providers/cursor/paths.js +38 -0
  725. package/dist/providers/cursor/rule-transform.d.ts +3 -0
  726. package/dist/providers/cursor/rule-transform.d.ts.map +1 -0
  727. package/dist/providers/cursor/rule-transform.js +48 -0
  728. package/dist/providers/gemini/adapter.d.ts +3 -0
  729. package/dist/providers/gemini/adapter.d.ts.map +1 -0
  730. package/dist/providers/gemini/adapter.js +20 -0
  731. package/dist/providers/gemini/index.d.ts +3 -0
  732. package/dist/providers/gemini/index.d.ts.map +1 -0
  733. package/dist/providers/gemini/index.js +2 -0
  734. package/dist/providers/gemini/paths.d.ts +4 -0
  735. package/dist/providers/gemini/paths.d.ts.map +1 -0
  736. package/dist/providers/gemini/paths.js +28 -0
  737. package/dist/providers/shared/adapter.types.d.ts +21 -0
  738. package/dist/providers/shared/adapter.types.d.ts.map +1 -0
  739. package/dist/providers/shared/adapter.types.js +1 -0
  740. package/dist/providers/shared/adapter.utils.d.ts +12 -0
  741. package/dist/providers/shared/adapter.utils.d.ts.map +1 -0
  742. package/dist/providers/shared/adapter.utils.js +57 -0
  743. package/dist/providers/shared/agent-codec.types.d.ts +13 -0
  744. package/dist/providers/shared/agent-codec.types.d.ts.map +1 -0
  745. package/dist/providers/shared/agent-codec.types.js +1 -0
  746. package/dist/providers/shared/index.d.ts +6 -0
  747. package/dist/providers/shared/index.d.ts.map +1 -0
  748. package/dist/providers/shared/index.js +2 -0
  749. package/dist/providers/shared/markdown-agent-codec.d.ts +5 -0
  750. package/dist/providers/shared/markdown-agent-codec.d.ts.map +1 -0
  751. package/dist/providers/shared/markdown-agent-codec.js +12 -0
  752. package/dist/release/public-package-contract.d.ts +14 -0
  753. package/dist/release/public-package-contract.d.ts.map +1 -0
  754. package/dist/release/public-package-contract.js +97 -0
  755. package/dist/rules/canonical/index.d.ts +6 -0
  756. package/dist/rules/canonical/index.d.ts.map +1 -0
  757. package/dist/rules/canonical/index.js +4 -0
  758. package/dist/rules/canonical/parse.d.ts +9 -0
  759. package/dist/rules/canonical/parse.d.ts.map +1 -0
  760. package/dist/rules/canonical/parse.js +103 -0
  761. package/dist/rules/canonical/provider-filenames.d.ts +3 -0
  762. package/dist/rules/canonical/provider-filenames.d.ts.map +1 -0
  763. package/dist/rules/canonical/provider-filenames.js +13 -0
  764. package/dist/rules/canonical/render.d.ts +5 -0
  765. package/dist/rules/canonical/render.d.ts.map +1 -0
  766. package/dist/rules/canonical/render.js +32 -0
  767. package/dist/rules/canonical/types.d.ts +16 -0
  768. package/dist/rules/canonical/types.d.ts.map +1 -0
  769. package/dist/rules/canonical/types.js +6 -0
  770. package/dist/shared/index.d.ts +3 -0
  771. package/dist/shared/index.d.ts.map +1 -0
  772. package/dist/shared/index.js +1 -0
  773. package/dist/shared/types.d.ts +10 -0
  774. package/dist/shared/types.d.ts.map +1 -0
  775. package/dist/shared/types.js +14 -0
  776. package/dist/ui/ansi.d.ts +2 -0
  777. package/dist/ui/ansi.d.ts.map +1 -0
  778. package/dist/ui/ansi.js +19 -0
  779. package/dist/ui/index.d.ts +7 -0
  780. package/dist/ui/index.d.ts.map +1 -0
  781. package/dist/ui/index.js +3 -0
  782. package/dist/ui/logger.d.ts +15 -0
  783. package/dist/ui/logger.d.ts.map +1 -0
  784. package/dist/ui/logger.js +52 -0
  785. package/dist/ui/output.d.ts +16 -0
  786. package/dist/ui/output.d.ts.map +1 -0
  787. package/dist/ui/output.js +135 -0
  788. package/dist/ui/spinner.d.ts +16 -0
  789. package/dist/ui/spinner.d.ts.map +1 -0
  790. package/dist/ui/spinner.js +46 -0
  791. package/dist/validation/index.d.ts +3 -0
  792. package/dist/validation/index.d.ts.map +1 -0
  793. package/dist/validation/index.js +1 -0
  794. package/dist/validation/skills.d.ts +10 -0
  795. package/dist/validation/skills.d.ts.map +1 -0
  796. package/dist/validation/skills.js +166 -0
  797. package/package.json +62 -0
@@ -0,0 +1,361 @@
1
+ ---
2
+ name: synthesize
3
+ version: 0.1.0
4
+ description: Merge multiple analysis artifacts into a single coherent report with provenance tracking. Reads existing artifacts from /deep-research, /analyze, and /compare.
5
+ argument-hint: '[directory | file1 file2 ...] [--inline]'
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep, Bash, AskUserQuestion
8
+ ---
9
+
10
+ # /synthesize
11
+
12
+ Merges multiple analysis artifacts (from /deep-research, /analyze, and /compare) into a single coherent report with provenance tracking. Sits at the end of the pipeline -- consuming outputs from these artifact-producing skills. Reads existing artifacts only; does not perform new research or dispatch sub-agents.
13
+
14
+ ## When to Use
15
+
16
+ Use when:
17
+
18
+ - Combining findings from multiple /deep-research, /analyze, or /compare runs
19
+ - Producing a single unified report from a directory of research artifacts
20
+ - Identifying agreements and contradictions across independent analyses
21
+ - Building a provenance-tracked synthesis for decision-making
22
+
23
+ ## When NOT to Use
24
+
25
+ Don't use when:
26
+
27
+ - Researching a new topic (use /deep-research)
28
+ - Analyzing a single artifact or codebase (use /analyze)
29
+ - Comparing specific alternatives (use /compare)
30
+ - Verifying a specific claim (use /skeptic)
31
+ - No existing artifacts to synthesize
32
+
33
+ ## Arguments
34
+
35
+ Parse from `$ARGUMENTS`:
36
+
37
+ - **directory**: Path to a directory containing artifacts to synthesize (primary mode)
38
+ - **file1 file2 ...**: Explicit file paths to synthesize (alternative mode)
39
+ - **--inline**: Produce condensed inline summary instead of writing an artifact file (optional)
40
+
41
+ At least one directory or file path is required.
42
+
43
+ ## Progress Indicators (User-Facing)
44
+
45
+ Print this banner once at start:
46
+
47
+ ```
48
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
+ /synthesize
50
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
51
+ ```
52
+
53
+ Then print step indicators before beginning work:
54
+
55
+ - `[1/6] Parsing arguments...`
56
+ - `[2/6] Discovering artifacts...`
57
+ - `[3/6] Classifying inputs and selecting output schema...`
58
+ - `[4/6] Extracting findings and provenance...`
59
+ - `[5/6] Reconciling across sources...`
60
+ - `[6/6] Producing output...`
61
+
62
+ For long-running operations (reading many artifacts), print a start line and a completion line:
63
+
64
+ ```
65
+ → Reading: {filename}...
66
+ → Complete.
67
+ ```
68
+
69
+ Keep it concise; don't print a line for every shell command.
70
+
71
+ ## Workflow
72
+
73
+ ### Step 1: Parse arguments
74
+
75
+ `[1/6] Parsing arguments...`
76
+
77
+ Parse from `$ARGUMENTS`:
78
+
79
+ - **directory**: If a single path ending in `/` or pointing to a directory, use directory mode.
80
+ - **file paths**: If multiple paths or paths pointing to files, use explicit mode.
81
+ - **--inline**: If present, produce condensed inline output instead of an artifact file.
82
+
83
+ If no paths are provided, ask the user for clarification:
84
+
85
+ - **Claude Code**: use `AskUserQuestion`
86
+ - **Codex**: use structured user-input tooling when available in the current host/runtime
87
+ - **Fallback**: ask in plain text
88
+
89
+ The prompt should ask: _"Please provide a directory path or file paths to the artifacts you want to synthesize."_
90
+
91
+ ---
92
+
93
+ ### Step 2: Discover artifacts
94
+
95
+ `[2/6] Discovering artifacts...`
96
+
97
+ **Directory mode:**
98
+
99
+ Scan the directory for `.md` files. For each file, read its YAML frontmatter and filter by the presence of all five required artifact keys (`skill`, `schema`, `topic`, `model`, `generated_at`). Only files with the complete artifact frontmatter contract are included.
100
+
101
+ Artifact frontmatter contract keys used for auto-detection:
102
+
103
+ | Key | Purpose |
104
+ | -------------- | -------------------------------------------- |
105
+ | `skill` | Which skill produced the artifact (required) |
106
+ | `schema` | Schema type used (required) |
107
+ | `topic` | Human-readable topic (required) |
108
+ | `model` | Model identifier slug (required) |
109
+ | `generated_at` | ISO date of generation (required) |
110
+
111
+ Report discovered artifacts:
112
+
113
+ ```
114
+ → Found N artifacts:
115
+ - {filename} (skill: {skill}, schema: {schema}, topic: {topic})
116
+ - ...
117
+ ```
118
+
119
+ If no artifacts are found, inform the user and stop:
120
+
121
+ ```
122
+ → No artifacts with valid artifact frontmatter found in {directory}. Nothing to synthesize.
123
+ ```
124
+
125
+ **Explicit mode:**
126
+
127
+ Read specified file paths directly. Validate that each file exists and contains artifact frontmatter. Warn and **skip** files that lack any of the required artifact frontmatter keys (`skill`, `schema`, `topic`, `model`, `generated_at`) — all five are required for both discovery modes.
128
+
129
+ If fewer than 2 valid artifacts are found, ask the user to confirm they want to proceed (synthesis of a single artifact produces limited value).
130
+
131
+ ---
132
+
133
+ ### Step 3: Classify inputs and select output schema
134
+
135
+ `[3/6] Classifying inputs and selecting output schema...`
136
+
137
+ Examine the `schema` values across all discovered artifacts:
138
+
139
+ | Input Mix | Output Schema | Behavior |
140
+ | ----------- | ------------------------------- | ------------------------------------------------------------------------------ |
141
+ | Homogeneous | Input schema + synthesis fields | All artifacts share the same schema; output extends it with synthesis sections |
142
+ | Mixed | `synthesis` (generic wrapper) | Artifacts use different schemas; output uses a generic synthesis structure |
143
+
144
+ Log the classification:
145
+
146
+ ```
147
+ → Input schemas: {list of unique schema values}
148
+ → Output schema: {selected schema}
149
+ ```
150
+
151
+ **Superset output schema fields:**
152
+
153
+ The output artifact includes all fields from the input schema (for homogeneous inputs) plus these synthesis-specific additions:
154
+
155
+ | Section | Purpose |
156
+ | --------------------- | ---------------------------------------------------------- |
157
+ | Source Agreement | Findings where multiple sources converge (high confidence) |
158
+ | Contradictions | Points where sources disagree, with lean and rationale |
159
+ | Unique Insights | Findings that appear in only one source |
160
+ | Provenance Table | Source tracking: file, skill, model, date for each input |
161
+ | Synthesis Methodology | How reconciliation was performed, what was prioritized |
162
+
163
+ ---
164
+
165
+ ### Step 4: Extract findings and provenance
166
+
167
+ `[4/6] Extracting findings and provenance...`
168
+
169
+ For each source artifact:
170
+
171
+ 1. **Extract findings**: Read the Findings section (or equivalent per schema type). Capture conclusions, recommendations, key data points, and any verdict or scoring.
172
+ 2. **Track provenance**: Record the source file path, `skill`, `model`, `generated_at`, and `schema` for attribution.
173
+
174
+ Print progress per artifact:
175
+
176
+ ```
177
+ → Reading: {filename}...
178
+ → Complete.
179
+ ```
180
+
181
+ Build an internal working set of:
182
+
183
+ - All findings, tagged by source
184
+ - All recommendations, tagged by source
185
+ - All conclusions or verdicts, tagged by source
186
+ - Provenance metadata for each source
187
+
188
+ ---
189
+
190
+ ### Step 5: Reconcile across sources
191
+
192
+ `[5/6] Reconciling across sources...`
193
+
194
+ Apply the following reconciliation protocol:
195
+
196
+ **Agreements:**
197
+
198
+ - Identify findings or conclusions where 2+ sources converge on the same point.
199
+ - Mark these as high-confidence items in Source Agreement section.
200
+ - Note which sources agree and any nuance differences.
201
+
202
+ **Contradictions:**
203
+
204
+ - Identify points where sources directly disagree.
205
+ - For each contradiction:
206
+ 1. **Flag** the disagreement explicitly.
207
+ 2. **Lean** toward the position with stronger evidence, more recent data, or broader source support.
208
+ 3. **Mark as lean, not decided fact** -- the synthesis flags the conflict and states which direction the evidence leans, but does not resolve it as ground truth.
209
+ - Present contradictions with both positions and the lean rationale.
210
+
211
+ **Deduplication:**
212
+
213
+ - Merge duplicate findings that appear across multiple sources.
214
+ - Preserve unique insights that appear in only one source -- do not discard them.
215
+ - Attribute deduplicated items to all contributing sources.
216
+
217
+ ---
218
+
219
+ ### Step 6: Produce output
220
+
221
+ `[6/6] Producing output...`
222
+
223
+ **Artifact output (default):**
224
+
225
+ Write synthesis document with the following structure:
226
+
227
+ 1. **Frontmatter:**
228
+
229
+ ```yaml
230
+ ---
231
+ skill: synthesize
232
+ schema: synthesis
233
+ topic: '{descriptive topic derived from input artifacts}'
234
+ model: { self-detected model identifier }
235
+ generated_at: { today's date }
236
+ source_count: { number of input artifacts }
237
+ ---
238
+ ```
239
+
240
+ 2. **Document structure:**
241
+ - **Executive Summary**: Unified overview of synthesized findings. Lead with the strongest conclusions (those with multi-source agreement).
242
+ - **Synthesis Methodology**: How many artifacts were consumed, what schemas were represented, reconciliation approach used.
243
+ - **Source Agreement**: Findings where multiple sources converge. Group by theme. Cite contributing sources.
244
+ - **Contradictions**: Points of disagreement. For each: both positions, evidence for each, lean direction, and explicit note that the lean is not decided fact.
245
+ - **Unique Insights**: Findings from individual sources not corroborated elsewhere. Attribute to source.
246
+ - **Consolidated Recommendations**: Merged recommendations across all sources, deduplicated and prioritized.
247
+ - **Provenance Table**: Tabular record of all input artifacts.
248
+
249
+ | Source File | Skill | Schema | Model | Generated At |
250
+ | ----------- | ------- | -------- | ------- | ------------ |
251
+ | {path} | {skill} | {schema} | {model} | {date} |
252
+
253
+ - **Sources & References**: Any references cited by the input artifacts, consolidated.
254
+
255
+ 3. **Model-tagged filename:** `{topic-slug}-synthesis-{model-id}.md` (e.g., `event-driven-architecture-synthesis-opus-4-6.md`)
256
+
257
+ 4. **Output destination resolution:**
258
+
259
+ If an explicit output path was provided in `$ARGUMENTS`, use it directly — no prompt.
260
+
261
+ Otherwise, determine a default suggestion:
262
+ - If all input artifacts came from the same directory, suggest that directory.
263
+ - Otherwise, use OAT-aware detection:
264
+ 1. Check for `.oat/` at repo root (project-level OAT) → suggest `.oat/repo/analysis/`
265
+ 2. Check for `~/.oat/` (user-level OAT) → suggest `~/.oat/analysis/`
266
+ 3. Fall back to current directory
267
+
268
+ Then ask the user via `AskUserQuestion` (Claude Code), structured user-input tooling (Codex), or equivalent:
269
+
270
+ > "Where would you like to write the synthesis? (default: {suggested path})"
271
+ - If the user confirms (empty response or "yes"), use the suggested path.
272
+ - If the user provides a different path, use that instead.
273
+ - Create the target directory if it does not exist.
274
+
275
+ **Inline output (`--inline` flag):**
276
+
277
+ Produce a condensed summary directly in the conversation:
278
+
279
+ - 2-3 paragraph executive summary
280
+ - Key agreements (bulleted)
281
+ - Key contradictions with leans (bulleted)
282
+ - Source count and provenance summary (one line)
283
+
284
+ Do not write a file when `--inline` is specified.
285
+
286
+ ---
287
+
288
+ ## Constraints
289
+
290
+ - **Read-only**: Does not modify input artifacts.
291
+ - **No sub-agent dispatch**: No execution tiers. All work is performed sequentially by the invoking agent.
292
+ - **No web search or fetch**: Synthesis operates only on existing local artifacts. Does not perform new research.
293
+ - **Lean, not decide**: Contradictions are flagged with a lean direction, never presented as resolved fact.
294
+
295
+ ## Examples
296
+
297
+ ### Basic Usage
298
+
299
+ ```
300
+ /synthesize research-output/
301
+ ```
302
+
303
+ ### Explicit file paths
304
+
305
+ ```
306
+ /synthesize event-driven-opus-4-6.md event-driven-analysis-sonnet-4.md
307
+ ```
308
+
309
+ ### Inline summary
310
+
311
+ ```
312
+ /synthesize research-output/ --inline
313
+ ```
314
+
315
+ ### Conversational
316
+
317
+ ```
318
+ Synthesize all the research artifacts in the research/ directory into a single report.
319
+ ```
320
+
321
+ ```
322
+ Merge the deep-research and analyze outputs I just generated.
323
+ ```
324
+
325
+ ## Troubleshooting
326
+
327
+ **No artifacts found in directory:**
328
+
329
+ - Verify the directory contains `.md` files with `skill` frontmatter.
330
+ - Files without artifact frontmatter are not auto-detected in directory mode.
331
+ - Try explicit file paths instead.
332
+
333
+ **Only one artifact found:**
334
+
335
+ - Ask the user to confirm they want to proceed. Synthesis of a single artifact produces limited value.
336
+ - Suggest running additional skills (/deep-research, /analyze, /compare) first.
337
+
338
+ **Mixed schemas produce generic output:**
339
+
340
+ - This is expected. When input artifacts use different schemas, the output uses a generic `synthesis` wrapper.
341
+ - For more structured output, synthesize homogeneous artifacts (same schema type).
342
+
343
+ **Contradictions cannot be resolved:**
344
+
345
+ - This is by design. The skill flags contradictions and leans but does not decide.
346
+ - The user should review contradictions and make final determinations.
347
+
348
+ ## Success Criteria
349
+
350
+ - Banner printed at start
351
+ - Arguments parsed: directory or explicit file paths identified, `--inline` flag detected
352
+ - Artifacts discovered via frontmatter auto-detection (directory mode) or read directly (explicit mode)
353
+ - Input schemas classified and output schema selected (homogeneous vs. mixed)
354
+ - Findings, recommendations, and provenance extracted from each source
355
+ - Agreements identified across multiple sources
356
+ - Contradictions flagged with lean direction and marked as lean not fact
357
+ - Unique insights preserved and attributed
358
+ - Artifact written with synthesis schema, frontmatter contract, provenance table, and model-tagged filename (default mode)
359
+ - Output destination resolved via input-directory heuristic, OAT-aware detection, and user prompt (unless explicit path given)
360
+ - Inline summary produced when `--inline` is specified (no file written)
361
+ - Input artifacts not modified
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: bl-{hash}
3
+ title: '{title}'
4
+ status: open # open | in_progress | closed | wont_do
5
+ priority: medium # urgent | high | medium | low | none
6
+ scope: task # idea | task | feature | initiative
7
+ scope_estimate: null # XS | S | M | L | XL | XXL
8
+ labels: []
9
+ assignee: null
10
+ created: '{ISO 8601 UTC}'
11
+ updated: '{ISO 8601 UTC}'
12
+ associated_issues: []
13
+ oat_template: true
14
+ oat_template_name: backlog-item
15
+ ---
16
+
17
+ ## Description
18
+
19
+ {Describe the problem, request, or capability tracked by this backlog item.}
20
+
21
+ ## Acceptance Criteria
22
+
23
+ - {Outcome 1}
24
+ - {Outcome 2}
@@ -0,0 +1,315 @@
1
+ ---
2
+ oat_status: in_progress
3
+ oat_ready_for: null
4
+ oat_blockers: []
5
+ oat_last_updated: YYYY-MM-DD
6
+ oat_generated: false
7
+ oat_template: true
8
+ oat_template_name: design
9
+ ---
10
+
11
+ # Design: {Project Name}
12
+
13
+ ## Overview
14
+
15
+ {2-3 paragraph summary of the technical approach, including key architectural decisions and rationale}
16
+
17
+ ## Architecture
18
+
19
+ ### System Context
20
+
21
+ {How this fits into the broader system architecture}
22
+
23
+ **Key Components:**
24
+
25
+ - **{Component 1}:** {Purpose and responsibilities}
26
+ - **{Component 2}:** {Purpose and responsibilities}
27
+
28
+ ### Component Diagram
29
+
30
+ ```
31
+ {ASCII diagram or description of component relationships}
32
+ ```
33
+
34
+ ### Data Flow
35
+
36
+ {Description of how data moves through the system}
37
+
38
+ ```
39
+ {Sequence diagram or step-by-step flow}
40
+ ```
41
+
42
+ ## Component Design
43
+
44
+ ### {Component Name}
45
+
46
+ **Purpose:** {What this component does}
47
+
48
+ **Responsibilities:**
49
+
50
+ - {Responsibility 1}
51
+ - {Responsibility 2}
52
+
53
+ **Interfaces:**
54
+
55
+ ```typescript
56
+ // Key interfaces, classes, or function signatures
57
+ ```
58
+
59
+ **Dependencies:**
60
+
61
+ - {Internal dependency 1}
62
+ - {External dependency 1}
63
+
64
+ **Design Decisions:**
65
+
66
+ - {Decision 1 and rationale}
67
+
68
+ ## Data Models
69
+
70
+ ### {Model Name}
71
+
72
+ **Purpose:** {What this represents}
73
+
74
+ **Schema:**
75
+
76
+ ```typescript
77
+ interface ModelName {
78
+ // Field definitions with types
79
+ }
80
+ ```
81
+
82
+ **Validation Rules:**
83
+
84
+ - {Rule 1}
85
+ - {Rule 2}
86
+
87
+ **Storage:**
88
+
89
+ - **Location:** {Database, file system, memory}
90
+ - **Persistence:** {How/when data is persisted}
91
+
92
+ ## API Design
93
+
94
+ ### {Endpoint/Interface Name}
95
+
96
+ **Method:** GET / POST / PUT / DELETE
97
+ **Path:** `/api/v1/{resource}`
98
+
99
+ **Request:**
100
+
101
+ ```typescript
102
+ interface Request {
103
+ // Request schema
104
+ }
105
+ ```
106
+
107
+ **Response:**
108
+
109
+ ```typescript
110
+ interface Response {
111
+ // Response schema
112
+ }
113
+ ```
114
+
115
+ **Error Handling:**
116
+
117
+ - {Error code}: {Description}
118
+
119
+ **Authorization:** {Auth requirements}
120
+
121
+ ## Security Considerations
122
+
123
+ ### Authentication
124
+
125
+ {How users/services authenticate}
126
+
127
+ ### Authorization
128
+
129
+ {How permissions are enforced}
130
+
131
+ ### Data Protection
132
+
133
+ - **Encryption:** {At rest, in transit}
134
+ - **PII Handling:** {How sensitive data is protected}
135
+ - **Input Validation:** {Where and how inputs are validated}
136
+
137
+ ### Threat Mitigation
138
+
139
+ - **{Threat 1}:** {Mitigation strategy}
140
+ - **{Threat 2}:** {Mitigation strategy}
141
+
142
+ ## Performance Considerations
143
+
144
+ ### Scalability
145
+
146
+ {How the design scales with load}
147
+
148
+ ### Caching
149
+
150
+ - **Layer:** {Where caching occurs}
151
+ - **Strategy:** {Cache invalidation approach}
152
+ - **TTL:** {Time-to-live values}
153
+
154
+ ### Database Optimization
155
+
156
+ - **Indexes:** {Key indexes to create}
157
+ - **Query Optimization:** {Query patterns to optimize}
158
+
159
+ ### Resource Limits
160
+
161
+ - **Memory:** {Expected usage}
162
+ - **CPU:** {Expected usage}
163
+ - **Network:** {Expected bandwidth}
164
+
165
+ ## Error Handling
166
+
167
+ ### Error Categories
168
+
169
+ - **User Errors:** {How handled}
170
+ - **System Errors:** {How handled}
171
+ - **External Service Errors:** {How handled}
172
+
173
+ ### Retry Logic
174
+
175
+ {When and how retries are performed}
176
+
177
+ ### Logging
178
+
179
+ - **Info:** {What to log at info level}
180
+ - **Warn:** {What to log at warn level}
181
+ - **Error:** {What to log at error level}
182
+
183
+ ## Testing Strategy
184
+
185
+ ### Requirement-to-Test Mapping
186
+
187
+ {Maps spec requirements to test levels and key scenarios — ensures every requirement has a verification plan}
188
+
189
+ | ID | Verification | Key Scenarios |
190
+ | ---- | ---------------------------------- | -------------------------- |
191
+ | FR1 | {unit/integration/e2e/manual/perf} | {Scenario 1}, {Scenario 2} |
192
+ | FR2 | {unit/integration/e2e/manual/perf} | {Scenario 1} |
193
+ | NFR1 | {unit/integration/e2e/manual/perf} | {Scenario 1} |
194
+
195
+ **Notes:**
196
+
197
+ - Pull ID from spec.md Requirement Index
198
+ - Copy the **method** (left side of `method: pointer`) into Verification
199
+ - Use the **pointer** (right side) to seed Key Scenarios, then expand based on design
200
+ - Multiple test levels are valid (e.g., "unit + integration")
201
+
202
+ ### Unit Tests
203
+
204
+ - **Scope:** {What gets unit tested}
205
+ - **Coverage Target:** {N}%
206
+ - **Key Test Cases:**
207
+ - {Test case 1}
208
+ - {Test case 2}
209
+
210
+ ### Integration Tests
211
+
212
+ - **Scope:** {What gets integration tested}
213
+ - **Test Environment:** {How environment is set up}
214
+ - **Key Test Cases:**
215
+ - {Test case 1}
216
+ - {Test case 2}
217
+
218
+ ### End-to-End Tests
219
+
220
+ - **Scope:** {What gets E2E tested}
221
+ - **Test Scenarios:**
222
+ - {Scenario 1}
223
+ - {Scenario 2}
224
+
225
+ ## Deployment Strategy
226
+
227
+ ### Build Process
228
+
229
+ {How the application is built}
230
+
231
+ ### Deployment Steps
232
+
233
+ 1. {Step 1}
234
+ 2. {Step 2}
235
+
236
+ ### Rollback Plan
237
+
238
+ {How to rollback if deployment fails}
239
+
240
+ ### Configuration
241
+
242
+ - **Environment Variables:** {List with descriptions}
243
+ - **Feature Flags:** {Any feature flags needed}
244
+
245
+ ### Monitoring
246
+
247
+ - **Metrics:** {Key metrics to track}
248
+ - **Alerts:** {Alert conditions}
249
+ - **Dashboards:** {What to monitor}
250
+
251
+ ## Migration Plan
252
+
253
+ {If this involves database migrations, data migrations, or breaking changes}
254
+
255
+ ### Migration Steps
256
+
257
+ 1. {Step 1}
258
+ 2. {Step 2}
259
+
260
+ ### Rollback Strategy
261
+
262
+ {How to rollback migrations}
263
+
264
+ ### Data Validation
265
+
266
+ {How to verify migration success}
267
+
268
+ ## Open Questions
269
+
270
+ - **{Question Category}:** {Question needing resolution}
271
+ - **{Question Category}:** {Question needing resolution}
272
+
273
+ ## Implementation Phases
274
+
275
+ ### Phase 1: {Phase Name}
276
+
277
+ **Goal:** {What this phase achieves}
278
+
279
+ **Tasks:**
280
+
281
+ - {Task 1}
282
+ - {Task 2}
283
+
284
+ **Verification:** {How to verify phase completion}
285
+
286
+ ### Phase 2: {Phase Name}
287
+
288
+ {Similar structure}
289
+
290
+ ## Dependencies
291
+
292
+ ### External Dependencies
293
+
294
+ - **{Service/Library}:** {Why needed, version constraints}
295
+
296
+ ### Internal Dependencies
297
+
298
+ - **{Component/Service}:** {Why needed, coupling points}
299
+
300
+ ### Development Dependencies
301
+
302
+ - **{Tool}:** {Why needed}
303
+
304
+ ## Risks and Mitigation
305
+
306
+ - **{Risk 1}:** {Probability: Low/Medium/High} | {Impact: Low/Medium/High}
307
+ - **Mitigation:** {How to reduce risk}
308
+ - **Contingency:** {What to do if risk occurs}
309
+
310
+ ## References
311
+
312
+ - Specification: `spec.md`
313
+ - Knowledge Base: `.oat/repo/knowledge/project-index.md`
314
+ - Architecture Docs: `.oat/repo/knowledge/architecture.md`
315
+ - Conventions: `.oat/repo/knowledge/conventions.md`