metaharness 0.3.0 → 0.3.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 (384) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +111 -74
  3. package/dist/bin.js +14 -2
  4. package/dist/bin.js.map +1 -1
  5. package/dist/completions-cmd.js +94 -94
  6. package/dist/diag.d.ts +8 -0
  7. package/dist/diag.d.ts.map +1 -1
  8. package/dist/diag.js +79 -15
  9. package/dist/diag.js.map +1 -1
  10. package/dist/export-config.d.ts.map +1 -1
  11. package/dist/export-config.js +3 -12
  12. package/dist/export-config.js.map +1 -1
  13. package/dist/genome.d.ts.map +1 -1
  14. package/dist/genome.js +3 -12
  15. package/dist/genome.js.map +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +101 -75
  18. package/dist/index.js.map +1 -1
  19. package/dist/meta-proxy.d.ts +57 -0
  20. package/dist/meta-proxy.d.ts.map +1 -0
  21. package/dist/meta-proxy.js +325 -0
  22. package/dist/meta-proxy.js.map +1 -0
  23. package/dist/publish-cmd.d.ts.map +1 -1
  24. package/dist/publish-cmd.js +5 -0
  25. package/dist/publish-cmd.js.map +1 -1
  26. package/dist/publish.d.ts +6 -0
  27. package/dist/publish.d.ts.map +1 -1
  28. package/dist/publish.js +9 -0
  29. package/dist/publish.js.map +1 -1
  30. package/dist/redact.d.ts +25 -0
  31. package/dist/redact.d.ts.map +1 -0
  32. package/dist/redact.js +62 -0
  33. package/dist/redact.js.map +1 -0
  34. package/dist/score.d.ts +9 -0
  35. package/dist/score.d.ts.map +1 -1
  36. package/dist/score.js +20 -14
  37. package/dist/score.js.map +1 -1
  38. package/dist/threat-model.d.ts.map +1 -1
  39. package/dist/threat-model.js +3 -12
  40. package/dist/threat-model.js.map +1 -1
  41. package/dist/with-wasm.js +43 -43
  42. package/dist/witness-client.d.ts +7 -0
  43. package/dist/witness-client.d.ts.map +1 -1
  44. package/dist/witness-client.js +5 -1
  45. package/dist/witness-client.js.map +1 -1
  46. package/genomes/README.md +23 -23
  47. package/genomes/genome-promoted-cand6-edit-by-midpoint.json +26 -26
  48. package/package.json +126 -125
  49. package/templates/catalog.def.mjs +542 -542
  50. package/templates/catalog.json +1274 -1274
  51. package/templates/minimal/.claude/settings.json.tmpl +18 -18
  52. package/templates/minimal/.claude-plugin/plugin.json.tmpl +13 -13
  53. package/templates/minimal/CLAUDE.md.tmpl +26 -23
  54. package/templates/minimal/README.md.tmpl +20 -20
  55. package/templates/minimal/__tests__/smoke.test.ts.tmpl +37 -37
  56. package/templates/minimal/bin/cli.js.tmpl +100 -100
  57. package/templates/minimal/manifest.json +20 -20
  58. package/templates/minimal/package.json.tmpl +31 -31
  59. package/templates/minimal/src/init.ts.tmpl +21 -21
  60. package/templates/minimal/tsconfig.json.tmpl +19 -19
  61. package/templates/minimal/vitest.config.ts.tmpl +23 -23
  62. package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -12
  63. package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -33
  64. package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -13
  65. package/templates/vertical_advertising/.claude-plugin/plugin.json.tmpl +23 -23
  66. package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -30
  67. package/templates/vertical_advertising/README.md.tmpl +29 -29
  68. package/templates/vertical_advertising/__tests__/smoke.test.ts.tmpl +37 -37
  69. package/templates/vertical_advertising/bin/cli.js.tmpl +100 -100
  70. package/templates/vertical_advertising/manifest.json +101 -101
  71. package/templates/vertical_advertising/package.json.tmpl +30 -30
  72. package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -7
  73. package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -7
  74. package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -7
  75. package/templates/vertical_advertising/src/init.ts.tmpl +21 -21
  76. package/templates/vertical_advertising/tsconfig.json.tmpl +19 -19
  77. package/templates/vertical_advertising/vitest.config.ts.tmpl +23 -23
  78. package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -12
  79. package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -33
  80. package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  81. package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -14
  82. package/templates/vertical_agentics/.claude-plugin/plugin.json.tmpl +23 -23
  83. package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -32
  84. package/templates/vertical_agentics/README.md.tmpl +30 -30
  85. package/templates/vertical_agentics/__tests__/smoke.test.ts.tmpl +37 -37
  86. package/templates/vertical_agentics/bin/cli.js.tmpl +100 -100
  87. package/templates/vertical_agentics/manifest.json +111 -111
  88. package/templates/vertical_agentics/package.json.tmpl +30 -30
  89. package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -7
  90. package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -7
  91. package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -7
  92. package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -7
  93. package/templates/vertical_agentics/src/init.ts.tmpl +21 -21
  94. package/templates/vertical_agentics/tsconfig.json.tmpl +19 -19
  95. package/templates/vertical_agentics/vitest.config.ts.tmpl +23 -23
  96. package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -12
  97. package/templates/vertical_ai/.claude/settings.json.tmpl +35 -35
  98. package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -13
  99. package/templates/vertical_ai/.claude-plugin/plugin.json.tmpl +23 -23
  100. package/templates/vertical_ai/CLAUDE.md.tmpl +31 -31
  101. package/templates/vertical_ai/README.md.tmpl +30 -30
  102. package/templates/vertical_ai/__tests__/smoke.test.ts.tmpl +37 -37
  103. package/templates/vertical_ai/bin/cli.js.tmpl +100 -100
  104. package/templates/vertical_ai/manifest.json +106 -106
  105. package/templates/vertical_ai/package.json.tmpl +30 -30
  106. package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -7
  107. package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -7
  108. package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -7
  109. package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -7
  110. package/templates/vertical_ai/src/init.ts.tmpl +21 -21
  111. package/templates/vertical_ai/tsconfig.json.tmpl +19 -19
  112. package/templates/vertical_ai/vitest.config.ts.tmpl +23 -23
  113. package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -12
  114. package/templates/vertical_business/.claude/settings.json.tmpl +33 -33
  115. package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -13
  116. package/templates/vertical_business/.claude-plugin/plugin.json.tmpl +23 -23
  117. package/templates/vertical_business/CLAUDE.md.tmpl +30 -30
  118. package/templates/vertical_business/README.md.tmpl +29 -29
  119. package/templates/vertical_business/__tests__/smoke.test.ts.tmpl +37 -37
  120. package/templates/vertical_business/bin/cli.js.tmpl +100 -100
  121. package/templates/vertical_business/manifest.json +101 -101
  122. package/templates/vertical_business/package.json.tmpl +30 -30
  123. package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -7
  124. package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -7
  125. package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -7
  126. package/templates/vertical_business/src/init.ts.tmpl +21 -21
  127. package/templates/vertical_business/tsconfig.json.tmpl +19 -19
  128. package/templates/vertical_business/vitest.config.ts.tmpl +23 -23
  129. package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -12
  130. package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -10
  131. package/templates/vertical_coding/.claude/settings.json.tmpl +40 -40
  132. package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  133. package/templates/vertical_coding/.claude-plugin/plugin.json.tmpl +23 -23
  134. package/templates/vertical_coding/CLAUDE.md.tmpl +32 -32
  135. package/templates/vertical_coding/README.md.tmpl +30 -30
  136. package/templates/vertical_coding/__tests__/smoke.test.ts.tmpl +37 -37
  137. package/templates/vertical_coding/bin/cli.js.tmpl +100 -100
  138. package/templates/vertical_coding/manifest.json +111 -111
  139. package/templates/vertical_coding/package.json.tmpl +30 -30
  140. package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -7
  141. package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -7
  142. package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -7
  143. package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -7
  144. package/templates/vertical_coding/src/init.ts.tmpl +21 -21
  145. package/templates/vertical_coding/tsconfig.json.tmpl +19 -19
  146. package/templates/vertical_coding/vitest.config.ts.tmpl +23 -23
  147. package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -12
  148. package/templates/vertical_crm/.claude/settings.json.tmpl +33 -33
  149. package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  150. package/templates/vertical_crm/.claude-plugin/plugin.json.tmpl +23 -23
  151. package/templates/vertical_crm/CLAUDE.md.tmpl +30 -30
  152. package/templates/vertical_crm/README.md.tmpl +29 -29
  153. package/templates/vertical_crm/__tests__/smoke.test.ts.tmpl +37 -37
  154. package/templates/vertical_crm/bin/cli.js.tmpl +100 -100
  155. package/templates/vertical_crm/manifest.json +101 -101
  156. package/templates/vertical_crm/package.json.tmpl +30 -30
  157. package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -7
  158. package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -7
  159. package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -7
  160. package/templates/vertical_crm/src/init.ts.tmpl +21 -21
  161. package/templates/vertical_crm/tsconfig.json.tmpl +19 -19
  162. package/templates/vertical_crm/vitest.config.ts.tmpl +23 -23
  163. package/templates/vertical_devops/.claude/settings.json.tmpl +36 -36
  164. package/templates/vertical_devops/.claude-plugin/plugin.json.tmpl +23 -23
  165. package/templates/vertical_devops/CLAUDE.md.tmpl +34 -34
  166. package/templates/vertical_devops/README.md.tmpl +27 -27
  167. package/templates/vertical_devops/__tests__/smoke.test.ts.tmpl +37 -37
  168. package/templates/vertical_devops/bin/cli.js.tmpl +100 -100
  169. package/templates/vertical_devops/manifest.json +100 -100
  170. package/templates/vertical_devops/package.json.tmpl +27 -27
  171. package/templates/vertical_devops/runbooks/README.md.tmpl +32 -32
  172. package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -19
  173. package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -23
  174. package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -14
  175. package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -17
  176. package/templates/vertical_devops/src/init.ts.tmpl +23 -23
  177. package/templates/vertical_devops/tsconfig.json.tmpl +19 -19
  178. package/templates/vertical_devops/vitest.config.ts.tmpl +23 -23
  179. package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -12
  180. package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -12
  181. package/templates/vertical_education/.claude/settings.json.tmpl +45 -45
  182. package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  183. package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -16
  184. package/templates/vertical_education/.claude-plugin/plugin.json.tmpl +23 -23
  185. package/templates/vertical_education/CLAUDE.md.tmpl +33 -33
  186. package/templates/vertical_education/README.md.tmpl +30 -30
  187. package/templates/vertical_education/__tests__/smoke.test.ts.tmpl +37 -37
  188. package/templates/vertical_education/bin/cli.js.tmpl +100 -100
  189. package/templates/vertical_education/manifest.json +116 -116
  190. package/templates/vertical_education/package.json.tmpl +30 -30
  191. package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -7
  192. package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -7
  193. package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -7
  194. package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -7
  195. package/templates/vertical_education/src/init.ts.tmpl +21 -21
  196. package/templates/vertical_education/tsconfig.json.tmpl +19 -19
  197. package/templates/vertical_education/vitest.config.ts.tmpl +23 -23
  198. package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -12
  199. package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -44
  200. package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -14
  201. package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  202. package/templates/vertical_exotic/.claude-plugin/plugin.json.tmpl +23 -23
  203. package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -31
  204. package/templates/vertical_exotic/README.md.tmpl +29 -29
  205. package/templates/vertical_exotic/__tests__/smoke.test.ts.tmpl +37 -37
  206. package/templates/vertical_exotic/bin/cli.js.tmpl +100 -100
  207. package/templates/vertical_exotic/manifest.json +106 -106
  208. package/templates/vertical_exotic/package.json.tmpl +30 -30
  209. package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -7
  210. package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -7
  211. package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -7
  212. package/templates/vertical_exotic/src/init.ts.tmpl +21 -21
  213. package/templates/vertical_exotic/tsconfig.json.tmpl +19 -19
  214. package/templates/vertical_exotic/vitest.config.ts.tmpl +23 -23
  215. package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -13
  216. package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -12
  217. package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -45
  218. package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  219. package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -16
  220. package/templates/vertical_gaming/.claude-plugin/plugin.json.tmpl +23 -23
  221. package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -33
  222. package/templates/vertical_gaming/README.md.tmpl +30 -30
  223. package/templates/vertical_gaming/__tests__/smoke.test.ts.tmpl +37 -37
  224. package/templates/vertical_gaming/bin/cli.js.tmpl +100 -100
  225. package/templates/vertical_gaming/manifest.json +116 -116
  226. package/templates/vertical_gaming/package.json.tmpl +30 -30
  227. package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -7
  228. package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -7
  229. package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -7
  230. package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -7
  231. package/templates/vertical_gaming/src/init.ts.tmpl +21 -21
  232. package/templates/vertical_gaming/tsconfig.json.tmpl +19 -19
  233. package/templates/vertical_gaming/vitest.config.ts.tmpl +23 -23
  234. package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -12
  235. package/templates/vertical_health/.claude/settings.json.tmpl +33 -33
  236. package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -15
  237. package/templates/vertical_health/.claude-plugin/plugin.json.tmpl +23 -23
  238. package/templates/vertical_health/CLAUDE.md.tmpl +30 -30
  239. package/templates/vertical_health/README.md.tmpl +29 -29
  240. package/templates/vertical_health/__tests__/smoke.test.ts.tmpl +37 -37
  241. package/templates/vertical_health/bin/cli.js.tmpl +100 -100
  242. package/templates/vertical_health/manifest.json +101 -101
  243. package/templates/vertical_health/package.json.tmpl +30 -30
  244. package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -7
  245. package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -7
  246. package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -7
  247. package/templates/vertical_health/src/init.ts.tmpl +21 -21
  248. package/templates/vertical_health/tsconfig.json.tmpl +19 -19
  249. package/templates/vertical_health/vitest.config.ts.tmpl +23 -23
  250. package/templates/vertical_legal/.claude/settings.json.tmpl +10 -10
  251. package/templates/vertical_legal/.claude-plugin/plugin.json.tmpl +23 -23
  252. package/templates/vertical_legal/CLAUDE.md.tmpl +24 -24
  253. package/templates/vertical_legal/README.md.tmpl +21 -21
  254. package/templates/vertical_legal/__tests__/smoke.test.ts.tmpl +37 -37
  255. package/templates/vertical_legal/bin/cli.js.tmpl +100 -100
  256. package/templates/vertical_legal/manifest.json +90 -90
  257. package/templates/vertical_legal/package.json.tmpl +14 -14
  258. package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -7
  259. package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -7
  260. package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -8
  261. package/templates/vertical_legal/src/init.ts.tmpl +13 -13
  262. package/templates/vertical_legal/tsconfig.json.tmpl +19 -19
  263. package/templates/vertical_legal/vitest.config.ts.tmpl +23 -23
  264. package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -12
  265. package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -33
  266. package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -13
  267. package/templates/vertical_marketing/.claude-plugin/plugin.json.tmpl +23 -23
  268. package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -30
  269. package/templates/vertical_marketing/README.md.tmpl +29 -29
  270. package/templates/vertical_marketing/__tests__/smoke.test.ts.tmpl +37 -37
  271. package/templates/vertical_marketing/bin/cli.js.tmpl +100 -100
  272. package/templates/vertical_marketing/manifest.json +101 -101
  273. package/templates/vertical_marketing/package.json.tmpl +30 -30
  274. package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -7
  275. package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -7
  276. package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -7
  277. package/templates/vertical_marketing/src/init.ts.tmpl +21 -21
  278. package/templates/vertical_marketing/tsconfig.json.tmpl +19 -19
  279. package/templates/vertical_marketing/vitest.config.ts.tmpl +23 -23
  280. package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -12
  281. package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -13
  282. package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -16
  283. package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -44
  284. package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  285. package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
  286. package/templates/vertical_repo-maintainer/.claude-plugin/plugin.json.tmpl +23 -23
  287. package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -34
  288. package/templates/vertical_repo-maintainer/README.md.tmpl +30 -30
  289. package/templates/vertical_repo-maintainer/__tests__/smoke.test.ts.tmpl +37 -37
  290. package/templates/vertical_repo-maintainer/bin/cli.js.tmpl +100 -100
  291. package/templates/vertical_repo-maintainer/manifest.json +121 -121
  292. package/templates/vertical_repo-maintainer/package.json.tmpl +30 -30
  293. package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -7
  294. package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -7
  295. package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -7
  296. package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -7
  297. package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -21
  298. package/templates/vertical_repo-maintainer/tsconfig.json.tmpl +19 -19
  299. package/templates/vertical_repo-maintainer/vitest.config.ts.tmpl +23 -23
  300. package/templates/vertical_research/.claude/settings.json.tmpl +9 -9
  301. package/templates/vertical_research/.claude-plugin/plugin.json.tmpl +23 -23
  302. package/templates/vertical_research/CLAUDE.md.tmpl +33 -33
  303. package/templates/vertical_research/README.md.tmpl +17 -17
  304. package/templates/vertical_research/__tests__/smoke.test.ts.tmpl +37 -37
  305. package/templates/vertical_research/bin/cli.js.tmpl +100 -100
  306. package/templates/vertical_research/manifest.json +105 -105
  307. package/templates/vertical_research/package.json.tmpl +14 -14
  308. package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -8
  309. package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -8
  310. package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -7
  311. package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -10
  312. package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -8
  313. package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -6
  314. package/templates/vertical_research/src/init.ts.tmpl +13 -13
  315. package/templates/vertical_research/tsconfig.json.tmpl +19 -19
  316. package/templates/vertical_research/vitest.config.ts.tmpl +23 -23
  317. package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -12
  318. package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -33
  319. package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -15
  320. package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  321. package/templates/vertical_ruview/.claude-plugin/plugin.json.tmpl +23 -23
  322. package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -31
  323. package/templates/vertical_ruview/README.md.tmpl +29 -29
  324. package/templates/vertical_ruview/__tests__/smoke.test.ts.tmpl +37 -37
  325. package/templates/vertical_ruview/bin/cli.js.tmpl +100 -100
  326. package/templates/vertical_ruview/manifest.json +106 -106
  327. package/templates/vertical_ruview/package.json.tmpl +30 -30
  328. package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -7
  329. package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -7
  330. package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -7
  331. package/templates/vertical_ruview/src/init.ts.tmpl +21 -21
  332. package/templates/vertical_ruview/tsconfig.json.tmpl +19 -19
  333. package/templates/vertical_ruview/vitest.config.ts.tmpl +23 -23
  334. package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -12
  335. package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -13
  336. package/templates/vertical_sales/.claude/settings.json.tmpl +45 -45
  337. package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
  338. package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -15
  339. package/templates/vertical_sales/.claude-plugin/plugin.json.tmpl +23 -23
  340. package/templates/vertical_sales/CLAUDE.md.tmpl +33 -33
  341. package/templates/vertical_sales/README.md.tmpl +30 -30
  342. package/templates/vertical_sales/__tests__/smoke.test.ts.tmpl +37 -37
  343. package/templates/vertical_sales/bin/cli.js.tmpl +100 -100
  344. package/templates/vertical_sales/manifest.json +116 -116
  345. package/templates/vertical_sales/package.json.tmpl +30 -30
  346. package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -7
  347. package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -7
  348. package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -7
  349. package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -7
  350. package/templates/vertical_sales/src/init.ts.tmpl +21 -21
  351. package/templates/vertical_sales/tsconfig.json.tmpl +19 -19
  352. package/templates/vertical_sales/vitest.config.ts.tmpl +23 -23
  353. package/templates/vertical_support/.claude/settings.json.tmpl +25 -25
  354. package/templates/vertical_support/.claude-plugin/plugin.json.tmpl +23 -23
  355. package/templates/vertical_support/CLAUDE.md.tmpl +34 -34
  356. package/templates/vertical_support/README.md.tmpl +16 -16
  357. package/templates/vertical_support/__tests__/smoke.test.ts.tmpl +37 -37
  358. package/templates/vertical_support/bin/cli.js.tmpl +100 -100
  359. package/templates/vertical_support/kb/README.md.tmpl +23 -23
  360. package/templates/vertical_support/manifest.json +100 -100
  361. package/templates/vertical_support/package.json.tmpl +25 -25
  362. package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -6
  363. package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -6
  364. package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -7
  365. package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -6
  366. package/templates/vertical_support/src/init.ts.tmpl +16 -16
  367. package/templates/vertical_support/tsconfig.json.tmpl +19 -19
  368. package/templates/vertical_support/vitest.config.ts.tmpl +23 -23
  369. package/templates/vertical_trading/.claude/settings.json.tmpl +20 -20
  370. package/templates/vertical_trading/.claude-plugin/plugin.json.tmpl +23 -23
  371. package/templates/vertical_trading/CLAUDE.md.tmpl +24 -24
  372. package/templates/vertical_trading/README.md.tmpl +17 -17
  373. package/templates/vertical_trading/__tests__/smoke.test.ts.tmpl +37 -37
  374. package/templates/vertical_trading/bin/cli.js.tmpl +100 -100
  375. package/templates/vertical_trading/manifest.json +100 -100
  376. package/templates/vertical_trading/package.json.tmpl +14 -14
  377. package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -8
  378. package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -7
  379. package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -8
  380. package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -11
  381. package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -8
  382. package/templates/vertical_trading/src/init.ts.tmpl +20 -20
  383. package/templates/vertical_trading/tsconfig.json.tmpl +19 -19
  384. package/templates/vertical_trading/vitest.config.ts.tmpl +23 -23
