metaharness 0.3.2 → 0.4.1

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 (348) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +126 -99
  3. package/dist/completions-cmd.js +94 -94
  4. package/dist/index.js +74 -74
  5. package/dist/meta-proxy.d.ts +21 -1
  6. package/dist/meta-proxy.d.ts.map +1 -1
  7. package/dist/meta-proxy.js +139 -5
  8. package/dist/meta-proxy.js.map +1 -1
  9. package/dist/with-wasm.js +43 -43
  10. package/genomes/README.md +23 -23
  11. package/genomes/genome-promoted-cand6-edit-by-midpoint.json +26 -26
  12. package/package.json +126 -126
  13. package/templates/catalog.def.mjs +542 -542
  14. package/templates/catalog.json +1274 -1274
  15. package/templates/minimal/.claude/settings.json.tmpl +18 -18
  16. package/templates/minimal/.claude-plugin/plugin.json.tmpl +13 -13
  17. package/templates/minimal/CLAUDE.md.tmpl +26 -26
  18. package/templates/minimal/README.md.tmpl +20 -20
  19. package/templates/minimal/__tests__/smoke.test.ts.tmpl +37 -37
  20. package/templates/minimal/bin/cli.js.tmpl +100 -100
  21. package/templates/minimal/manifest.json +20 -20
  22. package/templates/minimal/package.json.tmpl +31 -31
  23. package/templates/minimal/src/init.ts.tmpl +21 -21
  24. package/templates/minimal/tsconfig.json.tmpl +19 -19
  25. package/templates/minimal/vitest.config.ts.tmpl +23 -23
  26. package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -12
  27. package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -33
  28. package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -13
  29. package/templates/vertical_advertising/.claude-plugin/plugin.json.tmpl +23 -23
  30. package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -30
  31. package/templates/vertical_advertising/README.md.tmpl +29 -29
  32. package/templates/vertical_advertising/__tests__/smoke.test.ts.tmpl +37 -37
  33. package/templates/vertical_advertising/bin/cli.js.tmpl +100 -100
  34. package/templates/vertical_advertising/manifest.json +101 -101
  35. package/templates/vertical_advertising/package.json.tmpl +30 -30
  36. package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -7
  37. package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -7
  38. package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -7
  39. package/templates/vertical_advertising/src/init.ts.tmpl +21 -21
  40. package/templates/vertical_advertising/tsconfig.json.tmpl +19 -19
  41. package/templates/vertical_advertising/vitest.config.ts.tmpl +23 -23
  42. package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -12
  43. package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -33
  44. package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  45. package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -14
  46. package/templates/vertical_agentics/.claude-plugin/plugin.json.tmpl +23 -23
  47. package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -32
  48. package/templates/vertical_agentics/README.md.tmpl +30 -30
  49. package/templates/vertical_agentics/__tests__/smoke.test.ts.tmpl +37 -37
  50. package/templates/vertical_agentics/bin/cli.js.tmpl +100 -100
  51. package/templates/vertical_agentics/manifest.json +111 -111
  52. package/templates/vertical_agentics/package.json.tmpl +30 -30
  53. package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -7
  54. package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -7
  55. package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -7
  56. package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -7
  57. package/templates/vertical_agentics/src/init.ts.tmpl +21 -21
  58. package/templates/vertical_agentics/tsconfig.json.tmpl +19 -19
  59. package/templates/vertical_agentics/vitest.config.ts.tmpl +23 -23
  60. package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -12
  61. package/templates/vertical_ai/.claude/settings.json.tmpl +35 -35
  62. package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -13
  63. package/templates/vertical_ai/.claude-plugin/plugin.json.tmpl +23 -23
  64. package/templates/vertical_ai/CLAUDE.md.tmpl +31 -31
  65. package/templates/vertical_ai/README.md.tmpl +30 -30
  66. package/templates/vertical_ai/__tests__/smoke.test.ts.tmpl +37 -37
  67. package/templates/vertical_ai/bin/cli.js.tmpl +100 -100
  68. package/templates/vertical_ai/manifest.json +106 -106
  69. package/templates/vertical_ai/package.json.tmpl +30 -30
  70. package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -7
  71. package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -7
  72. package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -7
  73. package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -7
  74. package/templates/vertical_ai/src/init.ts.tmpl +21 -21
  75. package/templates/vertical_ai/tsconfig.json.tmpl +19 -19
  76. package/templates/vertical_ai/vitest.config.ts.tmpl +23 -23
  77. package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -12
  78. package/templates/vertical_business/.claude/settings.json.tmpl +33 -33
  79. package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -13
  80. package/templates/vertical_business/.claude-plugin/plugin.json.tmpl +23 -23
  81. package/templates/vertical_business/CLAUDE.md.tmpl +30 -30
  82. package/templates/vertical_business/README.md.tmpl +29 -29
  83. package/templates/vertical_business/__tests__/smoke.test.ts.tmpl +37 -37
  84. package/templates/vertical_business/bin/cli.js.tmpl +100 -100
  85. package/templates/vertical_business/manifest.json +101 -101
  86. package/templates/vertical_business/package.json.tmpl +30 -30
  87. package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -7
  88. package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -7
  89. package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -7
  90. package/templates/vertical_business/src/init.ts.tmpl +21 -21
  91. package/templates/vertical_business/tsconfig.json.tmpl +19 -19
  92. package/templates/vertical_business/vitest.config.ts.tmpl +23 -23
  93. package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -12
  94. package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -10
  95. package/templates/vertical_coding/.claude/settings.json.tmpl +40 -40
  96. package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  97. package/templates/vertical_coding/.claude-plugin/plugin.json.tmpl +23 -23
  98. package/templates/vertical_coding/CLAUDE.md.tmpl +32 -32
  99. package/templates/vertical_coding/README.md.tmpl +30 -30
  100. package/templates/vertical_coding/__tests__/smoke.test.ts.tmpl +37 -37
  101. package/templates/vertical_coding/bin/cli.js.tmpl +100 -100
  102. package/templates/vertical_coding/manifest.json +111 -111
  103. package/templates/vertical_coding/package.json.tmpl +30 -30
  104. package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -7
  105. package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -7
  106. package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -7
  107. package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -7
  108. package/templates/vertical_coding/src/init.ts.tmpl +21 -21
  109. package/templates/vertical_coding/tsconfig.json.tmpl +19 -19
  110. package/templates/vertical_coding/vitest.config.ts.tmpl +23 -23
  111. package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -12
  112. package/templates/vertical_crm/.claude/settings.json.tmpl +33 -33
  113. package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  114. package/templates/vertical_crm/.claude-plugin/plugin.json.tmpl +23 -23
  115. package/templates/vertical_crm/CLAUDE.md.tmpl +30 -30
  116. package/templates/vertical_crm/README.md.tmpl +29 -29
  117. package/templates/vertical_crm/__tests__/smoke.test.ts.tmpl +37 -37
  118. package/templates/vertical_crm/bin/cli.js.tmpl +100 -100
  119. package/templates/vertical_crm/manifest.json +101 -101
  120. package/templates/vertical_crm/package.json.tmpl +30 -30
  121. package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -7
  122. package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -7
  123. package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -7
  124. package/templates/vertical_crm/src/init.ts.tmpl +21 -21
  125. package/templates/vertical_crm/tsconfig.json.tmpl +19 -19
  126. package/templates/vertical_crm/vitest.config.ts.tmpl +23 -23
  127. package/templates/vertical_devops/.claude/settings.json.tmpl +36 -36
  128. package/templates/vertical_devops/.claude-plugin/plugin.json.tmpl +23 -23
  129. package/templates/vertical_devops/CLAUDE.md.tmpl +34 -34
  130. package/templates/vertical_devops/README.md.tmpl +27 -27
  131. package/templates/vertical_devops/__tests__/smoke.test.ts.tmpl +37 -37
  132. package/templates/vertical_devops/bin/cli.js.tmpl +100 -100
  133. package/templates/vertical_devops/manifest.json +100 -100
  134. package/templates/vertical_devops/package.json.tmpl +27 -27
  135. package/templates/vertical_devops/runbooks/README.md.tmpl +32 -32
  136. package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -19
  137. package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -23
  138. package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -14
  139. package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -17
  140. package/templates/vertical_devops/src/init.ts.tmpl +23 -23
  141. package/templates/vertical_devops/tsconfig.json.tmpl +19 -19
  142. package/templates/vertical_devops/vitest.config.ts.tmpl +23 -23
  143. package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -12
  144. package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -12
  145. package/templates/vertical_education/.claude/settings.json.tmpl +45 -45
  146. package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  147. package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -16
  148. package/templates/vertical_education/.claude-plugin/plugin.json.tmpl +23 -23
  149. package/templates/vertical_education/CLAUDE.md.tmpl +33 -33
  150. package/templates/vertical_education/README.md.tmpl +30 -30
  151. package/templates/vertical_education/__tests__/smoke.test.ts.tmpl +37 -37
  152. package/templates/vertical_education/bin/cli.js.tmpl +100 -100
  153. package/templates/vertical_education/manifest.json +116 -116
  154. package/templates/vertical_education/package.json.tmpl +30 -30
  155. package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -7
  156. package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -7
  157. package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -7
  158. package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -7
  159. package/templates/vertical_education/src/init.ts.tmpl +21 -21
  160. package/templates/vertical_education/tsconfig.json.tmpl +19 -19
  161. package/templates/vertical_education/vitest.config.ts.tmpl +23 -23
  162. package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -12
  163. package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -44
  164. package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -14
  165. package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  166. package/templates/vertical_exotic/.claude-plugin/plugin.json.tmpl +23 -23
  167. package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -31
  168. package/templates/vertical_exotic/README.md.tmpl +29 -29
  169. package/templates/vertical_exotic/__tests__/smoke.test.ts.tmpl +37 -37
  170. package/templates/vertical_exotic/bin/cli.js.tmpl +100 -100
  171. package/templates/vertical_exotic/manifest.json +106 -106
  172. package/templates/vertical_exotic/package.json.tmpl +30 -30
  173. package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -7
  174. package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -7
  175. package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -7
  176. package/templates/vertical_exotic/src/init.ts.tmpl +21 -21
  177. package/templates/vertical_exotic/tsconfig.json.tmpl +19 -19
  178. package/templates/vertical_exotic/vitest.config.ts.tmpl +23 -23
  179. package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -13
  180. package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -12
  181. package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -45
  182. package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  183. package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -16
  184. package/templates/vertical_gaming/.claude-plugin/plugin.json.tmpl +23 -23
  185. package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -33
  186. package/templates/vertical_gaming/README.md.tmpl +30 -30
  187. package/templates/vertical_gaming/__tests__/smoke.test.ts.tmpl +37 -37
  188. package/templates/vertical_gaming/bin/cli.js.tmpl +100 -100
  189. package/templates/vertical_gaming/manifest.json +116 -116
  190. package/templates/vertical_gaming/package.json.tmpl +30 -30
  191. package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -7
  192. package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -7
  193. package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -7
  194. package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -7
  195. package/templates/vertical_gaming/src/init.ts.tmpl +21 -21
  196. package/templates/vertical_gaming/tsconfig.json.tmpl +19 -19
  197. package/templates/vertical_gaming/vitest.config.ts.tmpl +23 -23
  198. package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -12
  199. package/templates/vertical_health/.claude/settings.json.tmpl +33 -33
  200. package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -15
  201. package/templates/vertical_health/.claude-plugin/plugin.json.tmpl +23 -23
  202. package/templates/vertical_health/CLAUDE.md.tmpl +30 -30
  203. package/templates/vertical_health/README.md.tmpl +29 -29
  204. package/templates/vertical_health/__tests__/smoke.test.ts.tmpl +37 -37
  205. package/templates/vertical_health/bin/cli.js.tmpl +100 -100
  206. package/templates/vertical_health/manifest.json +101 -101
  207. package/templates/vertical_health/package.json.tmpl +30 -30
  208. package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -7
  209. package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -7
  210. package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -7
  211. package/templates/vertical_health/src/init.ts.tmpl +21 -21
  212. package/templates/vertical_health/tsconfig.json.tmpl +19 -19
  213. package/templates/vertical_health/vitest.config.ts.tmpl +23 -23
  214. package/templates/vertical_legal/.claude/settings.json.tmpl +10 -10
  215. package/templates/vertical_legal/.claude-plugin/plugin.json.tmpl +23 -23
  216. package/templates/vertical_legal/CLAUDE.md.tmpl +24 -24
  217. package/templates/vertical_legal/README.md.tmpl +21 -21
  218. package/templates/vertical_legal/__tests__/smoke.test.ts.tmpl +37 -37
  219. package/templates/vertical_legal/bin/cli.js.tmpl +100 -100
  220. package/templates/vertical_legal/manifest.json +90 -90
  221. package/templates/vertical_legal/package.json.tmpl +14 -14
  222. package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -7
  223. package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -7
  224. package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -8
  225. package/templates/vertical_legal/src/init.ts.tmpl +13 -13
  226. package/templates/vertical_legal/tsconfig.json.tmpl +19 -19
  227. package/templates/vertical_legal/vitest.config.ts.tmpl +23 -23
  228. package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -12
  229. package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -33
  230. package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -13
  231. package/templates/vertical_marketing/.claude-plugin/plugin.json.tmpl +23 -23
  232. package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -30
  233. package/templates/vertical_marketing/README.md.tmpl +29 -29
  234. package/templates/vertical_marketing/__tests__/smoke.test.ts.tmpl +37 -37
  235. package/templates/vertical_marketing/bin/cli.js.tmpl +100 -100
  236. package/templates/vertical_marketing/manifest.json +101 -101
  237. package/templates/vertical_marketing/package.json.tmpl +30 -30
  238. package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -7
  239. package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -7
  240. package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -7
  241. package/templates/vertical_marketing/src/init.ts.tmpl +21 -21
  242. package/templates/vertical_marketing/tsconfig.json.tmpl +19 -19
  243. package/templates/vertical_marketing/vitest.config.ts.tmpl +23 -23
  244. package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -12
  245. package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -13
  246. package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -16
  247. package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -44
  248. package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  249. package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  250. package/templates/vertical_repo-maintainer/.claude-plugin/plugin.json.tmpl +23 -23
  251. package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -34
  252. package/templates/vertical_repo-maintainer/README.md.tmpl +30 -30
  253. package/templates/vertical_repo-maintainer/__tests__/smoke.test.ts.tmpl +37 -37
  254. package/templates/vertical_repo-maintainer/bin/cli.js.tmpl +100 -100
  255. package/templates/vertical_repo-maintainer/manifest.json +121 -121
  256. package/templates/vertical_repo-maintainer/package.json.tmpl +30 -30
  257. package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -7
  258. package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -7
  259. package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -7
  260. package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -7
  261. package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -21
  262. package/templates/vertical_repo-maintainer/tsconfig.json.tmpl +19 -19
  263. package/templates/vertical_repo-maintainer/vitest.config.ts.tmpl +23 -23
  264. package/templates/vertical_research/.claude/settings.json.tmpl +9 -9
  265. package/templates/vertical_research/.claude-plugin/plugin.json.tmpl +23 -23
  266. package/templates/vertical_research/CLAUDE.md.tmpl +33 -33
  267. package/templates/vertical_research/README.md.tmpl +17 -17
  268. package/templates/vertical_research/__tests__/smoke.test.ts.tmpl +37 -37
  269. package/templates/vertical_research/bin/cli.js.tmpl +100 -100
  270. package/templates/vertical_research/manifest.json +105 -105
  271. package/templates/vertical_research/package.json.tmpl +14 -14
  272. package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -8
  273. package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -8
  274. package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -7
  275. package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -10
  276. package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -8
  277. package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -6
  278. package/templates/vertical_research/src/init.ts.tmpl +13 -13
  279. package/templates/vertical_research/tsconfig.json.tmpl +19 -19
  280. package/templates/vertical_research/vitest.config.ts.tmpl +23 -23
  281. package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -12
  282. package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -33
  283. package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -15
  284. package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  285. package/templates/vertical_ruview/.claude-plugin/plugin.json.tmpl +23 -23
  286. package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -31
  287. package/templates/vertical_ruview/README.md.tmpl +29 -29
  288. package/templates/vertical_ruview/__tests__/smoke.test.ts.tmpl +37 -37
  289. package/templates/vertical_ruview/bin/cli.js.tmpl +100 -100
  290. package/templates/vertical_ruview/manifest.json +106 -106
  291. package/templates/vertical_ruview/package.json.tmpl +30 -30
  292. package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -7
  293. package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -7
  294. package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -7
  295. package/templates/vertical_ruview/src/init.ts.tmpl +21 -21
  296. package/templates/vertical_ruview/tsconfig.json.tmpl +19 -19
  297. package/templates/vertical_ruview/vitest.config.ts.tmpl +23 -23
  298. package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -12
  299. package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -13
  300. package/templates/vertical_sales/.claude/settings.json.tmpl +45 -45
  301. package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  302. package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -15
  303. package/templates/vertical_sales/.claude-plugin/plugin.json.tmpl +23 -23
  304. package/templates/vertical_sales/CLAUDE.md.tmpl +33 -33
  305. package/templates/vertical_sales/README.md.tmpl +30 -30
  306. package/templates/vertical_sales/__tests__/smoke.test.ts.tmpl +37 -37
  307. package/templates/vertical_sales/bin/cli.js.tmpl +100 -100
  308. package/templates/vertical_sales/manifest.json +116 -116
  309. package/templates/vertical_sales/package.json.tmpl +30 -30
  310. package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -7
  311. package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -7
  312. package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -7
  313. package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -7
  314. package/templates/vertical_sales/src/init.ts.tmpl +21 -21
  315. package/templates/vertical_sales/tsconfig.json.tmpl +19 -19
  316. package/templates/vertical_sales/vitest.config.ts.tmpl +23 -23
  317. package/templates/vertical_support/.claude/settings.json.tmpl +25 -25
  318. package/templates/vertical_support/.claude-plugin/plugin.json.tmpl +23 -23
  319. package/templates/vertical_support/CLAUDE.md.tmpl +34 -34
  320. package/templates/vertical_support/README.md.tmpl +16 -16
  321. package/templates/vertical_support/__tests__/smoke.test.ts.tmpl +37 -37
  322. package/templates/vertical_support/bin/cli.js.tmpl +100 -100
  323. package/templates/vertical_support/kb/README.md.tmpl +23 -23
  324. package/templates/vertical_support/manifest.json +100 -100
  325. package/templates/vertical_support/package.json.tmpl +25 -25
  326. package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -6
  327. package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -6
  328. package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -7
  329. package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -6
  330. package/templates/vertical_support/src/init.ts.tmpl +16 -16
  331. package/templates/vertical_support/tsconfig.json.tmpl +19 -19
  332. package/templates/vertical_support/vitest.config.ts.tmpl +23 -23
  333. package/templates/vertical_trading/.claude/settings.json.tmpl +20 -20
  334. package/templates/vertical_trading/.claude-plugin/plugin.json.tmpl +23 -23
  335. package/templates/vertical_trading/CLAUDE.md.tmpl +24 -24
  336. package/templates/vertical_trading/README.md.tmpl +17 -17
  337. package/templates/vertical_trading/__tests__/smoke.test.ts.tmpl +37 -37
  338. package/templates/vertical_trading/bin/cli.js.tmpl +100 -100
  339. package/templates/vertical_trading/manifest.json +100 -100
  340. package/templates/vertical_trading/package.json.tmpl +14 -14
  341. package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -8
  342. package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -7
  343. package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -8
  344. package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -11
  345. package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -8
  346. package/templates/vertical_trading/src/init.ts.tmpl +20 -20
  347. package/templates/vertical_trading/tsconfig.json.tmpl +19 -19
  348. package/templates/vertical_trading/vitest.config.ts.tmpl +23 -23
