metaharness 0.4.0 → 0.4.2

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 (346) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +96 -96
  3. package/dist/completions-cmd.js +94 -94
  4. package/dist/index.js +74 -74
  5. package/dist/meta-proxy.d.ts +1 -1
  6. package/dist/meta-proxy.js +1 -1
  7. package/dist/with-wasm.js +43 -43
  8. package/genomes/README.md +23 -23
  9. package/genomes/genome-promoted-cand6-edit-by-midpoint.json +26 -26
  10. package/package.json +126 -126
  11. package/templates/catalog.def.mjs +542 -542
  12. package/templates/catalog.json +1274 -1274
  13. package/templates/minimal/.claude/settings.json.tmpl +18 -18
  14. package/templates/minimal/.claude-plugin/plugin.json.tmpl +13 -13
  15. package/templates/minimal/CLAUDE.md.tmpl +26 -26
  16. package/templates/minimal/README.md.tmpl +20 -20
  17. package/templates/minimal/__tests__/smoke.test.ts.tmpl +37 -37
  18. package/templates/minimal/bin/cli.js.tmpl +100 -100
  19. package/templates/minimal/manifest.json +20 -20
  20. package/templates/minimal/package.json.tmpl +31 -31
  21. package/templates/minimal/src/init.ts.tmpl +21 -21
  22. package/templates/minimal/tsconfig.json.tmpl +19 -19
  23. package/templates/minimal/vitest.config.ts.tmpl +23 -23
  24. package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -12
  25. package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -33
  26. package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -13
  27. package/templates/vertical_advertising/.claude-plugin/plugin.json.tmpl +23 -23
  28. package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -30
  29. package/templates/vertical_advertising/README.md.tmpl +29 -29
  30. package/templates/vertical_advertising/__tests__/smoke.test.ts.tmpl +37 -37
  31. package/templates/vertical_advertising/bin/cli.js.tmpl +100 -100
  32. package/templates/vertical_advertising/manifest.json +101 -101
  33. package/templates/vertical_advertising/package.json.tmpl +30 -30
  34. package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -7
  35. package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -7
  36. package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -7
  37. package/templates/vertical_advertising/src/init.ts.tmpl +21 -21
  38. package/templates/vertical_advertising/tsconfig.json.tmpl +19 -19
  39. package/templates/vertical_advertising/vitest.config.ts.tmpl +23 -23
  40. package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -12
  41. package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -33
  42. package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  43. package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -14
  44. package/templates/vertical_agentics/.claude-plugin/plugin.json.tmpl +23 -23
  45. package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -32
  46. package/templates/vertical_agentics/README.md.tmpl +30 -30
  47. package/templates/vertical_agentics/__tests__/smoke.test.ts.tmpl +37 -37
  48. package/templates/vertical_agentics/bin/cli.js.tmpl +100 -100
  49. package/templates/vertical_agentics/manifest.json +111 -111
  50. package/templates/vertical_agentics/package.json.tmpl +30 -30
  51. package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -7
  52. package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -7
  53. package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -7
  54. package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -7
  55. package/templates/vertical_agentics/src/init.ts.tmpl +21 -21
  56. package/templates/vertical_agentics/tsconfig.json.tmpl +19 -19
  57. package/templates/vertical_agentics/vitest.config.ts.tmpl +23 -23
  58. package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -12
  59. package/templates/vertical_ai/.claude/settings.json.tmpl +35 -35
  60. package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -13
  61. package/templates/vertical_ai/.claude-plugin/plugin.json.tmpl +23 -23
  62. package/templates/vertical_ai/CLAUDE.md.tmpl +31 -31
  63. package/templates/vertical_ai/README.md.tmpl +30 -30
  64. package/templates/vertical_ai/__tests__/smoke.test.ts.tmpl +37 -37
  65. package/templates/vertical_ai/bin/cli.js.tmpl +100 -100
  66. package/templates/vertical_ai/manifest.json +106 -106
  67. package/templates/vertical_ai/package.json.tmpl +30 -30
  68. package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -7
  69. package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -7
  70. package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -7
  71. package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -7
  72. package/templates/vertical_ai/src/init.ts.tmpl +21 -21
  73. package/templates/vertical_ai/tsconfig.json.tmpl +19 -19
  74. package/templates/vertical_ai/vitest.config.ts.tmpl +23 -23
  75. package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -12
  76. package/templates/vertical_business/.claude/settings.json.tmpl +33 -33
  77. package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -13
  78. package/templates/vertical_business/.claude-plugin/plugin.json.tmpl +23 -23
  79. package/templates/vertical_business/CLAUDE.md.tmpl +30 -30
  80. package/templates/vertical_business/README.md.tmpl +29 -29
  81. package/templates/vertical_business/__tests__/smoke.test.ts.tmpl +37 -37
  82. package/templates/vertical_business/bin/cli.js.tmpl +100 -100
  83. package/templates/vertical_business/manifest.json +101 -101
  84. package/templates/vertical_business/package.json.tmpl +30 -30
  85. package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -7
  86. package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -7
  87. package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -7
  88. package/templates/vertical_business/src/init.ts.tmpl +21 -21
  89. package/templates/vertical_business/tsconfig.json.tmpl +19 -19
  90. package/templates/vertical_business/vitest.config.ts.tmpl +23 -23
  91. package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -12
  92. package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -10
  93. package/templates/vertical_coding/.claude/settings.json.tmpl +40 -40
  94. package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  95. package/templates/vertical_coding/.claude-plugin/plugin.json.tmpl +23 -23
  96. package/templates/vertical_coding/CLAUDE.md.tmpl +32 -32
  97. package/templates/vertical_coding/README.md.tmpl +30 -30
  98. package/templates/vertical_coding/__tests__/smoke.test.ts.tmpl +37 -37
  99. package/templates/vertical_coding/bin/cli.js.tmpl +100 -100
  100. package/templates/vertical_coding/manifest.json +111 -111
  101. package/templates/vertical_coding/package.json.tmpl +30 -30
  102. package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -7
  103. package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -7
  104. package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -7
  105. package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -7
  106. package/templates/vertical_coding/src/init.ts.tmpl +21 -21
  107. package/templates/vertical_coding/tsconfig.json.tmpl +19 -19
  108. package/templates/vertical_coding/vitest.config.ts.tmpl +23 -23
  109. package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -12
  110. package/templates/vertical_crm/.claude/settings.json.tmpl +33 -33
  111. package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  112. package/templates/vertical_crm/.claude-plugin/plugin.json.tmpl +23 -23
  113. package/templates/vertical_crm/CLAUDE.md.tmpl +30 -30
  114. package/templates/vertical_crm/README.md.tmpl +29 -29
  115. package/templates/vertical_crm/__tests__/smoke.test.ts.tmpl +37 -37
  116. package/templates/vertical_crm/bin/cli.js.tmpl +100 -100
  117. package/templates/vertical_crm/manifest.json +101 -101
  118. package/templates/vertical_crm/package.json.tmpl +30 -30
  119. package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -7
  120. package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -7
  121. package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -7
  122. package/templates/vertical_crm/src/init.ts.tmpl +21 -21
  123. package/templates/vertical_crm/tsconfig.json.tmpl +19 -19
  124. package/templates/vertical_crm/vitest.config.ts.tmpl +23 -23
  125. package/templates/vertical_devops/.claude/settings.json.tmpl +36 -36
  126. package/templates/vertical_devops/.claude-plugin/plugin.json.tmpl +23 -23
  127. package/templates/vertical_devops/CLAUDE.md.tmpl +34 -34
  128. package/templates/vertical_devops/README.md.tmpl +27 -27
  129. package/templates/vertical_devops/__tests__/smoke.test.ts.tmpl +37 -37
  130. package/templates/vertical_devops/bin/cli.js.tmpl +100 -100
  131. package/templates/vertical_devops/manifest.json +100 -100
  132. package/templates/vertical_devops/package.json.tmpl +27 -27
  133. package/templates/vertical_devops/runbooks/README.md.tmpl +32 -32
  134. package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -19
  135. package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -23
  136. package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -14
  137. package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -17
  138. package/templates/vertical_devops/src/init.ts.tmpl +23 -23
  139. package/templates/vertical_devops/tsconfig.json.tmpl +19 -19
  140. package/templates/vertical_devops/vitest.config.ts.tmpl +23 -23
  141. package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -12
  142. package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -12
  143. package/templates/vertical_education/.claude/settings.json.tmpl +45 -45
  144. package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  145. package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -16
  146. package/templates/vertical_education/.claude-plugin/plugin.json.tmpl +23 -23
  147. package/templates/vertical_education/CLAUDE.md.tmpl +33 -33
  148. package/templates/vertical_education/README.md.tmpl +30 -30
  149. package/templates/vertical_education/__tests__/smoke.test.ts.tmpl +37 -37
  150. package/templates/vertical_education/bin/cli.js.tmpl +100 -100
  151. package/templates/vertical_education/manifest.json +116 -116
  152. package/templates/vertical_education/package.json.tmpl +30 -30
  153. package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -7
  154. package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -7
  155. package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -7
  156. package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -7
  157. package/templates/vertical_education/src/init.ts.tmpl +21 -21
  158. package/templates/vertical_education/tsconfig.json.tmpl +19 -19
  159. package/templates/vertical_education/vitest.config.ts.tmpl +23 -23
  160. package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -12
  161. package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -44
  162. package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -14
  163. package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  164. package/templates/vertical_exotic/.claude-plugin/plugin.json.tmpl +23 -23
  165. package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -31
  166. package/templates/vertical_exotic/README.md.tmpl +29 -29
  167. package/templates/vertical_exotic/__tests__/smoke.test.ts.tmpl +37 -37
  168. package/templates/vertical_exotic/bin/cli.js.tmpl +100 -100
  169. package/templates/vertical_exotic/manifest.json +106 -106
  170. package/templates/vertical_exotic/package.json.tmpl +30 -30
  171. package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -7
  172. package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -7
  173. package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -7
  174. package/templates/vertical_exotic/src/init.ts.tmpl +21 -21
  175. package/templates/vertical_exotic/tsconfig.json.tmpl +19 -19
  176. package/templates/vertical_exotic/vitest.config.ts.tmpl +23 -23
  177. package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -13
  178. package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -12
  179. package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -45
  180. package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  181. package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -16
  182. package/templates/vertical_gaming/.claude-plugin/plugin.json.tmpl +23 -23
  183. package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -33
  184. package/templates/vertical_gaming/README.md.tmpl +30 -30
  185. package/templates/vertical_gaming/__tests__/smoke.test.ts.tmpl +37 -37
  186. package/templates/vertical_gaming/bin/cli.js.tmpl +100 -100
  187. package/templates/vertical_gaming/manifest.json +116 -116
  188. package/templates/vertical_gaming/package.json.tmpl +30 -30
  189. package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -7
  190. package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -7
  191. package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -7
  192. package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -7
  193. package/templates/vertical_gaming/src/init.ts.tmpl +21 -21
  194. package/templates/vertical_gaming/tsconfig.json.tmpl +19 -19
  195. package/templates/vertical_gaming/vitest.config.ts.tmpl +23 -23
  196. package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -12
  197. package/templates/vertical_health/.claude/settings.json.tmpl +33 -33
  198. package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -15
  199. package/templates/vertical_health/.claude-plugin/plugin.json.tmpl +23 -23
  200. package/templates/vertical_health/CLAUDE.md.tmpl +30 -30
  201. package/templates/vertical_health/README.md.tmpl +29 -29
  202. package/templates/vertical_health/__tests__/smoke.test.ts.tmpl +37 -37
  203. package/templates/vertical_health/bin/cli.js.tmpl +100 -100
  204. package/templates/vertical_health/manifest.json +101 -101
  205. package/templates/vertical_health/package.json.tmpl +30 -30
  206. package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -7
  207. package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -7
  208. package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -7
  209. package/templates/vertical_health/src/init.ts.tmpl +21 -21
  210. package/templates/vertical_health/tsconfig.json.tmpl +19 -19
  211. package/templates/vertical_health/vitest.config.ts.tmpl +23 -23
  212. package/templates/vertical_legal/.claude/settings.json.tmpl +10 -10
  213. package/templates/vertical_legal/.claude-plugin/plugin.json.tmpl +23 -23
  214. package/templates/vertical_legal/CLAUDE.md.tmpl +24 -24
  215. package/templates/vertical_legal/README.md.tmpl +21 -21
  216. package/templates/vertical_legal/__tests__/smoke.test.ts.tmpl +37 -37
  217. package/templates/vertical_legal/bin/cli.js.tmpl +100 -100
  218. package/templates/vertical_legal/manifest.json +90 -90
  219. package/templates/vertical_legal/package.json.tmpl +14 -14
  220. package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -7
  221. package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -7
  222. package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -8
  223. package/templates/vertical_legal/src/init.ts.tmpl +13 -13
  224. package/templates/vertical_legal/tsconfig.json.tmpl +19 -19
  225. package/templates/vertical_legal/vitest.config.ts.tmpl +23 -23
  226. package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -12
  227. package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -33
  228. package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -13
  229. package/templates/vertical_marketing/.claude-plugin/plugin.json.tmpl +23 -23
  230. package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -30
  231. package/templates/vertical_marketing/README.md.tmpl +29 -29
  232. package/templates/vertical_marketing/__tests__/smoke.test.ts.tmpl +37 -37
  233. package/templates/vertical_marketing/bin/cli.js.tmpl +100 -100
  234. package/templates/vertical_marketing/manifest.json +101 -101
  235. package/templates/vertical_marketing/package.json.tmpl +30 -30
  236. package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -7
  237. package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -7
  238. package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -7
  239. package/templates/vertical_marketing/src/init.ts.tmpl +21 -21
  240. package/templates/vertical_marketing/tsconfig.json.tmpl +19 -19
  241. package/templates/vertical_marketing/vitest.config.ts.tmpl +23 -23
  242. package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -12
  243. package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -13
  244. package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -16
  245. package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -44
  246. package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  247. package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  248. package/templates/vertical_repo-maintainer/.claude-plugin/plugin.json.tmpl +23 -23
  249. package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -34
  250. package/templates/vertical_repo-maintainer/README.md.tmpl +30 -30
  251. package/templates/vertical_repo-maintainer/__tests__/smoke.test.ts.tmpl +37 -37
  252. package/templates/vertical_repo-maintainer/bin/cli.js.tmpl +100 -100
  253. package/templates/vertical_repo-maintainer/manifest.json +121 -121
  254. package/templates/vertical_repo-maintainer/package.json.tmpl +30 -30
  255. package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -7
  256. package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -7
  257. package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -7
  258. package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -7
  259. package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -21
  260. package/templates/vertical_repo-maintainer/tsconfig.json.tmpl +19 -19
  261. package/templates/vertical_repo-maintainer/vitest.config.ts.tmpl +23 -23
  262. package/templates/vertical_research/.claude/settings.json.tmpl +9 -9
  263. package/templates/vertical_research/.claude-plugin/plugin.json.tmpl +23 -23
  264. package/templates/vertical_research/CLAUDE.md.tmpl +33 -33
  265. package/templates/vertical_research/README.md.tmpl +17 -17
  266. package/templates/vertical_research/__tests__/smoke.test.ts.tmpl +37 -37
  267. package/templates/vertical_research/bin/cli.js.tmpl +100 -100
  268. package/templates/vertical_research/manifest.json +105 -105
  269. package/templates/vertical_research/package.json.tmpl +14 -14
  270. package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -8
  271. package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -8
  272. package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -7
  273. package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -10
  274. package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -8
  275. package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -6
  276. package/templates/vertical_research/src/init.ts.tmpl +13 -13
  277. package/templates/vertical_research/tsconfig.json.tmpl +19 -19
  278. package/templates/vertical_research/vitest.config.ts.tmpl +23 -23
  279. package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -12
  280. package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -33
  281. package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -15
  282. package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  283. package/templates/vertical_ruview/.claude-plugin/plugin.json.tmpl +23 -23
  284. package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -31
  285. package/templates/vertical_ruview/README.md.tmpl +29 -29
  286. package/templates/vertical_ruview/__tests__/smoke.test.ts.tmpl +37 -37
  287. package/templates/vertical_ruview/bin/cli.js.tmpl +100 -100
  288. package/templates/vertical_ruview/manifest.json +106 -106
  289. package/templates/vertical_ruview/package.json.tmpl +30 -30
  290. package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -7
  291. package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -7
  292. package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -7
  293. package/templates/vertical_ruview/src/init.ts.tmpl +21 -21
  294. package/templates/vertical_ruview/tsconfig.json.tmpl +19 -19
  295. package/templates/vertical_ruview/vitest.config.ts.tmpl +23 -23
  296. package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -12
  297. package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -13
  298. package/templates/vertical_sales/.claude/settings.json.tmpl +45 -45
  299. package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  300. package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -15
  301. package/templates/vertical_sales/.claude-plugin/plugin.json.tmpl +23 -23
  302. package/templates/vertical_sales/CLAUDE.md.tmpl +33 -33
  303. package/templates/vertical_sales/README.md.tmpl +30 -30
  304. package/templates/vertical_sales/__tests__/smoke.test.ts.tmpl +37 -37
  305. package/templates/vertical_sales/bin/cli.js.tmpl +100 -100
  306. package/templates/vertical_sales/manifest.json +116 -116
  307. package/templates/vertical_sales/package.json.tmpl +30 -30
  308. package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -7
  309. package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -7
  310. package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -7
  311. package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -7
  312. package/templates/vertical_sales/src/init.ts.tmpl +21 -21
  313. package/templates/vertical_sales/tsconfig.json.tmpl +19 -19
  314. package/templates/vertical_sales/vitest.config.ts.tmpl +23 -23
  315. package/templates/vertical_support/.claude/settings.json.tmpl +25 -25
  316. package/templates/vertical_support/.claude-plugin/plugin.json.tmpl +23 -23
  317. package/templates/vertical_support/CLAUDE.md.tmpl +34 -34
  318. package/templates/vertical_support/README.md.tmpl +16 -16
  319. package/templates/vertical_support/__tests__/smoke.test.ts.tmpl +37 -37
  320. package/templates/vertical_support/bin/cli.js.tmpl +100 -100
  321. package/templates/vertical_support/kb/README.md.tmpl +23 -23
  322. package/templates/vertical_support/manifest.json +100 -100
  323. package/templates/vertical_support/package.json.tmpl +25 -25
  324. package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -6
  325. package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -6
  326. package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -7
  327. package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -6
  328. package/templates/vertical_support/src/init.ts.tmpl +16 -16
  329. package/templates/vertical_support/tsconfig.json.tmpl +19 -19
  330. package/templates/vertical_support/vitest.config.ts.tmpl +23 -23
  331. package/templates/vertical_trading/.claude/settings.json.tmpl +20 -20
  332. package/templates/vertical_trading/.claude-plugin/plugin.json.tmpl +23 -23
  333. package/templates/vertical_trading/CLAUDE.md.tmpl +24 -24
  334. package/templates/vertical_trading/README.md.tmpl +17 -17
  335. package/templates/vertical_trading/__tests__/smoke.test.ts.tmpl +37 -37
  336. package/templates/vertical_trading/bin/cli.js.tmpl +100 -100
  337. package/templates/vertical_trading/manifest.json +100 -100
  338. package/templates/vertical_trading/package.json.tmpl +14 -14
  339. package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -8
  340. package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -7
  341. package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -8
  342. package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -11
  343. package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -8
  344. package/templates/vertical_trading/src/init.ts.tmpl +20 -20
  345. package/templates/vertical_trading/tsconfig.json.tmpl +19 -19
  346. package/templates/vertical_trading/vitest.config.ts.tmpl +23 -23