@@ -1,100 +1,100 @@
1
- {
2
- "id": "vertical:devops",
3
- "description": "DevOps incident response harness — 4 agents (responder, runbook, escalator, postmortem), 3 MCP servers (kernel + alerts + runbook-store), opinionated routing rules for on-call workflows",
4
- "domain": "devops/incident-response",
5
- "files": [
6
- {
7
- "src": "package.json.tmpl",
8
- "dst": "package.json",
9
- "render": true
10
- },
11
- {
12
- "src": "CLAUDE.md.tmpl",
13
- "dst": "CLAUDE.md",
14
- "render": true
15
- },
16
- {
17
- "src": "README.md.tmpl",
18
- "dst": "README.md",
19
- "render": true
20
- },
21
- {
22
- "src": ".claude/settings.json.tmpl",
23
- "dst": ".claude/settings.json",
24
- "render": true
25
- },
26
- {
27
- "src": ".claude-plugin/plugin.json.tmpl",
28
- "dst": ".claude-plugin/plugin.json",
29
- "render": true
30
- },
31
- {
32
- "src": "src/init.ts.tmpl",
33
- "dst": "src/init.ts",
34
- "render": true
35
- },
36
- {
37
- "src": "src/agents/responder.ts.tmpl",
38
- "dst": "src/agents/responder.ts",
39
- "render": true
40
- },
41
- {
42
- "src": "src/agents/runbook-runner.ts.tmpl",
43
- "dst": "src/agents/runbook-runner.ts",
44
- "render": true
45
- },
46
- {
47
- "src": "src/agents/escalator.ts.tmpl",
48
- "dst": "src/agents/escalator.ts",
49
- "render": true
50
- },
51
- {
52
- "src": "src/agents/postmortem.ts.tmpl",
53
- "dst": "src/agents/postmortem.ts",
54
- "render": true
55
- },
56
- {
57
- "src": "runbooks/README.md.tmpl",
58
- "dst": "runbooks/README.md",
59
- "render": true
60
- },
61
- {
62
- "src": "tsconfig.json.tmpl",
63
- "dst": "tsconfig.json",
64
- "render": true
65
- },
66
- {
67
- "src": "bin/cli.js.tmpl",
68
- "dst": "bin/cli.js",
69
- "render": true
70
- },
71
- {
72
- "src": "__tests__/smoke.test.ts.tmpl",
73
- "dst": "__tests__/smoke.test.ts",
74
- "render": true
75
- }
76
- ],
77
- "vars": [
78
- {
79
- "name": "name",
80
- "prompt": "Harness name (kebab-case)",
81
- "validate": "^[a-z0-9-]+$"
82
- },
83
- {
84
- "name": "description",
85
- "prompt": "One-line description",
86
- "default": "Incident response with on-call workflows"
87
- },
88
- {
89
- "name": "host",
90
- "prompt": "Host adapter",
91
- "default": "claude-code",
92
- "choices": [
93
- "claude-code",
94
- "codex",
95
- "pi-dev",
96
- "hermes"
97
- ]
98
- }
99
- ]
100
- }
1
+ {
2
+ "id": "vertical:devops",
3
+ "description": "DevOps incident response harness — 4 agents (responder, runbook, escalator, postmortem), 3 MCP servers (kernel + alerts + runbook-store), opinionated routing rules for on-call workflows",
4
+ "domain": "devops/incident-response",
5
+ "files": [
6
+ {
7
+ "src": "package.json.tmpl",
8
+ "dst": "package.json",
9
+ "render": true
10
+ },
11
+ {
12
+ "src": "CLAUDE.md.tmpl",
13
+ "dst": "CLAUDE.md",
14
+ "render": true
15
+ },
16
+ {
17
+ "src": "README.md.tmpl",
18
+ "dst": "README.md",
19
+ "render": true
20
+ },
21
+ {
22
+ "src": ".claude/settings.json.tmpl",
23
+ "dst": ".claude/settings.json",
24
+ "render": true
25
+ },
26
+ {
27
+ "src": ".claude-plugin/plugin.json.tmpl",
28
+ "dst": ".claude-plugin/plugin.json",
29
+ "render": true
30
+ },
31
+ {
32
+ "src": "src/init.ts.tmpl",
33
+ "dst": "src/init.ts",
34
+ "render": true
35
+ },
36
+ {
37
+ "src": "src/agents/responder.ts.tmpl",
38
+ "dst": "src/agents/responder.ts",
39
+ "render": true
40
+ },
41
+ {
42
+ "src": "src/agents/runbook-runner.ts.tmpl",
43
+ "dst": "src/agents/runbook-runner.ts",
44
+ "render": true
45
+ },
46
+ {
47
+ "src": "src/agents/escalator.ts.tmpl",
48
+ "dst": "src/agents/escalator.ts",
49
+ "render": true
50
+ },
51
+ {
52
+ "src": "src/agents/postmortem.ts.tmpl",
53
+ "dst": "src/agents/postmortem.ts",
54
+ "render": true
55
+ },
56
+ {
57
+ "src": "runbooks/README.md.tmpl",
58
+ "dst": "runbooks/README.md",
59
+ "render": true
60
+ },
61
+ {
62
+ "src": "tsconfig.json.tmpl",
63
+ "dst": "tsconfig.json",
64
+ "render": true
65
+ },
66
+ {
67
+ "src": "bin/cli.js.tmpl",
68
+ "dst": "bin/cli.js",
69
+ "render": true
70
+ },
71
+ {
72
+ "src": "__tests__/smoke.test.ts.tmpl",
73
+ "dst": "__tests__/smoke.test.ts",
74
+ "render": true
75
+ }
76
+ ],
77
+ "vars": [
78
+ {
79
+ "name": "name",
80
+ "prompt": "Harness name (kebab-case)",
81
+ "validate": "^[a-z0-9-]+$"
82
+ },
83
+ {
84
+ "name": "description",
85
+ "prompt": "One-line description",
86
+ "default": "Incident response with on-call workflows"
87
+ },
88
+ {
89
+ "name": "host",
90
+ "prompt": "Host adapter",
91
+ "default": "claude-code",
92
+ "choices": [
93
+ "claude-code",
94
+ "codex",
95
+ "pi-dev",
96
+ "hermes"
97
+ ]
98
+ }
99
+ ]
100
+ }
@@ -1,27 +1,27 @@
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", "runbooks/**", ".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
- "keywords": ["devops", "incident-response", "on-call", "runbooks", "agent-harness"],
25
- "publishConfig": { "access": "public" },
26
- "engines": { "node": ">=20.0.0" }
27
- }
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", "runbooks/**", ".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
+ "keywords": ["devops", "incident-response", "on-call", "runbooks", "agent-harness"],
25
+ "publishConfig": { "access": "public" },
26
+ "engines": { "node": ">=20.0.0" }
27
+ }
@@ -1,32 +1,32 @@
1
- # Runbooks for {{name}}
2
-
3
- Drop your team's runbooks in this directory as markdown files. The
4
- `runbook-runner` agent finds them by semantic search via the kernel's
5
- memory bridge — no schema required, no registration step.
6
-
7
- ## Convention
8
-
9
- ```markdown
10
- # <Incident name>
11
-
12
- ## Symptoms
13
- - What you see
14
- - What metric triggers this
15
-
16
- ## Runbook
17
- 1. First step
18
- 2. Second step
19
- 3. ...
20
-
21
- ## When to escalate
22
- - Conditions under which the runbook gives up and pages a human
23
- ```
24
-
25
- The semantic-search retriever looks at the `# title`, the `## Symptoms`,
26
- and the first paragraph of `## Runbook`. Keep those expressive; the
27
- narrative below can be as detailed as you like.
28
-
29
- ## Versioning
30
-
31
- Runbooks are versioned with the harness — when you `npm publish`, the
32
- runbook bundle ships too. Users get your latest runbooks on `npm update`.
1
+ # Runbooks for {{name}}
2
+
3
+ Drop your team's runbooks in this directory as markdown files. The
4
+ `runbook-runner` agent finds them by semantic search via the kernel's
5
+ memory bridge — no schema required, no registration step.
6
+
7
+ ## Convention
8
+
9
+ ```markdown
10
+ # <Incident name>
11
+
12
+ ## Symptoms
13
+ - What you see
14
+ - What metric triggers this
15
+
16
+ ## Runbook
17
+ 1. First step
18
+ 2. Second step
19
+ 3. ...
20
+
21
+ ## When to escalate
22
+ - Conditions under which the runbook gives up and pages a human
23
+ ```
24
+
25
+ The semantic-search retriever looks at the `# title`, the `## Symptoms`,
26
+ and the first paragraph of `## Runbook`. Keep those expressive; the
27
+ narrative below can be as detailed as you like.
28
+
29
+ ## Versioning
30
+
31
+ Runbooks are versioned with the harness — when you `npm publish`, the
32
+ runbook bundle ships too. Users get your latest runbooks on `npm update`.
@@ -1,19 +1,19 @@
1
- // SPDX-License-Identifier: MIT
2
- // Escalator agent — decides when to page humans and who.
3
-
4
- export const SYSTEM_PROMPT = `You are the escalator for {{name}}.
5
-
6
- You're invoked when the runbook runner can't resolve the incident, or when
7
- the responder's triage indicates an unknown failure mode. Your job:
8
-
9
- 1. Summarise what's been tried (from session context)
10
- 2. State the blast radius (just one service? multiple? customer-facing?)
11
- 3. Recommend a specific human or team to page, with reasoning
12
- 4. Draft the notification text
13
-
14
- Don't actually page yet — emit a NOTIFY_INTENT block the kernel routes
15
- to the notify MCP tool. Wait for human confirmation before the page goes
16
- out.`;
17
-
18
- export const NAME = 'escalator';
19
- export const TIER = 'sonnet' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Escalator agent — decides when to page humans and who.
3
+
4
+ export const SYSTEM_PROMPT = `You are the escalator for {{name}}.
5
+
6
+ You're invoked when the runbook runner can't resolve the incident, or when
7
+ the responder's triage indicates an unknown failure mode. Your job:
8
+
9
+ 1. Summarise what's been tried (from session context)
10
+ 2. State the blast radius (just one service? multiple? customer-facing?)
11
+ 3. Recommend a specific human or team to page, with reasoning
12
+ 4. Draft the notification text
13
+
14
+ Don't actually page yet — emit a NOTIFY_INTENT block the kernel routes
15
+ to the notify MCP tool. Wait for human confirmation before the page goes
16
+ out.`;
17
+
18
+ export const NAME = 'escalator';
19
+ export const TIER = 'sonnet' as const;
@@ -1,23 +1,23 @@
1
- // SPDX-License-Identifier: MIT
2
- // Postmortem agent — drafts blameless incident postmortems from the
3
- // session transcript.
4
-
5
- export const SYSTEM_PROMPT = `You are the postmortem author for {{name}}.
6
-
7
- After an incident resolves, you draft a blameless postmortem from the
8
- session transcript. Required sections:
9
-
10
- 1. Summary (1-2 sentences)
11
- 2. Timeline (UTC, terse)
12
- 3. Impact (users / services / duration)
13
- 4. Root cause (technical)
14
- 5. Contributing factors (process, tooling, communication)
15
- 6. What went well
16
- 7. Action items (each with an owner and a due date)
17
-
18
- Stay blameless. Name systems, not people. Pull facts from the session
19
- transcript via the kernel memory bridge — do not invent dates or impact
20
- numbers.`;
21
-
22
- export const NAME = 'postmortem';
23
- export const TIER = 'sonnet' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Postmortem agent — drafts blameless incident postmortems from the
3
+ // session transcript.
4
+
5
+ export const SYSTEM_PROMPT = `You are the postmortem author for {{name}}.
6
+
7
+ After an incident resolves, you draft a blameless postmortem from the
8
+ session transcript. Required sections:
9
+
10
+ 1. Summary (1-2 sentences)
11
+ 2. Timeline (UTC, terse)
12
+ 3. Impact (users / services / duration)
13
+ 4. Root cause (technical)
14
+ 5. Contributing factors (process, tooling, communication)
15
+ 6. What went well
16
+ 7. Action items (each with an owner and a due date)
17
+
18
+ Stay blameless. Name systems, not people. Pull facts from the session
19
+ transcript via the kernel memory bridge — do not invent dates or impact
20
+ numbers.`;
21
+
22
+ export const NAME = 'postmortem';
23
+ export const TIER = 'sonnet' as const;
@@ -1,14 +1,14 @@
1
- // SPDX-License-Identifier: MIT
2
- // Responder agent — first to receive alerts. Triages and identifies the
3
- // appropriate runbook for the next agent.
4
-
5
- export const SYSTEM_PROMPT = `You are the on-call responder for {{name}}.
6
-
7
- Your job: when an alert comes in, identify what's broken, find the matching
8
- runbook, and hand off to runbook-runner. Do NOT execute remediation
9
- yourself; you triage and delegate.
10
-
11
- Stay terse. State: what's broken, what runbook, what to escalate later.`;
12
-
13
- export const NAME = 'responder';
14
- export const TIER = 'haiku' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Responder agent — first to receive alerts. Triages and identifies the
3
+ // appropriate runbook for the next agent.
4
+
5
+ export const SYSTEM_PROMPT = `You are the on-call responder for {{name}}.
6
+
7
+ Your job: when an alert comes in, identify what's broken, find the matching
8
+ runbook, and hand off to runbook-runner. Do NOT execute remediation
9
+ yourself; you triage and delegate.
10
+
11
+ Stay terse. State: what's broken, what runbook, what to escalate later.`;
12
+
13
+ export const NAME = 'responder';
14
+ export const TIER = 'haiku' as const;
@@ -1,17 +1,17 @@
1
- // SPDX-License-Identifier: MIT
2
- // Runbook runner agent — executes runbook steps in order, deliberates
3
- // (does not auto-execute destructive operations).
4
-
5
- export const SYSTEM_PROMPT = `You are the runbook runner for {{name}}.
6
-
7
- The responder handed you a runbook. Execute it step by step. For each step:
8
- 1. State what you'll do
9
- 2. Show the exact command (do not run it yet)
10
- 3. Ask for confirmation if the step is destructive
11
- 4. After execution, report the outcome before moving on
12
-
13
- NEVER auto-execute: rm, kubectl delete, systemctl stop, drop table.
14
- Defer to escalator if the runbook doesn't cover what you're seeing.`;
15
-
16
- export const NAME = 'runbook-runner';
17
- export const TIER = 'haiku' as const;
1
+ // SPDX-License-Identifier: MIT
2
+ // Runbook runner agent — executes runbook steps in order, deliberates
3
+ // (does not auto-execute destructive operations).
4
+
5
+ export const SYSTEM_PROMPT = `You are the runbook runner for {{name}}.
6
+
7
+ The responder handed you a runbook. Execute it step by step. For each step:
8
+ 1. State what you'll do
9
+ 2. Show the exact command (do not run it yet)
10
+ 3. Ask for confirmation if the step is destructive
11
+ 4. After execution, report the outcome before moving on
12
+
13
+ NEVER auto-execute: rm, kubectl delete, systemctl stop, drop table.
14
+ Defer to escalator if the runbook doesn't cover what you're seeing.`;
15
+
16
+ export const NAME = 'runbook-runner';
17
+ export const TIER = 'haiku' as const;
@@ -1,23 +1,23 @@
1
- // SPDX-License-Identifier: MIT
2
- // {{name}} init — DevOps incident response harness entry point.
3
-
4
- import { loadKernel } from '@metaharness/kernel';
5
- import adapter from '@metaharness/host-{{host}}';
6
-
7
- const HARNESS_NAME = '{{name}}';
8
- const ROLE_AGENTS = ['responder', 'runbook-runner', 'escalator', 'postmortem'];
9
-
10
- async function main(): Promise<number> {
11
- const kernel = await loadKernel();
12
- const info = kernel.kernelInfo();
13
- console.log(`${HARNESS_NAME} — DevOps incident response harness`);
14
- console.log(`Kernel ${info.version} (${kernel.backend}), host: ${adapter.name}`);
15
- console.log(`Agents available: ${ROLE_AGENTS.join(', ')}`);
16
- console.log('Run `' + HARNESS_NAME + ' doctor` to verify the install.');
17
- return 0;
18
- }
19
-
20
- main().then(c => process.exit(c)).catch(err => {
21
- console.error(err);
22
- process.exit(1);
23
- });
1
+ // SPDX-License-Identifier: MIT
2
+ // {{name}} init — DevOps incident response harness entry point.
3
+
4
+ import { loadKernel } from '@metaharness/kernel';
5
+ import adapter from '@metaharness/host-{{host}}';
6
+
7
+ const HARNESS_NAME = '{{name}}';
8
+ const ROLE_AGENTS = ['responder', 'runbook-runner', 'escalator', 'postmortem'];
9
+
10
+ async function main(): Promise<number> {
11
+ const kernel = await loadKernel();
12
+ const info = kernel.kernelInfo();
13
+ console.log(`${HARNESS_NAME} — DevOps incident response harness`);
14
+ console.log(`Kernel ${info.version} (${kernel.backend}), host: ${adapter.name}`);
15
+ console.log(`Agents available: ${ROLE_AGENTS.join(', ')}`);
16
+ console.log('Run `' + HARNESS_NAME + ' doctor` to verify the install.');
17
+ return 0;
18
+ }
19
+
20
+ main().then(c => process.exit(c)).catch(err => {
21
+ console.error(err);
22
+ process.exit(1);
23
+ });
@@ -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,12 +1,12 @@
1
- ---
2
- description: "Health-check the harness: kernel load, MCP wiring, memory backend, host adapter."
3
- ---
4
-
5
- Run a full health check and print a PASS/FAIL table.
6
-
7
- 1. Kernel loads and `kernelInfo().version` matches package.json.
8
- 2. The MCP server starts and lists its tools.
9
- 3. The memory backend is reachable.
10
- 4. The configured host adapter is present.
11
-
12
- Exit non-zero if any check fails.
1
+ ---
2
+ description: "Health-check the harness: kernel load, MCP wiring, memory backend, host adapter."
3
+ ---
4
+
5
+ Run a full health check and print a PASS/FAIL table.
6
+
7
+ 1. Kernel loads and `kernelInfo().version` matches package.json.
8
+ 2. The MCP server starts and lists its tools.
9
+ 3. The memory backend is reachable.
10
+ 4. The configured host adapter is present.
11
+
12
+ Exit non-zero if any check fails.