@@ -1,18 +1,18 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npx {{name}}*)",
5
- "mcp__{{name}}__*"
6
- ],
7
- "deny": [
8
- "Read(./.env)",
9
- "Read(./.env.*)"
10
- ]
11
- },
12
- "mcpServers": {
13
- "{{name}}": {
14
- "command": "npx",
15
- "args": ["-y", "{{name}}@latest", "mcp", "start"]
16
- }
17
- }
18
- }
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npx {{name}}*)",
5
+ "mcp__{{name}}__*"
6
+ ],
7
+ "deny": [
8
+ "Read(./.env)",
9
+ "Read(./.env.*)"
10
+ ]
11
+ },
12
+ "mcpServers": {
13
+ "{{name}}": {
14
+ "command": "npx",
15
+ "args": ["-y", "{{name}}@latest", "mcp", "start"]
16
+ }
17
+ }
18
+ }
@@ -1,13 +1,13 @@
1
- {
2
- "name": "{{name}}",
3
- "version": "0.1.0",
4
- "description": "{{description}}",
5
- "author": {
6
- "displayName": "Generated by metaharness",
7
- "url": "https://www.npmjs.com/package/metaharness"
8
- },
9
- "license": "MIT",
10
- "categories": ["agent-harness", "metaharness-scaffold"],
11
- "tags": ["metaharness", "agent-harness"],
12
- "homepage": "https://github.com/ruvnet/agent-harness-generator"
13
- }
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "author": {
6
+ "displayName": "Generated by metaharness",
7
+ "url": "https://www.npmjs.com/package/metaharness"
8
+ },
9
+ "license": "MIT",
10
+ "categories": ["agent-harness", "metaharness-scaffold"],
11
+ "tags": ["metaharness", "agent-harness"],
12
+ "homepage": "https://github.com/ruvnet/agent-harness-generator"
13
+ }
@@ -1,26 +1,26 @@
1
- # {{name}}
2
-
3
- {{description}}
4
-
5
- ## Behavioral rules
6
-
7
- - Use the harness's MCP tools (`mcp__{{name}}__*`) for orchestration
8
- - Memory ranking and routing are kernel primitives (`@metaharness/kernel`) the harness uses internally — there are no separate CLI subcommands for them
9
- - Defer destructive operations to the user
10
-
11
- ## Commands
12
-
13
- After `{{name}} init`, the following are available:
14
-
15
- | Command | What it does |
16
- |---|---|
17
- | `{{name}} init` | Scaffold the harness into the current project |
18
- | `{{name}} doctor` | Health check the install |
19
-
20
- Run `{{name}} --help` for the full list. Memory ranking and routing are kernel
21
- primitives used programmatically (see [@metaharness/kernel](https://www.npmjs.com/package/@metaharness/kernel)),
22
- not CLI subcommands.
23
-
24
- ## Architecture
25
-
26
- This harness uses [@metaharness/kernel](https://www.npmjs.com/package/@metaharness/kernel) for its primitives. The kernel is a Rust-compiled WASM module with a NAPI-RS native fallback — same code runs identically on every platform.
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ ## Behavioral rules
6
+
7
+ - Use the harness's MCP tools (`mcp__{{name}}__*`) for orchestration
8
+ - Memory ranking and routing are kernel primitives (`@metaharness/kernel`) the harness uses internally — there are no separate CLI subcommands for them
9
+ - Defer destructive operations to the user
10
+
11
+ ## Commands
12
+
13
+ After `{{name}} init`, the following are available:
14
+
15
+ | Command | What it does |
16
+ |---|---|
17
+ | `{{name}} init` | Scaffold the harness into the current project |
18
+ | `{{name}} doctor` | Health check the install |
19
+
20
+ Run `{{name}} --help` for the full list. Memory ranking and routing are kernel
21
+ primitives used programmatically (see [@metaharness/kernel](https://www.npmjs.com/package/@metaharness/kernel)),
22
+ not CLI subcommands.
23
+
24
+ ## Architecture
25
+
26
+ This harness uses [@metaharness/kernel](https://www.npmjs.com/package/@metaharness/kernel) for its primitives. The kernel is a Rust-compiled WASM module with a NAPI-RS native fallback — same code runs identically on every platform.
@@ -1,20 +1,20 @@
1
- # {{name}}
2
-
3
- {{description}}
4
-
5
- > Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator). Multi-host scaffolding with a kernel that resolves native → wasm → js (js backend in the published beta; see `harness doctor`).
6
-
7
- ## Install
8
-
9
- ```bash
10
- npm install -g {{name}}
11
- {{name}} init
12
- ```
13
-
14
- ## Hosts supported
15
-
16
- This harness ships with the **{{host}}** adapter.
17
-
18
- ## License
19
-
20
- MIT
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ > Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator). Multi-host scaffolding with a kernel that resolves native → wasm → js (js backend in the published beta; see `harness doctor`).
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install -g {{name}}
11
+ {{name}} init
12
+ ```
13
+
14
+ ## Hosts supported
15
+
16
+ This harness ships with the **{{host}}** adapter.
17
+
18
+ ## License
19
+
20
+ MIT
@@ -1,37 +1,37 @@
1
- // SPDX-License-Identifier: MIT
2
- // Generated by metaharness — a real smoke test for {{name}}.
3
- //
4
- // This is NOT a placeholder: it boots the actual kernel + host adapter the
5
- // harness depends on, so `npm test` fails loudly if @metaharness/kernel or
6
- // @metaharness/host-{{host}} is missing, broken, or version-skewed. It is the
7
- // fastest signal that `npm install` produced a runnable harness.
8
-
9
- import { describe, it, expect } from 'vitest';
10
- import { loadKernel } from '@metaharness/kernel';
11
- import adapter from '@metaharness/host-{{host}}';
12
- import { run } from '../bin/cli.js';
13
-
14
- describe('{{name}} — install smoke test', () => {
15
- it('loads the kernel and reports a version + a known backend', async () => {
16
- const kernel = await loadKernel();
17
- const info = kernel.kernelInfo();
18
- expect(typeof info.version).toBe('string');
19
- expect(info.version.length).toBeGreaterThan(0);
20
- expect(['native', 'wasm', 'js']).toContain(kernel.backend);
21
- });
22
-
23
- it('resolves the host adapter with a name', () => {
24
- expect(typeof adapter.name).toBe('string');
25
- expect(adapter.name.length).toBeGreaterThan(0);
26
- });
27
-
28
- it('the CLI doctor command succeeds (exit 0)', async () => {
29
- const code = await run(['doctor']);
30
- expect(code).toBe(0);
31
- });
32
-
33
- it('an unknown CLI command exits non-zero', async () => {
34
- const code = await run(['definitely-not-a-command']);
35
- expect(code).not.toBe(0);
36
- });
37
- });
1
+ // SPDX-License-Identifier: MIT
2
+ // Generated by metaharness — a real smoke test for {{name}}.
3
+ //
4
+ // This is NOT a placeholder: it boots the actual kernel + host adapter the
5
+ // harness depends on, so `npm test` fails loudly if @metaharness/kernel or
6
+ // @metaharness/host-{{host}} is missing, broken, or version-skewed. It is the
7
+ // fastest signal that `npm install` produced a runnable harness.
8
+
9
+ import { describe, it, expect } from 'vitest';
10
+ import { loadKernel } from '@metaharness/kernel';
11
+ import adapter from '@metaharness/host-{{host}}';
12
+ import { run } from '../bin/cli.js';
13
+
14
+ describe('{{name}} — install smoke test', () => {
15
+ it('loads the kernel and reports a version + a known backend', async () => {
16
+ const kernel = await loadKernel();
17
+ const info = kernel.kernelInfo();
18
+ expect(typeof info.version).toBe('string');
19
+ expect(info.version.length).toBeGreaterThan(0);
20
+ expect(['native', 'wasm', 'js']).toContain(kernel.backend);
21
+ });
22
+
23
+ it('resolves the host adapter with a name', () => {
24
+ expect(typeof adapter.name).toBe('string');
25
+ expect(adapter.name.length).toBeGreaterThan(0);
26
+ });
27
+
28
+ it('the CLI doctor command succeeds (exit 0)', async () => {
29
+ const code = await run(['doctor']);
30
+ expect(code).toBe(0);
31
+ });
32
+
33
+ it('an unknown CLI command exits non-zero', async () => {
34
+ const code = await run(['definitely-not-a-command']);
35
+ expect(code).not.toBe(0);
36
+ });
37
+ });
@@ -1,100 +1,100 @@
1
- #!/usr/bin/env node
2
- // SPDX-License-Identifier: MIT
3
- // Generated by metaharness — the `{{name}}` CLI entry point.
4
- //
5
- // This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
6
- // with NO build step. `npm run build` (tsc) is only needed if you extend the
7
- // TypeScript in src/. The published package ships this file directly (see the
8
- // "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
9
- // `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
10
-
11
- import { loadKernel } from '@metaharness/kernel';
12
- import adapter from '@metaharness/host-{{host}}';
13
-
14
- const HARNESS_NAME = '{{name}}';
15
-
16
- /** `{{name}} init` — boot the kernel + host adapter and report status. */
17
- async function init() {
18
- const kernel = await loadKernel();
19
- const info = kernel.kernelInfo();
20
- console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
21
- console.log(`Host adapter: ${adapter.name}`);
22
- console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
23
- return 0;
24
- }
25
-
26
- /** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
27
- async function doctor() {
28
- const kernel = await loadKernel();
29
- const info = kernel.kernelInfo();
30
- const checks = [
31
- ['kernel loads', !!kernel],
32
- ['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
33
- ['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
34
- ['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
35
- ];
36
- let ok = true;
37
- for (const [label, pass] of checks) {
38
- console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
39
- if (!pass) ok = false;
40
- }
41
- console.log(
42
- ok
43
- ? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
44
- : `\n${HARNESS_NAME}: doctor found problems`,
45
- );
46
- return ok ? 0 : 1;
47
- }
48
-
49
- /**
50
- * Dispatch one CLI invocation. Exported (not just run on import) so a test can
51
- * drive it without spawning a subprocess. Returns the intended exit code.
52
- */
53
- export async function run(argv) {
54
- const cmd = argv[0] ?? 'init';
55
- switch (cmd) {
56
- case 'init':
57
- return init();
58
- case 'doctor':
59
- return doctor();
60
- case '--version':
61
- case '-v': {
62
- const kernel = await loadKernel();
63
- console.log(kernel.version());
64
- return 0;
65
- }
66
- case '--help':
67
- case '-h':
68
- console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
69
- return 0;
70
- default:
71
- console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
72
- return 2;
73
- }
74
- }
75
-
76
- // CLI guard: execute only when invoked directly (not when imported by a test).
77
- // npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
78
- // on Windows) and may differ in case, so realpath BOTH sides before comparing —
79
- // a naive string === misses the npx/shim path and the CLI silently no-ops.
80
- import { fileURLToPath } from 'node:url';
81
- import { realpathSync } from 'node:fs';
82
- import { argv } from 'node:process';
83
- const invokedDirectly = (() => {
84
- if (!argv[1]) return false;
85
- try {
86
- const a = realpathSync(argv[1]);
87
- const b = realpathSync(fileURLToPath(import.meta.url));
88
- return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
89
- } catch {
90
- return false;
91
- }
92
- })();
93
- if (invokedDirectly) {
94
- run(argv.slice(2))
95
- .then((code) => process.exit(code))
96
- .catch((err) => {
97
- console.error(err);
98
- process.exit(1);
99
- });
100
- }
1
+ #!/usr/bin/env node
2
+ // SPDX-License-Identifier: MIT
3
+ // Generated by metaharness — the `{{name}}` CLI entry point.
4
+ //
5
+ // This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
6
+ // with NO build step. `npm run build` (tsc) is only needed if you extend the
7
+ // TypeScript in src/. The published package ships this file directly (see the
8
+ // "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
9
+ // `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
10
+
11
+ import { loadKernel } from '@metaharness/kernel';
12
+ import adapter from '@metaharness/host-{{host}}';
13
+
14
+ const HARNESS_NAME = '{{name}}';
15
+
16
+ /** `{{name}} init` — boot the kernel + host adapter and report status. */
17
+ async function init() {
18
+ const kernel = await loadKernel();
19
+ const info = kernel.kernelInfo();
20
+ console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
21
+ console.log(`Host adapter: ${adapter.name}`);
22
+ console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
23
+ return 0;
24
+ }
25
+
26
+ /** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
27
+ async function doctor() {
28
+ const kernel = await loadKernel();
29
+ const info = kernel.kernelInfo();
30
+ const checks = [
31
+ ['kernel loads', !!kernel],
32
+ ['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
33
+ ['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
34
+ ['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
35
+ ];
36
+ let ok = true;
37
+ for (const [label, pass] of checks) {
38
+ console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
39
+ if (!pass) ok = false;
40
+ }
41
+ console.log(
42
+ ok
43
+ ? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
44
+ : `\n${HARNESS_NAME}: doctor found problems`,
45
+ );
46
+ return ok ? 0 : 1;
47
+ }
48
+
49
+ /**
50
+ * Dispatch one CLI invocation. Exported (not just run on import) so a test can
51
+ * drive it without spawning a subprocess. Returns the intended exit code.
52
+ */
53
+ export async function run(argv) {
54
+ const cmd = argv[0] ?? 'init';
55
+ switch (cmd) {
56
+ case 'init':
57
+ return init();
58
+ case 'doctor':
59
+ return doctor();
60
+ case '--version':
61
+ case '-v': {
62
+ const kernel = await loadKernel();
63
+ console.log(kernel.version());
64
+ return 0;
65
+ }
66
+ case '--help':
67
+ case '-h':
68
+ console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
69
+ return 0;
70
+ default:
71
+ console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
72
+ return 2;
73
+ }
74
+ }
75
+
76
+ // CLI guard: execute only when invoked directly (not when imported by a test).
77
+ // npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
78
+ // on Windows) and may differ in case, so realpath BOTH sides before comparing —
79
+ // a naive string === misses the npx/shim path and the CLI silently no-ops.
80
+ import { fileURLToPath } from 'node:url';
81
+ import { realpathSync } from 'node:fs';
82
+ import { argv } from 'node:process';
83
+ const invokedDirectly = (() => {
84
+ if (!argv[1]) return false;
85
+ try {
86
+ const a = realpathSync(argv[1]);
87
+ const b = realpathSync(fileURLToPath(import.meta.url));
88
+ return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
89
+ } catch {
90
+ return false;
91
+ }
92
+ })();
93
+ if (invokedDirectly) {
94
+ run(argv.slice(2))
95
+ .then((code) => process.exit(code))
96
+ .catch((err) => {
97
+ console.error(err);
98
+ process.exit(1);
99
+ });
100
+ }
@@ -1,20 +1,20 @@
1
- {
2
- "id": "minimal",
3
- "description": "Minimal harness with kernel + one host adapter + an init entry point",
4
- "files": [
5
- { "src": "package.json.tmpl", "dst": "package.json", "render": true },
6
- { "src": "tsconfig.json.tmpl", "dst": "tsconfig.json", "render": true },
7
- { "src": "CLAUDE.md.tmpl", "dst": "CLAUDE.md", "render": true },
8
- { "src": "README.md.tmpl", "dst": "README.md", "render": true },
9
- { "src": ".claude/settings.json.tmpl", "dst": ".claude/settings.json", "render": true },
10
- { "src": ".claude-plugin/plugin.json.tmpl", "dst": ".claude-plugin/plugin.json", "render": true },
11
- { "src": "bin/cli.js.tmpl", "dst": "bin/cli.js", "render": true },
12
- { "src": "src/init.ts.tmpl", "dst": "src/init.ts", "render": true },
13
- { "src": "__tests__/smoke.test.ts.tmpl", "dst": "__tests__/smoke.test.ts", "render": true }
14
- ],
15
- "vars": [
16
- { "name": "name", "prompt": "Harness name (kebab-case)", "validate": "^[a-z0-9-]+$" },
17
- { "name": "description", "prompt": "One-line description", "default": "My AI agent harness" },
18
- { "name": "host", "prompt": "Host adapter", "default": "claude-code", "choices": ["claude-code", "codex", "pi-dev", "hermes"] }
19
- ]
20
- }
1
+ {
2
+ "id": "minimal",
3
+ "description": "Minimal harness with kernel + one host adapter + an init entry point",
4
+ "files": [
5
+ { "src": "package.json.tmpl", "dst": "package.json", "render": true },
6
+ { "src": "tsconfig.json.tmpl", "dst": "tsconfig.json", "render": true },
7
+ { "src": "CLAUDE.md.tmpl", "dst": "CLAUDE.md", "render": true },
8
+ { "src": "README.md.tmpl", "dst": "README.md", "render": true },
9
+ { "src": ".claude/settings.json.tmpl", "dst": ".claude/settings.json", "render": true },
10
+ { "src": ".claude-plugin/plugin.json.tmpl", "dst": ".claude-plugin/plugin.json", "render": true },
11
+ { "src": "bin/cli.js.tmpl", "dst": "bin/cli.js", "render": true },
12
+ { "src": "src/init.ts.tmpl", "dst": "src/init.ts", "render": true },
13
+ { "src": "__tests__/smoke.test.ts.tmpl", "dst": "__tests__/smoke.test.ts", "render": true }
14
+ ],
15
+ "vars": [
16
+ { "name": "name", "prompt": "Harness name (kebab-case)", "validate": "^[a-z0-9-]+$" },
17
+ { "name": "description", "prompt": "One-line description", "default": "My AI agent harness" },
18
+ { "name": "host", "prompt": "Host adapter", "default": "claude-code", "choices": ["claude-code", "codex", "pi-dev", "hermes"] }
19
+ ]
20
+ }
@@ -1,31 +1,31 @@
1
- {
2
- "name": "{{name}}",
3
- "version": "0.1.0",
4
- "description": "{{description}}",
5
- "type": "module",
6
- "bin": {
7
- "{{name}}": "bin/cli.js"
8
- },
9
- "files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
10
- "scripts": {
11
- "build": "tsc",
12
- "test": "vitest run",
13
- "init": "node ./bin/cli.js init",
14
- "doctor": "node ./bin/cli.js doctor"
15
- },
16
- "dependencies": {
17
- "@metaharness/kernel": "^0.1.0",
18
- "@metaharness/host-{{host}}": "^0.1.0"
19
- },
20
- "devDependencies": {
21
- "@types/node": "^20.0.0",
22
- "typescript": "^5.4.0",
23
- "vitest": "^3.0.0"
24
- },
25
- "engines": {
26
- "node": ">=20.0.0"
27
- },
28
- "publishConfig": {
29
- "access": "public"
30
- }
31
- }
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "type": "module",
6
+ "bin": {
7
+ "{{name}}": "bin/cli.js"
8
+ },
9
+ "files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "test": "vitest run",
13
+ "init": "node ./bin/cli.js init",
14
+ "doctor": "node ./bin/cli.js doctor"
15
+ },
16
+ "dependencies": {
17
+ "@metaharness/kernel": "^0.1.0",
18
+ "@metaharness/host-{{host}}": "^0.1.0"
19
+ },
20
+ "devDependencies": {
21
+ "@types/node": "^20.0.0",
22
+ "typescript": "^5.4.0",
23
+ "vitest": "^3.0.0"
24
+ },
25
+ "engines": {
26
+ "node": ">=20.0.0"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }
@@ -1,21 +1,21 @@
1
- // SPDX-License-Identifier: MIT
2
- // Generated by create-agent-harness — your harness's `{{name}} init` entry.
3
-
4
- import { loadKernel } from '@metaharness/kernel';
5
- import adapter from '@metaharness/host-{{host}}';
6
-
7
- const HARNESS_NAME = '{{name}}';
8
-
9
- async function main(): Promise<number> {
10
- const kernel = await loadKernel();
11
- const info = kernel.kernelInfo();
12
- console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
13
- console.log(`Host adapter: ${adapter.name}`);
14
- console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
15
- return 0;
16
- }
17
-
18
- main().then(c => process.exit(c)).catch(err => {
19
- console.error(err);
20
- process.exit(1);
21
- });
1
+ // SPDX-License-Identifier: MIT
2
+ // Generated by create-agent-harness — your harness's `{{name}} init` entry.
3
+
4
+ import { loadKernel } from '@metaharness/kernel';
5
+ import adapter from '@metaharness/host-{{host}}';
6
+
7
+ const HARNESS_NAME = '{{name}}';
8
+
9
+ async function main(): Promise<number> {
10
+ const kernel = await loadKernel();
11
+ const info = kernel.kernelInfo();
12
+ console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
13
+ console.log(`Host adapter: ${adapter.name}`);
14
+ console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
15
+ return 0;
16
+ }
17
+
18
+ main().then(c => process.exit(c)).catch(err => {
19
+ console.error(err);
20
+ process.exit(1);
21
+ });
@@ -1,19 +1,19 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": ["ES2022"],
7
- "outDir": "./dist",
8
- "rootDir": "./src",
9
- "declaration": true,
10
- "declarationMap": true,
11
- "sourceMap": true,
12
- "strict": true,
13
- "esModuleInterop": true,
14
- "skipLibCheck": true,
15
- "forceConsistentCasingInFileNames": true
16
- },
17
- "include": ["src/**/*.ts"],
18
- "exclude": ["node_modules", "dist", "__tests__"]
19
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2022"],
7
+ "outDir": "./dist",
8
+ "rootDir": "./src",
9
+ "declaration": true,
10
+ "declarationMap": true,
11
+ "sourceMap": true,
12
+ "strict": true,
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "forceConsistentCasingInFileNames": true
16
+ },
17
+ "include": ["src/**/*.ts"],
18
+ "exclude": ["node_modules", "dist", "__tests__"]
19
+ }