@@ -1,121 +1,121 @@
1
- {
2
- "id": "vertical:repo-maintainer",
3
- "description": "A maintenance pod for an existing repo — maintainer, benchmarker, release, security agents. The \"this repo ships with its own agent\" demo.",
4
- "domain": "engineering/repo-maintenance",
5
- "category": "Engineering",
6
- "files": [
7
- {
8
- "src": "package.json.tmpl",
9
- "dst": "package.json",
10
- "render": true
11
- },
12
- {
13
- "src": "CLAUDE.md.tmpl",
14
- "dst": "CLAUDE.md",
15
- "render": true
16
- },
17
- {
18
- "src": "README.md.tmpl",
19
- "dst": "README.md",
20
- "render": true
21
- },
22
- {
23
- "src": ".claude/settings.json.tmpl",
24
- "dst": ".claude/settings.json",
25
- "render": true
26
- },
27
- {
28
- "src": ".claude-plugin/plugin.json.tmpl",
29
- "dst": ".claude-plugin/plugin.json",
30
- "render": true
31
- },
32
- {
33
- "src": "src/init.ts.tmpl",
34
- "dst": "src/init.ts",
35
- "render": true
36
- },
37
- {
38
- "src": "src/agents/maintainer.ts.tmpl",
39
- "dst": "src/agents/maintainer.ts",
40
- "render": true
41
- },
42
- {
43
- "src": "src/agents/benchmarker.ts.tmpl",
44
- "dst": "src/agents/benchmarker.ts",
45
- "render": true
46
- },
47
- {
48
- "src": "src/agents/release.ts.tmpl",
49
- "dst": "src/agents/release.ts",
50
- "render": true
51
- },
52
- {
53
- "src": "src/agents/security.ts.tmpl",
54
- "dst": "src/agents/security.ts",
55
- "render": true
56
- },
57
- {
58
- "src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
59
- "dst": ".claude/skills/memory-inspect/SKILL.md",
60
- "render": true
61
- },
62
- {
63
- "src": ".claude/skills/plan-change/SKILL.md.tmpl",
64
- "dst": ".claude/skills/plan-change/SKILL.md",
65
- "render": true
66
- },
67
- {
68
- "src": ".claude/commands/doctor.md.tmpl",
69
- "dst": ".claude/commands/doctor.md",
70
- "render": true
71
- },
72
- {
73
- "src": ".claude/commands/repo-triage.md.tmpl",
74
- "dst": ".claude/commands/repo-triage.md",
75
- "render": true
76
- },
77
- {
78
- "src": ".claude/commands/release-check.md.tmpl",
79
- "dst": ".claude/commands/release-check.md",
80
- "render": true
81
- },
82
- {
83
- "src": "tsconfig.json.tmpl",
84
- "dst": "tsconfig.json",
85
- "render": true
86
- },
87
- {
88
- "src": "bin/cli.js.tmpl",
89
- "dst": "bin/cli.js",
90
- "render": true
91
- },
92
- {
93
- "src": "__tests__/smoke.test.ts.tmpl",
94
- "dst": "__tests__/smoke.test.ts",
95
- "render": true
96
- }
97
- ],
98
- "vars": [
99
- {
100
- "name": "name",
101
- "prompt": "Harness name (kebab-case)",
102
- "validate": "^[a-z0-9-]+$"
103
- },
104
- {
105
- "name": "description",
106
- "prompt": "One-line description",
107
- "default": "Maintain an existing repo: triage what changed, benchmark, release-check, security-flag"
108
- },
109
- {
110
- "name": "host",
111
- "prompt": "Host adapter",
112
- "default": "claude-code",
113
- "choices": [
114
- "claude-code",
115
- "codex",
116
- "pi-dev",
117
- "hermes"
118
- ]
119
- }
120
- ]
121
- }
1
+ {
2
+ "id": "vertical:repo-maintainer",
3
+ "description": "A maintenance pod for an existing repo — maintainer, benchmarker, release, security agents. The \"this repo ships with its own agent\" demo.",
4
+ "domain": "engineering/repo-maintenance",
5
+ "category": "Engineering",
6
+ "files": [
7
+ {
8
+ "src": "package.json.tmpl",
9
+ "dst": "package.json",
10
+ "render": true
11
+ },
12
+ {
13
+ "src": "CLAUDE.md.tmpl",
14
+ "dst": "CLAUDE.md",
15
+ "render": true
16
+ },
17
+ {
18
+ "src": "README.md.tmpl",
19
+ "dst": "README.md",
20
+ "render": true
21
+ },
22
+ {
23
+ "src": ".claude/settings.json.tmpl",
24
+ "dst": ".claude/settings.json",
25
+ "render": true
26
+ },
27
+ {
28
+ "src": ".claude-plugin/plugin.json.tmpl",
29
+ "dst": ".claude-plugin/plugin.json",
30
+ "render": true
31
+ },
32
+ {
33
+ "src": "src/init.ts.tmpl",
34
+ "dst": "src/init.ts",
35
+ "render": true
36
+ },
37
+ {
38
+ "src": "src/agents/maintainer.ts.tmpl",
39
+ "dst": "src/agents/maintainer.ts",
40
+ "render": true
41
+ },
42
+ {
43
+ "src": "src/agents/benchmarker.ts.tmpl",
44
+ "dst": "src/agents/benchmarker.ts",
45
+ "render": true
46
+ },
47
+ {
48
+ "src": "src/agents/release.ts.tmpl",
49
+ "dst": "src/agents/release.ts",
50
+ "render": true
51
+ },
52
+ {
53
+ "src": "src/agents/security.ts.tmpl",
54
+ "dst": "src/agents/security.ts",
55
+ "render": true
56
+ },
57
+ {
58
+ "src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
59
+ "dst": ".claude/skills/memory-inspect/SKILL.md",
60
+ "render": true
61
+ },
62
+ {
63
+ "src": ".claude/skills/plan-change/SKILL.md.tmpl",
64
+ "dst": ".claude/skills/plan-change/SKILL.md",
65
+ "render": true
66
+ },
67
+ {
68
+ "src": ".claude/commands/doctor.md.tmpl",
69
+ "dst": ".claude/commands/doctor.md",
70
+ "render": true
71
+ },
72
+ {
73
+ "src": ".claude/commands/repo-triage.md.tmpl",
74
+ "dst": ".claude/commands/repo-triage.md",
75
+ "render": true
76
+ },
77
+ {
78
+ "src": ".claude/commands/release-check.md.tmpl",
79
+ "dst": ".claude/commands/release-check.md",
80
+ "render": true
81
+ },
82
+ {
83
+ "src": "tsconfig.json.tmpl",
84
+ "dst": "tsconfig.json",
85
+ "render": true
86
+ },
87
+ {
88
+ "src": "bin/cli.js.tmpl",
89
+ "dst": "bin/cli.js",
90
+ "render": true
91
+ },
92
+ {
93
+ "src": "__tests__/smoke.test.ts.tmpl",
94
+ "dst": "__tests__/smoke.test.ts",
95
+ "render": true
96
+ }
97
+ ],
98
+ "vars": [
99
+ {
100
+ "name": "name",
101
+ "prompt": "Harness name (kebab-case)",
102
+ "validate": "^[a-z0-9-]+$"
103
+ },
104
+ {
105
+ "name": "description",
106
+ "prompt": "One-line description",
107
+ "default": "Maintain an existing repo: triage what changed, benchmark, release-check, security-flag"
108
+ },
109
+ {
110
+ "name": "host",
111
+ "prompt": "Host adapter",
112
+ "default": "claude-code",
113
+ "choices": [
114
+ "claude-code",
115
+ "codex",
116
+ "pi-dev",
117
+ "hermes"
118
+ ]
119
+ }
120
+ ]
121
+ }
@@ -1,30 +1,30 @@
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", "doctor": "node ./bin/cli.js doctor"
14
- },
15
- "dependencies": {
16
- "@metaharness/kernel": "^0.1.0",
17
- "@metaharness/host-{{host}}": "^0.1.0"
18
- },
19
- "devDependencies": {
20
- "@types/node": "^20.0.0",
21
- "typescript": "^5.4.0",
22
- "vitest": "^3.0.0"
23
- },
24
- "engines": {
25
- "node": ">=20.0.0"
26
- },
27
- "publishConfig": {
28
- "access": "public"
29
- }
30
- }
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", "doctor": "node ./bin/cli.js doctor"
14
+ },
15
+ "dependencies": {
16
+ "@metaharness/kernel": "^0.1.0",
17
+ "@metaharness/host-{{host}}": "^0.1.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^20.0.0",
21
+ "typescript": "^5.4.0",
22
+ "vitest": "^3.0.0"
23
+ },
24
+ "engines": {
25
+ "node": ">=20.0.0"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ }
30
+ }
@@ -1,7 +1,7 @@
1
- // SPDX-License-Identifier: MIT
2
- // Benchmarker agent — Runs the perf gates and reports regressions.
3
-
4
- export const SYSTEM_PROMPT = `You run the project's declared benchmark suite (cargo bench, npm run bench, or whatever the manifest names) and compare against the baseline. Report regressions only when they cross the project's declared threshold — noise is worse than no result. Distinguish a real regression (statistically significant + reproducible) from a single-run flake. Write the result to memory so the maintainer can quote it. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
-
6
- export const NAME = 'benchmarker';
7
- export const TIER = 'sonnet' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Benchmarker agent — Runs the perf gates and reports regressions.
3
+
4
+ export const SYSTEM_PROMPT = `You run the project's declared benchmark suite (cargo bench, npm run bench, or whatever the manifest names) and compare against the baseline. Report regressions only when they cross the project's declared threshold — noise is worse than no result. Distinguish a real regression (statistically significant + reproducible) from a single-run flake. Write the result to memory so the maintainer can quote it. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'benchmarker';
7
+ export const TIER = 'sonnet' as const;
@@ -1,7 +1,7 @@
1
- // SPDX-License-Identifier: MIT
2
- // Maintainer agent — Triages the repo state — what changed, what is risky, what to review first.
3
-
4
- export const SYSTEM_PROMPT = `You are the repo maintainer. When asked "what changed?" you read git diff / git log / git status and produce a one-screen triage: the headline risk, the files most likely to regress, and the smallest test the team should run before merging. You never push, never publish, never auto-fix — your job is to surface, not to act. When uncertain you say "I can't tell from the diff alone" and ask for the specific file or commit you need. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
-
6
- export const NAME = 'maintainer';
7
- export const TIER = 'opus' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Maintainer agent — Triages the repo state — what changed, what is risky, what to review first.
3
+
4
+ export const SYSTEM_PROMPT = `You are the repo maintainer. When asked "what changed?" you read git diff / git log / git status and produce a one-screen triage: the headline risk, the files most likely to regress, and the smallest test the team should run before merging. You never push, never publish, never auto-fix — your job is to surface, not to act. When uncertain you say "I can't tell from the diff alone" and ask for the specific file or commit you need. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'maintainer';
7
+ export const TIER = 'opus' as const;
@@ -1,7 +1,7 @@
1
- // SPDX-License-Identifier: MIT
2
- // Release agent — Drafts the GitHub release body + runs the readiness gates.
3
-
4
- export const SYSTEM_PROMPT = `You draft a release. Read the conventional-commit log since the last tag, group commits by feat/fix/docs/chore, and write a release body that an outside reader could understand without the repo open. Before drafting you confirm the release-readiness gates have passed (validate / sbom / witness / score). If any gate is red you refuse to draft and name the specific blocker. The release is a public commitment; you treat it like one. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
-
6
- export const NAME = 'release';
7
- export const TIER = 'opus' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Release agent — Drafts the GitHub release body + runs the readiness gates.
3
+
4
+ export const SYSTEM_PROMPT = `You draft a release. Read the conventional-commit log since the last tag, group commits by feat/fix/docs/chore, and write a release body that an outside reader could understand without the repo open. Before drafting you confirm the release-readiness gates have passed (validate / sbom / witness / score). If any gate is red you refuse to draft and name the specific blocker. The release is a public commitment; you treat it like one. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'release';
7
+ export const TIER = 'opus' as const;
@@ -1,7 +1,7 @@
1
- // SPDX-License-Identifier: MIT
2
- // Security agent — Flags risky MCP grants, leaked secrets, dangerous diffs.
3
-
4
- export const SYSTEM_PROMPT = `You scan the harness for the security regressions that matter: MCP grants that widened (Bash(rm:*), shell on, network on, file-write on), .env or token strings that escaped the redaction set, dependency updates that pulled in CVEs, and policy files that drifted from default-deny. Report each finding with a file:line, a severity (HIGH / MEDIUM), and the smallest fix. Never approve a change that widens a permission without a written reason in the PR description. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
-
6
- export const NAME = 'security';
7
- export const TIER = 'opus' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Security agent — Flags risky MCP grants, leaked secrets, dangerous diffs.
3
+
4
+ export const SYSTEM_PROMPT = `You scan the harness for the security regressions that matter: MCP grants that widened (Bash(rm:*), shell on, network on, file-write on), .env or token strings that escaped the redaction set, dependency updates that pulled in CVEs, and policy files that drifted from default-deny. Report each finding with a file:line, a severity (HIGH / MEDIUM), and the smallest fix. Never approve a change that widens a permission without a written reason in the PR description. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'security';
7
+ export const TIER = 'opus' as const;
@@ -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
+ }
@@ -1,23 +1,23 @@
1
- // SPDX-License-Identifier: MIT
2
- // Generated by metaharness. Strips the `#!/usr/bin/env node` shebang from
3
- // importable entrypoints (e.g. bin/cli.js) before Vite parses them — Vite/esbuild
4
- // (used internally by Vitest) does NOT strip shebangs, so importing a shebanged
5
- // module throws `SyntaxError: Invalid or unexpected token`. See issue #44.
6
- // Has no effect on direct CLI execution or `npm run doctor` (those bypass Vite).
7
- import { defineConfig } from 'vitest/config';
8
-
9
- export default defineConfig({
10
- plugins: [
11
- {
12
- name: 'strip-shebang',
13
- enforce: 'pre',
14
- transform(code: string) {
15
- if (code.startsWith('#!')) {
16
- // Replace with a blank line so source line numbers stay aligned.
17
- return { code: code.replace(/^#![^\n]*/, ''), map: null };
18
- }
19
- return null;
20
- },
21
- },
22
- ],
23
- });
1
+ // SPDX-License-Identifier: MIT
2
+ // Generated by metaharness. Strips the `#!/usr/bin/env node` shebang from
3
+ // importable entrypoints (e.g. bin/cli.js) before Vite parses them — Vite/esbuild
4
+ // (used internally by Vitest) does NOT strip shebangs, so importing a shebanged
5
+ // module throws `SyntaxError: Invalid or unexpected token`. See issue #44.
6
+ // Has no effect on direct CLI execution or `npm run doctor` (those bypass Vite).
7
+ import { defineConfig } from 'vitest/config';
8
+
9
+ export default defineConfig({
10
+ plugins: [
11
+ {
12
+ name: 'strip-shebang',
13
+ enforce: 'pre',
14
+ transform(code: string) {
15
+ if (code.startsWith('#!')) {
16
+ // Replace with a blank line so source line numbers stay aligned.
17
+ return { code: code.replace(/^#![^\n]*/, ''), map: null };
18
+ }
19
+ return null;
20
+ },
21
+ },
22
+ ],
23
+ });
@@ -1,9 +1,9 @@
1
- {
2
- "permissions": {
3
- "allow": ["Bash(npx {{name}}*)", "mcp__{{name}}__*", "WebFetch"],
4
- "deny": ["Bash(rm *)", "Read(./.env)", "Read(./.env.*)"]
5
- },
6
- "mcpServers": {
7
- "{{name}}": { "command": "npx", "args": ["-y", "{{name}}@latest", "mcp", "start"] }
8
- }
9
- }
1
+ {
2
+ "permissions": {
3
+ "allow": ["Bash(npx {{name}}*)", "mcp__{{name}}__*", "WebFetch"],
4
+ "deny": ["Bash(rm *)", "Read(./.env)", "Read(./.env.*)"]
5
+ },
6
+ "mcpServers": {
7
+ "{{name}}": { "command": "npx", "args": ["-y", "{{name}}@latest", "mcp", "start"] }
8
+ }
9
+ }
@@ -1,23 +1,23 @@
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": [
11
- "agent-harness",
12
- "metaharness-scaffold",
13
- "vertical",
14
- "research/multi-source-dossier"
15
- ],
16
- "tags": [
17
- "metaharness",
18
- "agent-harness",
19
- "vertical:research",
20
- "research/multi-source-dossier"
21
- ],
22
- "homepage": "https://github.com/ruvnet/agent-harness-generator"
23
- }
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": [
11
+ "agent-harness",
12
+ "metaharness-scaffold",
13
+ "vertical",
14
+ "research/multi-source-dossier"
15
+ ],
16
+ "tags": [
17
+ "metaharness",
18
+ "agent-harness",
19
+ "vertical:research",
20
+ "research/multi-source-dossier"
21
+ ],
22
+ "homepage": "https://github.com/ruvnet/agent-harness-generator"
23
+ }
@@ -1,33 +1,33 @@
1
- # {{name}}
2
-
3
- {{description}}
4
-
5
- ## Pipeline
6
-
7
- ```
8
- scout -> web-searcher -> source-grader -> synthesizer -> fact-checker -> citer
9
- ```
10
-
11
- Each agent only sees the OUTPUT of the previous one, not the raw inputs. This forces information to flow through grading + verification gates.
12
-
13
- ## Agents
14
-
15
- | Agent | Role | Tier |
16
- |---|---|---|
17
- | `scout` | Decompose the research question into subqueries | Sonnet |
18
- | `web-searcher` | Run subqueries via WebSearch MCP, collect raw hits | Haiku |
19
- | `source-grader` | Grade each source A/B/C/D by authority + freshness + relevance | Sonnet |
20
- | `synthesizer` | Synthesise findings from grade A/B sources only | Sonnet |
21
- | `fact-checker` | Adversarially verify each claim in the synthesis | Sonnet |
22
- | `citer` | Final pass: every claim must cite a graded source | Sonnet |
23
-
24
- ## Evidence grading rubric
25
-
26
- - **A**: Primary source (paper, official doc), <2 years old, on-topic
27
- - **B**: Reputable secondary source (major outlet, expert blog), <5 years
28
- - **C**: Tertiary source (Wikipedia, summary article) — informational only
29
- - **D**: Discarded (forum, unsourced claim, broken link)
30
-
31
- ## Output
32
-
33
- A dossier markdown: TL;DR + body (every claim cited) + bibliography with grades.
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ ## Pipeline
6
+
7
+ ```
8
+ scout -> web-searcher -> source-grader -> synthesizer -> fact-checker -> citer
9
+ ```
10
+
11
+ Each agent only sees the OUTPUT of the previous one, not the raw inputs. This forces information to flow through grading + verification gates.
12
+
13
+ ## Agents
14
+
15
+ | Agent | Role | Tier |
16
+ |---|---|---|
17
+ | `scout` | Decompose the research question into subqueries | Sonnet |
18
+ | `web-searcher` | Run subqueries via WebSearch MCP, collect raw hits | Haiku |
19
+ | `source-grader` | Grade each source A/B/C/D by authority + freshness + relevance | Sonnet |
20
+ | `synthesizer` | Synthesise findings from grade A/B sources only | Sonnet |
21
+ | `fact-checker` | Adversarially verify each claim in the synthesis | Sonnet |
22
+ | `citer` | Final pass: every claim must cite a graded source | Sonnet |
23
+
24
+ ## Evidence grading rubric
25
+
26
+ - **A**: Primary source (paper, official doc), <2 years old, on-topic
27
+ - **B**: Reputable secondary source (major outlet, expert blog), <5 years
28
+ - **C**: Tertiary source (Wikipedia, summary article) — informational only
29
+ - **D**: Discarded (forum, unsourced claim, broken link)
30
+
31
+ ## Output
32
+
33
+ A dossier markdown: TL;DR + body (every claim cited) + bibliography with grades.