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.
- package/LICENSE +21 -21
- package/README.md +111 -74
- package/dist/bin.js +14 -2
- package/dist/bin.js.map +1 -1
- package/dist/completions-cmd.js +94 -94
- package/dist/diag.d.ts +8 -0
- package/dist/diag.d.ts.map +1 -1
- package/dist/diag.js +79 -15
- package/dist/diag.js.map +1 -1
- package/dist/export-config.d.ts.map +1 -1
- package/dist/export-config.js +3 -12
- package/dist/export-config.js.map +1 -1
- package/dist/genome.d.ts.map +1 -1
- package/dist/genome.js +3 -12
- package/dist/genome.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +101 -75
- package/dist/index.js.map +1 -1
- package/dist/meta-proxy.d.ts +57 -0
- package/dist/meta-proxy.d.ts.map +1 -0
- package/dist/meta-proxy.js +325 -0
- package/dist/meta-proxy.js.map +1 -0
- package/dist/publish-cmd.d.ts.map +1 -1
- package/dist/publish-cmd.js +5 -0
- package/dist/publish-cmd.js.map +1 -1
- package/dist/publish.d.ts +6 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +9 -0
- package/dist/publish.js.map +1 -1
- package/dist/redact.d.ts +25 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +62 -0
- package/dist/redact.js.map +1 -0
- package/dist/score.d.ts +9 -0
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +20 -14
- package/dist/score.js.map +1 -1
- package/dist/threat-model.d.ts.map +1 -1
- package/dist/threat-model.js +3 -12
- package/dist/threat-model.js.map +1 -1
- package/dist/with-wasm.js +43 -43
- package/dist/witness-client.d.ts +7 -0
- package/dist/witness-client.d.ts.map +1 -1
- package/dist/witness-client.js +5 -1
- package/dist/witness-client.js.map +1 -1
- package/genomes/README.md +23 -23
- package/genomes/genome-promoted-cand6-edit-by-midpoint.json +26 -26
- package/package.json +126 -125
- package/templates/catalog.def.mjs +542 -542
- package/templates/catalog.json +1274 -1274
- package/templates/minimal/.claude/settings.json.tmpl +18 -18
- package/templates/minimal/.claude-plugin/plugin.json.tmpl +13 -13
- package/templates/minimal/CLAUDE.md.tmpl +26 -23
- package/templates/minimal/README.md.tmpl +20 -20
- package/templates/minimal/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/minimal/bin/cli.js.tmpl +100 -100
- package/templates/minimal/manifest.json +20 -20
- package/templates/minimal/package.json.tmpl +31 -31
- package/templates/minimal/src/init.ts.tmpl +21 -21
- package/templates/minimal/tsconfig.json.tmpl +19 -19
- package/templates/minimal/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -13
- package/templates/vertical_advertising/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_advertising/README.md.tmpl +29 -29
- package/templates/vertical_advertising/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_advertising/bin/cli.js.tmpl +100 -100
- package/templates/vertical_advertising/manifest.json +101 -101
- package/templates/vertical_advertising/package.json.tmpl +30 -30
- package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/init.ts.tmpl +21 -21
- package/templates/vertical_advertising/tsconfig.json.tmpl +19 -19
- package/templates/vertical_advertising/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -14
- package/templates/vertical_agentics/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -32
- package/templates/vertical_agentics/README.md.tmpl +30 -30
- package/templates/vertical_agentics/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_agentics/bin/cli.js.tmpl +100 -100
- package/templates/vertical_agentics/manifest.json +111 -111
- package/templates/vertical_agentics/package.json.tmpl +30 -30
- package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/init.ts.tmpl +21 -21
- package/templates/vertical_agentics/tsconfig.json.tmpl +19 -19
- package/templates/vertical_agentics/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_ai/.claude/settings.json.tmpl +35 -35
- package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -13
- package/templates/vertical_ai/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_ai/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_ai/README.md.tmpl +30 -30
- package/templates/vertical_ai/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_ai/bin/cli.js.tmpl +100 -100
- package/templates/vertical_ai/manifest.json +106 -106
- package/templates/vertical_ai/package.json.tmpl +30 -30
- package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -7
- package/templates/vertical_ai/src/init.ts.tmpl +21 -21
- package/templates/vertical_ai/tsconfig.json.tmpl +19 -19
- package/templates/vertical_ai/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_business/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -13
- package/templates/vertical_business/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_business/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_business/README.md.tmpl +29 -29
- package/templates/vertical_business/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_business/bin/cli.js.tmpl +100 -100
- package/templates/vertical_business/manifest.json +101 -101
- package/templates/vertical_business/package.json.tmpl +30 -30
- package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -7
- package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -7
- package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -7
- package/templates/vertical_business/src/init.ts.tmpl +21 -21
- package/templates/vertical_business/tsconfig.json.tmpl +19 -19
- package/templates/vertical_business/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -10
- package/templates/vertical_coding/.claude/settings.json.tmpl +40 -40
- package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
- package/templates/vertical_coding/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_coding/CLAUDE.md.tmpl +32 -32
- package/templates/vertical_coding/README.md.tmpl +30 -30
- package/templates/vertical_coding/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_coding/bin/cli.js.tmpl +100 -100
- package/templates/vertical_coding/manifest.json +111 -111
- package/templates/vertical_coding/package.json.tmpl +30 -30
- package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/init.ts.tmpl +21 -21
- package/templates/vertical_coding/tsconfig.json.tmpl +19 -19
- package/templates/vertical_coding/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_crm/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_crm/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_crm/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_crm/README.md.tmpl +29 -29
- package/templates/vertical_crm/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_crm/bin/cli.js.tmpl +100 -100
- package/templates/vertical_crm/manifest.json +101 -101
- package/templates/vertical_crm/package.json.tmpl +30 -30
- package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -7
- package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -7
- package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -7
- package/templates/vertical_crm/src/init.ts.tmpl +21 -21
- package/templates/vertical_crm/tsconfig.json.tmpl +19 -19
- package/templates/vertical_crm/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_devops/.claude/settings.json.tmpl +36 -36
- package/templates/vertical_devops/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_devops/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_devops/README.md.tmpl +27 -27
- package/templates/vertical_devops/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_devops/bin/cli.js.tmpl +100 -100
- package/templates/vertical_devops/manifest.json +100 -100
- package/templates/vertical_devops/package.json.tmpl +27 -27
- package/templates/vertical_devops/runbooks/README.md.tmpl +32 -32
- package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -19
- package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -23
- package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -14
- package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -17
- package/templates/vertical_devops/src/init.ts.tmpl +23 -23
- package/templates/vertical_devops/tsconfig.json.tmpl +19 -19
- package/templates/vertical_devops/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -12
- package/templates/vertical_education/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -16
- package/templates/vertical_education/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_education/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_education/README.md.tmpl +30 -30
- package/templates/vertical_education/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_education/bin/cli.js.tmpl +100 -100
- package/templates/vertical_education/manifest.json +116 -116
- package/templates/vertical_education/package.json.tmpl +30 -30
- package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -7
- package/templates/vertical_education/src/init.ts.tmpl +21 -21
- package/templates/vertical_education/tsconfig.json.tmpl +19 -19
- package/templates/vertical_education/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -44
- package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -14
- package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_exotic/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_exotic/README.md.tmpl +29 -29
- package/templates/vertical_exotic/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_exotic/bin/cli.js.tmpl +100 -100
- package/templates/vertical_exotic/manifest.json +106 -106
- package/templates/vertical_exotic/package.json.tmpl +30 -30
- package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/init.ts.tmpl +21 -21
- package/templates/vertical_exotic/tsconfig.json.tmpl +19 -19
- package/templates/vertical_exotic/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -13
- package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -16
- package/templates/vertical_gaming/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_gaming/README.md.tmpl +30 -30
- package/templates/vertical_gaming/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_gaming/bin/cli.js.tmpl +100 -100
- package/templates/vertical_gaming/manifest.json +116 -116
- package/templates/vertical_gaming/package.json.tmpl +30 -30
- package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/init.ts.tmpl +21 -21
- package/templates/vertical_gaming/tsconfig.json.tmpl +19 -19
- package/templates/vertical_gaming/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_health/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -15
- package/templates/vertical_health/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_health/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_health/README.md.tmpl +29 -29
- package/templates/vertical_health/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_health/bin/cli.js.tmpl +100 -100
- package/templates/vertical_health/manifest.json +101 -101
- package/templates/vertical_health/package.json.tmpl +30 -30
- package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -7
- package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -7
- package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -7
- package/templates/vertical_health/src/init.ts.tmpl +21 -21
- package/templates/vertical_health/tsconfig.json.tmpl +19 -19
- package/templates/vertical_health/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_legal/.claude/settings.json.tmpl +10 -10
- package/templates/vertical_legal/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_legal/CLAUDE.md.tmpl +24 -24
- package/templates/vertical_legal/README.md.tmpl +21 -21
- package/templates/vertical_legal/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_legal/bin/cli.js.tmpl +100 -100
- package/templates/vertical_legal/manifest.json +90 -90
- package/templates/vertical_legal/package.json.tmpl +14 -14
- package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -7
- package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -7
- package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -8
- package/templates/vertical_legal/src/init.ts.tmpl +13 -13
- package/templates/vertical_legal/tsconfig.json.tmpl +19 -19
- package/templates/vertical_legal/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -13
- package/templates/vertical_marketing/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_marketing/README.md.tmpl +29 -29
- package/templates/vertical_marketing/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_marketing/bin/cli.js.tmpl +100 -100
- package/templates/vertical_marketing/manifest.json +101 -101
- package/templates/vertical_marketing/package.json.tmpl +30 -30
- package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/init.ts.tmpl +21 -21
- package/templates/vertical_marketing/tsconfig.json.tmpl +19 -19
- package/templates/vertical_marketing/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -13
- package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -16
- package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -44
- package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
- package/templates/vertical_repo-maintainer/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_repo-maintainer/README.md.tmpl +30 -30
- package/templates/vertical_repo-maintainer/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_repo-maintainer/bin/cli.js.tmpl +100 -100
- package/templates/vertical_repo-maintainer/manifest.json +121 -121
- package/templates/vertical_repo-maintainer/package.json.tmpl +30 -30
- package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -21
- package/templates/vertical_repo-maintainer/tsconfig.json.tmpl +19 -19
- package/templates/vertical_repo-maintainer/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_research/.claude/settings.json.tmpl +9 -9
- package/templates/vertical_research/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_research/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_research/README.md.tmpl +17 -17
- package/templates/vertical_research/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_research/bin/cli.js.tmpl +100 -100
- package/templates/vertical_research/manifest.json +105 -105
- package/templates/vertical_research/package.json.tmpl +14 -14
- package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -7
- package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -10
- package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -6
- package/templates/vertical_research/src/init.ts.tmpl +13 -13
- package/templates/vertical_research/tsconfig.json.tmpl +19 -19
- package/templates/vertical_research/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -15
- package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_ruview/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_ruview/README.md.tmpl +29 -29
- package/templates/vertical_ruview/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_ruview/bin/cli.js.tmpl +100 -100
- package/templates/vertical_ruview/manifest.json +106 -106
- package/templates/vertical_ruview/package.json.tmpl +30 -30
- package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/init.ts.tmpl +21 -21
- package/templates/vertical_ruview/tsconfig.json.tmpl +19 -19
- package/templates/vertical_ruview/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -13
- package/templates/vertical_sales/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -15
- package/templates/vertical_sales/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_sales/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_sales/README.md.tmpl +30 -30
- package/templates/vertical_sales/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_sales/bin/cli.js.tmpl +100 -100
- package/templates/vertical_sales/manifest.json +116 -116
- package/templates/vertical_sales/package.json.tmpl +30 -30
- package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -7
- package/templates/vertical_sales/src/init.ts.tmpl +21 -21
- package/templates/vertical_sales/tsconfig.json.tmpl +19 -19
- package/templates/vertical_sales/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_support/.claude/settings.json.tmpl +25 -25
- package/templates/vertical_support/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_support/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_support/README.md.tmpl +16 -16
- package/templates/vertical_support/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_support/bin/cli.js.tmpl +100 -100
- package/templates/vertical_support/kb/README.md.tmpl +23 -23
- package/templates/vertical_support/manifest.json +100 -100
- package/templates/vertical_support/package.json.tmpl +25 -25
- package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -6
- package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -6
- package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -7
- package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -6
- package/templates/vertical_support/src/init.ts.tmpl +16 -16
- package/templates/vertical_support/tsconfig.json.tmpl +19 -19
- package/templates/vertical_support/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_trading/.claude/settings.json.tmpl +20 -20
- package/templates/vertical_trading/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_trading/CLAUDE.md.tmpl +24 -24
- package/templates/vertical_trading/README.md.tmpl +17 -17
- package/templates/vertical_trading/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_trading/bin/cli.js.tmpl +100 -100
- package/templates/vertical_trading/manifest.json +100 -100
- package/templates/vertical_trading/package.json.tmpl +14 -14
- package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -8
- package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -7
- package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -8
- package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -11
- package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -8
- package/templates/vertical_trading/src/init.ts.tmpl +20 -20
- package/templates/vertical_trading/tsconfig.json.tmpl +19 -19
- package/templates/vertical_trading/vitest.config.ts.tmpl +23 -23
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Generated by metaharness — the `{{name}}` CLI entry point.
|
|
4
|
-
//
|
|
5
|
-
// This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
|
|
6
|
-
// with NO build step. `npm run build` (tsc) is only needed if you extend the
|
|
7
|
-
// TypeScript in src/. The published package ships this file directly (see the
|
|
8
|
-
// "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
|
|
9
|
-
// `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
|
|
10
|
-
|
|
11
|
-
import { loadKernel } from '@metaharness/kernel';
|
|
12
|
-
import adapter from '@metaharness/host-{{host}}';
|
|
13
|
-
|
|
14
|
-
const HARNESS_NAME = '{{name}}';
|
|
15
|
-
|
|
16
|
-
/** `{{name}} init` — boot the kernel + host adapter and report status. */
|
|
17
|
-
async function init() {
|
|
18
|
-
const kernel = await loadKernel();
|
|
19
|
-
const info = kernel.kernelInfo();
|
|
20
|
-
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
21
|
-
console.log(`Host adapter: ${adapter.name}`);
|
|
22
|
-
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
|
|
27
|
-
async function doctor() {
|
|
28
|
-
const kernel = await loadKernel();
|
|
29
|
-
const info = kernel.kernelInfo();
|
|
30
|
-
const checks = [
|
|
31
|
-
['kernel loads', !!kernel],
|
|
32
|
-
['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
|
|
33
|
-
['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
|
|
34
|
-
['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
|
|
35
|
-
];
|
|
36
|
-
let ok = true;
|
|
37
|
-
for (const [label, pass] of checks) {
|
|
38
|
-
console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
|
|
39
|
-
if (!pass) ok = false;
|
|
40
|
-
}
|
|
41
|
-
console.log(
|
|
42
|
-
ok
|
|
43
|
-
? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
|
|
44
|
-
: `\n${HARNESS_NAME}: doctor found problems`,
|
|
45
|
-
);
|
|
46
|
-
return ok ? 0 : 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Dispatch one CLI invocation. Exported (not just run on import) so a test can
|
|
51
|
-
* drive it without spawning a subprocess. Returns the intended exit code.
|
|
52
|
-
*/
|
|
53
|
-
export async function run(argv) {
|
|
54
|
-
const cmd = argv[0] ?? 'init';
|
|
55
|
-
switch (cmd) {
|
|
56
|
-
case 'init':
|
|
57
|
-
return init();
|
|
58
|
-
case 'doctor':
|
|
59
|
-
return doctor();
|
|
60
|
-
case '--version':
|
|
61
|
-
case '-v': {
|
|
62
|
-
const kernel = await loadKernel();
|
|
63
|
-
console.log(kernel.version());
|
|
64
|
-
return 0;
|
|
65
|
-
}
|
|
66
|
-
case '--help':
|
|
67
|
-
case '-h':
|
|
68
|
-
console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
|
|
69
|
-
return 0;
|
|
70
|
-
default:
|
|
71
|
-
console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
|
|
72
|
-
return 2;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// CLI guard: execute only when invoked directly (not when imported by a test).
|
|
77
|
-
// npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
|
|
78
|
-
// on Windows) and may differ in case, so realpath BOTH sides before comparing —
|
|
79
|
-
// a naive string === misses the npx/shim path and the CLI silently no-ops.
|
|
80
|
-
import { fileURLToPath } from 'node:url';
|
|
81
|
-
import { realpathSync } from 'node:fs';
|
|
82
|
-
import { argv } from 'node:process';
|
|
83
|
-
const invokedDirectly = (() => {
|
|
84
|
-
if (!argv[1]) return false;
|
|
85
|
-
try {
|
|
86
|
-
const a = realpathSync(argv[1]);
|
|
87
|
-
const b = realpathSync(fileURLToPath(import.meta.url));
|
|
88
|
-
return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
89
|
-
} catch {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
})();
|
|
93
|
-
if (invokedDirectly) {
|
|
94
|
-
run(argv.slice(2))
|
|
95
|
-
.then((code) => process.exit(code))
|
|
96
|
-
.catch((err) => {
|
|
97
|
-
console.error(err);
|
|
98
|
-
process.exit(1);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Generated by metaharness — the `{{name}}` CLI entry point.
|
|
4
|
+
//
|
|
5
|
+
// This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
|
|
6
|
+
// with NO build step. `npm run build` (tsc) is only needed if you extend the
|
|
7
|
+
// TypeScript in src/. The published package ships this file directly (see the
|
|
8
|
+
// "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
|
|
9
|
+
// `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
|
|
10
|
+
|
|
11
|
+
import { loadKernel } from '@metaharness/kernel';
|
|
12
|
+
import adapter from '@metaharness/host-{{host}}';
|
|
13
|
+
|
|
14
|
+
const HARNESS_NAME = '{{name}}';
|
|
15
|
+
|
|
16
|
+
/** `{{name}} init` — boot the kernel + host adapter and report status. */
|
|
17
|
+
async function init() {
|
|
18
|
+
const kernel = await loadKernel();
|
|
19
|
+
const info = kernel.kernelInfo();
|
|
20
|
+
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
21
|
+
console.log(`Host adapter: ${adapter.name}`);
|
|
22
|
+
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
23
|
+
return 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
|
|
27
|
+
async function doctor() {
|
|
28
|
+
const kernel = await loadKernel();
|
|
29
|
+
const info = kernel.kernelInfo();
|
|
30
|
+
const checks = [
|
|
31
|
+
['kernel loads', !!kernel],
|
|
32
|
+
['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
|
|
33
|
+
['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
|
|
34
|
+
['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
|
|
35
|
+
];
|
|
36
|
+
let ok = true;
|
|
37
|
+
for (const [label, pass] of checks) {
|
|
38
|
+
console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
|
|
39
|
+
if (!pass) ok = false;
|
|
40
|
+
}
|
|
41
|
+
console.log(
|
|
42
|
+
ok
|
|
43
|
+
? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
|
|
44
|
+
: `\n${HARNESS_NAME}: doctor found problems`,
|
|
45
|
+
);
|
|
46
|
+
return ok ? 0 : 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Dispatch one CLI invocation. Exported (not just run on import) so a test can
|
|
51
|
+
* drive it without spawning a subprocess. Returns the intended exit code.
|
|
52
|
+
*/
|
|
53
|
+
export async function run(argv) {
|
|
54
|
+
const cmd = argv[0] ?? 'init';
|
|
55
|
+
switch (cmd) {
|
|
56
|
+
case 'init':
|
|
57
|
+
return init();
|
|
58
|
+
case 'doctor':
|
|
59
|
+
return doctor();
|
|
60
|
+
case '--version':
|
|
61
|
+
case '-v': {
|
|
62
|
+
const kernel = await loadKernel();
|
|
63
|
+
console.log(kernel.version());
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
case '--help':
|
|
67
|
+
case '-h':
|
|
68
|
+
console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
|
|
69
|
+
return 0;
|
|
70
|
+
default:
|
|
71
|
+
console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
|
|
72
|
+
return 2;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// CLI guard: execute only when invoked directly (not when imported by a test).
|
|
77
|
+
// npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
|
|
78
|
+
// on Windows) and may differ in case, so realpath BOTH sides before comparing —
|
|
79
|
+
// a naive string === misses the npx/shim path and the CLI silently no-ops.
|
|
80
|
+
import { fileURLToPath } from 'node:url';
|
|
81
|
+
import { realpathSync } from 'node:fs';
|
|
82
|
+
import { argv } from 'node:process';
|
|
83
|
+
const invokedDirectly = (() => {
|
|
84
|
+
if (!argv[1]) return false;
|
|
85
|
+
try {
|
|
86
|
+
const a = realpathSync(argv[1]);
|
|
87
|
+
const b = realpathSync(fileURLToPath(import.meta.url));
|
|
88
|
+
return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
89
|
+
} catch {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
})();
|
|
93
|
+
if (invokedDirectly) {
|
|
94
|
+
run(argv.slice(2))
|
|
95
|
+
.then((code) => process.exit(code))
|
|
96
|
+
.catch((err) => {
|
|
97
|
+
console.error(err);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "vertical:ruview",
|
|
3
|
-
"description": "A ruvector-backed retrieval & review desk — indexer, retriever, and reviewer over a vector store.",
|
|
4
|
-
"domain": "ruvector/retrieval",
|
|
5
|
-
"category": "Knowledge",
|
|
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/indexer.ts.tmpl",
|
|
39
|
-
"dst": "src/agents/indexer.ts",
|
|
40
|
-
"render": true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"src": "src/agents/retriever.ts.tmpl",
|
|
44
|
-
"dst": "src/agents/retriever.ts",
|
|
45
|
-
"render": true
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"src": "src/agents/reviewer.ts.tmpl",
|
|
49
|
-
"dst": "src/agents/reviewer.ts",
|
|
50
|
-
"render": true
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
|
|
54
|
-
"dst": ".claude/skills/memory-inspect/SKILL.md",
|
|
55
|
-
"render": true
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"src": ".claude/skills/index-and-ask/SKILL.md.tmpl",
|
|
59
|
-
"dst": ".claude/skills/index-and-ask/SKILL.md",
|
|
60
|
-
"render": true
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"src": ".claude/commands/doctor.md.tmpl",
|
|
64
|
-
"dst": ".claude/commands/doctor.md",
|
|
65
|
-
"render": true
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"src": "tsconfig.json.tmpl",
|
|
69
|
-
"dst": "tsconfig.json",
|
|
70
|
-
"render": true
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"src": "bin/cli.js.tmpl",
|
|
74
|
-
"dst": "bin/cli.js",
|
|
75
|
-
"render": true
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"src": "__tests__/smoke.test.ts.tmpl",
|
|
79
|
-
"dst": "__tests__/smoke.test.ts",
|
|
80
|
-
"render": true
|
|
81
|
-
}
|
|
82
|
-
],
|
|
83
|
-
"vars": [
|
|
84
|
-
{
|
|
85
|
-
"name": "name",
|
|
86
|
-
"prompt": "Harness name (kebab-case)",
|
|
87
|
-
"validate": "^[a-z0-9-]+$"
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"name": "description",
|
|
91
|
-
"prompt": "One-line description",
|
|
92
|
-
"default": "Index a corpus, retrieve with citations, review answers"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"name": "host",
|
|
96
|
-
"prompt": "Host adapter",
|
|
97
|
-
"default": "claude-code",
|
|
98
|
-
"choices": [
|
|
99
|
-
"claude-code",
|
|
100
|
-
"codex",
|
|
101
|
-
"pi-dev",
|
|
102
|
-
"hermes"
|
|
103
|
-
]
|
|
104
|
-
}
|
|
105
|
-
]
|
|
106
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "vertical:ruview",
|
|
3
|
+
"description": "A ruvector-backed retrieval & review desk — indexer, retriever, and reviewer over a vector store.",
|
|
4
|
+
"domain": "ruvector/retrieval",
|
|
5
|
+
"category": "Knowledge",
|
|
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/indexer.ts.tmpl",
|
|
39
|
+
"dst": "src/agents/indexer.ts",
|
|
40
|
+
"render": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"src": "src/agents/retriever.ts.tmpl",
|
|
44
|
+
"dst": "src/agents/retriever.ts",
|
|
45
|
+
"render": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"src": "src/agents/reviewer.ts.tmpl",
|
|
49
|
+
"dst": "src/agents/reviewer.ts",
|
|
50
|
+
"render": true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
|
|
54
|
+
"dst": ".claude/skills/memory-inspect/SKILL.md",
|
|
55
|
+
"render": true
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"src": ".claude/skills/index-and-ask/SKILL.md.tmpl",
|
|
59
|
+
"dst": ".claude/skills/index-and-ask/SKILL.md",
|
|
60
|
+
"render": true
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"src": ".claude/commands/doctor.md.tmpl",
|
|
64
|
+
"dst": ".claude/commands/doctor.md",
|
|
65
|
+
"render": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"src": "tsconfig.json.tmpl",
|
|
69
|
+
"dst": "tsconfig.json",
|
|
70
|
+
"render": true
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"src": "bin/cli.js.tmpl",
|
|
74
|
+
"dst": "bin/cli.js",
|
|
75
|
+
"render": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"src": "__tests__/smoke.test.ts.tmpl",
|
|
79
|
+
"dst": "__tests__/smoke.test.ts",
|
|
80
|
+
"render": true
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"vars": [
|
|
84
|
+
{
|
|
85
|
+
"name": "name",
|
|
86
|
+
"prompt": "Harness name (kebab-case)",
|
|
87
|
+
"validate": "^[a-z0-9-]+$"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "description",
|
|
91
|
+
"prompt": "One-line description",
|
|
92
|
+
"default": "Index a corpus, retrieve with citations, review answers"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "host",
|
|
96
|
+
"prompt": "Host adapter",
|
|
97
|
+
"default": "claude-code",
|
|
98
|
+
"choices": [
|
|
99
|
+
"claude-code",
|
|
100
|
+
"codex",
|
|
101
|
+
"pi-dev",
|
|
102
|
+
"hermes"
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
@@ -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
|
-
// Indexer agent — Chunks and embeds the corpus.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You index a corpus into the ruvector store: chunk on semantic boundaries, embed, and attach metadata (source, section, date) to every vector. Good chunking is the whole game — too large buries the answer, too small loses context. You report the index stats and any documents that failed to ingest. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'indexer';
|
|
7
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Indexer agent — Chunks and embeds the corpus.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You index a corpus into the ruvector store: chunk on semantic boundaries, embed, and attach metadata (source, section, date) to every vector. Good chunking is the whole game — too large buries the answer, too small loses context. You report the index stats and any documents that failed to ingest. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'indexer';
|
|
7
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Retriever agent — Runs HNSW search with citations.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You retrieve from ruvector via HNSW nearest-neighbour, returning passages with their source metadata and decay-weighted scores. You fetch enough context to answer but no more. Every passage you return is citable back to its source. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'retriever';
|
|
7
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Retriever agent — Runs HNSW search with citations.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You retrieve from ruvector via HNSW nearest-neighbour, returning passages with their source metadata and decay-weighted scores. You fetch enough context to answer but no more. Every passage you return is citable back to its source. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'retriever';
|
|
7
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Reviewer agent — Grades the answer against the sources.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You review the answer against the retrieved passages: is every claim grounded in a returned source, and is anything asserted that the sources do not support? Flag ungrounded claims and missing citations. If retrieval did not surface enough to answer, you say so rather than letting a guess through. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'reviewer';
|
|
7
|
-
export const TIER = 'opus' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Reviewer agent — Grades the answer against the sources.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You review the answer against the retrieved passages: is every claim grounded in a returned source, and is anything asserted that the sources do not support? Flag ungrounded claims and missing citations. If retrieval did not surface enough to answer, you say so rather than letting a guess through. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'reviewer';
|
|
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
|
+
});
|