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,121 +1,121 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "vertical:repo-maintainer",
|
|
3
|
-
"description": "A maintenance pod for an existing repo — maintainer, benchmarker, release, security agents. The \"this repo ships with its own agent\" demo.",
|
|
4
|
-
"domain": "engineering/repo-maintenance",
|
|
5
|
-
"category": "Engineering",
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"src": "package.json.tmpl",
|
|
9
|
-
"dst": "package.json",
|
|
10
|
-
"render": true
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"src": "CLAUDE.md.tmpl",
|
|
14
|
-
"dst": "CLAUDE.md",
|
|
15
|
-
"render": true
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"src": "README.md.tmpl",
|
|
19
|
-
"dst": "README.md",
|
|
20
|
-
"render": true
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"src": ".claude/settings.json.tmpl",
|
|
24
|
-
"dst": ".claude/settings.json",
|
|
25
|
-
"render": true
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"src": ".claude-plugin/plugin.json.tmpl",
|
|
29
|
-
"dst": ".claude-plugin/plugin.json",
|
|
30
|
-
"render": true
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"src": "src/init.ts.tmpl",
|
|
34
|
-
"dst": "src/init.ts",
|
|
35
|
-
"render": true
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"src": "src/agents/maintainer.ts.tmpl",
|
|
39
|
-
"dst": "src/agents/maintainer.ts",
|
|
40
|
-
"render": true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"src": "src/agents/benchmarker.ts.tmpl",
|
|
44
|
-
"dst": "src/agents/benchmarker.ts",
|
|
45
|
-
"render": true
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"src": "src/agents/release.ts.tmpl",
|
|
49
|
-
"dst": "src/agents/release.ts",
|
|
50
|
-
"render": true
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"src": "src/agents/security.ts.tmpl",
|
|
54
|
-
"dst": "src/agents/security.ts",
|
|
55
|
-
"render": true
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
|
|
59
|
-
"dst": ".claude/skills/memory-inspect/SKILL.md",
|
|
60
|
-
"render": true
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"src": ".claude/skills/plan-change/SKILL.md.tmpl",
|
|
64
|
-
"dst": ".claude/skills/plan-change/SKILL.md",
|
|
65
|
-
"render": true
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"src": ".claude/commands/doctor.md.tmpl",
|
|
69
|
-
"dst": ".claude/commands/doctor.md",
|
|
70
|
-
"render": true
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"src": ".claude/commands/repo-triage.md.tmpl",
|
|
74
|
-
"dst": ".claude/commands/repo-triage.md",
|
|
75
|
-
"render": true
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"src": ".claude/commands/release-check.md.tmpl",
|
|
79
|
-
"dst": ".claude/commands/release-check.md",
|
|
80
|
-
"render": true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"src": "tsconfig.json.tmpl",
|
|
84
|
-
"dst": "tsconfig.json",
|
|
85
|
-
"render": true
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"src": "bin/cli.js.tmpl",
|
|
89
|
-
"dst": "bin/cli.js",
|
|
90
|
-
"render": true
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"src": "__tests__/smoke.test.ts.tmpl",
|
|
94
|
-
"dst": "__tests__/smoke.test.ts",
|
|
95
|
-
"render": true
|
|
96
|
-
}
|
|
97
|
-
],
|
|
98
|
-
"vars": [
|
|
99
|
-
{
|
|
100
|
-
"name": "name",
|
|
101
|
-
"prompt": "Harness name (kebab-case)",
|
|
102
|
-
"validate": "^[a-z0-9-]+$"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"name": "description",
|
|
106
|
-
"prompt": "One-line description",
|
|
107
|
-
"default": "Maintain an existing repo: triage what changed, benchmark, release-check, security-flag"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"name": "host",
|
|
111
|
-
"prompt": "Host adapter",
|
|
112
|
-
"default": "claude-code",
|
|
113
|
-
"choices": [
|
|
114
|
-
"claude-code",
|
|
115
|
-
"codex",
|
|
116
|
-
"pi-dev",
|
|
117
|
-
"hermes"
|
|
118
|
-
]
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "vertical:repo-maintainer",
|
|
3
|
+
"description": "A maintenance pod for an existing repo — maintainer, benchmarker, release, security agents. The \"this repo ships with its own agent\" demo.",
|
|
4
|
+
"domain": "engineering/repo-maintenance",
|
|
5
|
+
"category": "Engineering",
|
|
6
|
+
"files": [
|
|
7
|
+
{
|
|
8
|
+
"src": "package.json.tmpl",
|
|
9
|
+
"dst": "package.json",
|
|
10
|
+
"render": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"src": "CLAUDE.md.tmpl",
|
|
14
|
+
"dst": "CLAUDE.md",
|
|
15
|
+
"render": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"src": "README.md.tmpl",
|
|
19
|
+
"dst": "README.md",
|
|
20
|
+
"render": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"src": ".claude/settings.json.tmpl",
|
|
24
|
+
"dst": ".claude/settings.json",
|
|
25
|
+
"render": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"src": ".claude-plugin/plugin.json.tmpl",
|
|
29
|
+
"dst": ".claude-plugin/plugin.json",
|
|
30
|
+
"render": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"src": "src/init.ts.tmpl",
|
|
34
|
+
"dst": "src/init.ts",
|
|
35
|
+
"render": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"src": "src/agents/maintainer.ts.tmpl",
|
|
39
|
+
"dst": "src/agents/maintainer.ts",
|
|
40
|
+
"render": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"src": "src/agents/benchmarker.ts.tmpl",
|
|
44
|
+
"dst": "src/agents/benchmarker.ts",
|
|
45
|
+
"render": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"src": "src/agents/release.ts.tmpl",
|
|
49
|
+
"dst": "src/agents/release.ts",
|
|
50
|
+
"render": true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"src": "src/agents/security.ts.tmpl",
|
|
54
|
+
"dst": "src/agents/security.ts",
|
|
55
|
+
"render": true
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
|
|
59
|
+
"dst": ".claude/skills/memory-inspect/SKILL.md",
|
|
60
|
+
"render": true
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"src": ".claude/skills/plan-change/SKILL.md.tmpl",
|
|
64
|
+
"dst": ".claude/skills/plan-change/SKILL.md",
|
|
65
|
+
"render": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"src": ".claude/commands/doctor.md.tmpl",
|
|
69
|
+
"dst": ".claude/commands/doctor.md",
|
|
70
|
+
"render": true
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"src": ".claude/commands/repo-triage.md.tmpl",
|
|
74
|
+
"dst": ".claude/commands/repo-triage.md",
|
|
75
|
+
"render": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"src": ".claude/commands/release-check.md.tmpl",
|
|
79
|
+
"dst": ".claude/commands/release-check.md",
|
|
80
|
+
"render": true
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"src": "tsconfig.json.tmpl",
|
|
84
|
+
"dst": "tsconfig.json",
|
|
85
|
+
"render": true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"src": "bin/cli.js.tmpl",
|
|
89
|
+
"dst": "bin/cli.js",
|
|
90
|
+
"render": true
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"src": "__tests__/smoke.test.ts.tmpl",
|
|
94
|
+
"dst": "__tests__/smoke.test.ts",
|
|
95
|
+
"render": true
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"vars": [
|
|
99
|
+
{
|
|
100
|
+
"name": "name",
|
|
101
|
+
"prompt": "Harness name (kebab-case)",
|
|
102
|
+
"validate": "^[a-z0-9-]+$"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "description",
|
|
106
|
+
"prompt": "One-line description",
|
|
107
|
+
"default": "Maintain an existing repo: triage what changed, benchmark, release-check, security-flag"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "host",
|
|
111
|
+
"prompt": "Host adapter",
|
|
112
|
+
"default": "claude-code",
|
|
113
|
+
"choices": [
|
|
114
|
+
"claude-code",
|
|
115
|
+
"codex",
|
|
116
|
+
"pi-dev",
|
|
117
|
+
"hermes"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{name}}",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "{{description}}",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"{{name}}": "bin/cli.js"
|
|
8
|
-
},
|
|
9
|
-
"files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsc",
|
|
12
|
-
"test": "vitest run",
|
|
13
|
-
"init": "node ./bin/cli.js init", "doctor": "node ./bin/cli.js doctor"
|
|
14
|
-
},
|
|
15
|
-
"dependencies": {
|
|
16
|
-
"@metaharness/kernel": "^0.1.0",
|
|
17
|
-
"@metaharness/host-{{host}}": "^0.1.0"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@types/node": "^20.0.0",
|
|
21
|
-
"typescript": "^5.4.0",
|
|
22
|
-
"vitest": "^3.0.0"
|
|
23
|
-
},
|
|
24
|
-
"engines": {
|
|
25
|
-
"node": ">=20.0.0"
|
|
26
|
-
},
|
|
27
|
-
"publishConfig": {
|
|
28
|
-
"access": "public"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"{{name}}": "bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"init": "node ./bin/cli.js init", "doctor": "node ./bin/cli.js doctor"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@metaharness/kernel": "^0.1.0",
|
|
17
|
+
"@metaharness/host-{{host}}": "^0.1.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/node": "^20.0.0",
|
|
21
|
+
"typescript": "^5.4.0",
|
|
22
|
+
"vitest": "^3.0.0"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20.0.0"
|
|
26
|
+
},
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Benchmarker agent — Runs the perf gates and reports regressions.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You run the project's declared benchmark suite (cargo bench, npm run bench, or whatever the manifest names) and compare against the baseline. Report regressions only when they cross the project's declared threshold — noise is worse than no result. Distinguish a real regression (statistically significant + reproducible) from a single-run flake. Write the result to memory so the maintainer can quote it. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'benchmarker';
|
|
7
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Benchmarker agent — Runs the perf gates and reports regressions.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You run the project's declared benchmark suite (cargo bench, npm run bench, or whatever the manifest names) and compare against the baseline. Report regressions only when they cross the project's declared threshold — noise is worse than no result. Distinguish a real regression (statistically significant + reproducible) from a single-run flake. Write the result to memory so the maintainer can quote it. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'benchmarker';
|
|
7
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Maintainer agent — Triages the repo state — what changed, what is risky, what to review first.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You are the repo maintainer. When asked "what changed?" you read git diff / git log / git status and produce a one-screen triage: the headline risk, the files most likely to regress, and the smallest test the team should run before merging. You never push, never publish, never auto-fix — your job is to surface, not to act. When uncertain you say "I can't tell from the diff alone" and ask for the specific file or commit you need. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'maintainer';
|
|
7
|
-
export const TIER = 'opus' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Maintainer agent — Triages the repo state — what changed, what is risky, what to review first.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You are the repo maintainer. When asked "what changed?" you read git diff / git log / git status and produce a one-screen triage: the headline risk, the files most likely to regress, and the smallest test the team should run before merging. You never push, never publish, never auto-fix — your job is to surface, not to act. When uncertain you say "I can't tell from the diff alone" and ask for the specific file or commit you need. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'maintainer';
|
|
7
|
+
export const TIER = 'opus' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Release agent — Drafts the GitHub release body + runs the readiness gates.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You draft a release. Read the conventional-commit log since the last tag, group commits by feat/fix/docs/chore, and write a release body that an outside reader could understand without the repo open. Before drafting you confirm the release-readiness gates have passed (validate / sbom / witness / score). If any gate is red you refuse to draft and name the specific blocker. The release is a public commitment; you treat it like one. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'release';
|
|
7
|
-
export const TIER = 'opus' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Release agent — Drafts the GitHub release body + runs the readiness gates.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You draft a release. Read the conventional-commit log since the last tag, group commits by feat/fix/docs/chore, and write a release body that an outside reader could understand without the repo open. Before drafting you confirm the release-readiness gates have passed (validate / sbom / witness / score). If any gate is red you refuse to draft and name the specific blocker. The release is a public commitment; you treat it like one. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'release';
|
|
7
|
+
export const TIER = 'opus' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Security agent — Flags risky MCP grants, leaked secrets, dangerous diffs.
|
|
3
|
-
|
|
4
|
-
export const SYSTEM_PROMPT = `You scan the harness for the security regressions that matter: MCP grants that widened (Bash(rm:*), shell on, network on, file-write on), .env or token strings that escaped the redaction set, dependency updates that pulled in CVEs, and policy files that drifted from default-deny. Report each finding with a file:line, a severity (HIGH / MEDIUM), and the smallest fix. Never approve a change that widens a permission without a written reason in the PR description. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
-
|
|
6
|
-
export const NAME = 'security';
|
|
7
|
-
export const TIER = 'opus' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Security agent — Flags risky MCP grants, leaked secrets, dangerous diffs.
|
|
3
|
+
|
|
4
|
+
export const SYSTEM_PROMPT = `You scan the harness for the security regressions that matter: MCP grants that widened (Bash(rm:*), shell on, network on, file-write on), .env or token strings that escaped the redaction set, dependency updates that pulled in CVEs, and policy files that drifted from default-deny. Report each finding with a file:line, a severity (HIGH / MEDIUM), and the smallest fix. Never approve a change that widens a permission without a written reason in the PR description. You operate inside the {{name}} harness; defer destructive actions to the user.`;
|
|
5
|
+
|
|
6
|
+
export const NAME = 'security';
|
|
7
|
+
export const TIER = 'opus' as const;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Generated by create-agent-harness — your harness's `{{name}} init` entry.
|
|
3
|
-
|
|
4
|
-
import { loadKernel } from '@metaharness/kernel';
|
|
5
|
-
import adapter from '@metaharness/host-{{host}}';
|
|
6
|
-
|
|
7
|
-
const HARNESS_NAME = '{{name}}';
|
|
8
|
-
|
|
9
|
-
async function main(): Promise<number> {
|
|
10
|
-
const kernel = await loadKernel();
|
|
11
|
-
const info = kernel.kernelInfo();
|
|
12
|
-
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
13
|
-
console.log(`Host adapter: ${adapter.name}`);
|
|
14
|
-
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
main().then(c => process.exit(c)).catch(err => {
|
|
19
|
-
console.error(err);
|
|
20
|
-
process.exit(1);
|
|
21
|
-
});
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Generated by create-agent-harness — your harness's `{{name}} init` entry.
|
|
3
|
+
|
|
4
|
+
import { loadKernel } from '@metaharness/kernel';
|
|
5
|
+
import adapter from '@metaharness/host-{{host}}';
|
|
6
|
+
|
|
7
|
+
const HARNESS_NAME = '{{name}}';
|
|
8
|
+
|
|
9
|
+
async function main(): Promise<number> {
|
|
10
|
+
const kernel = await loadKernel();
|
|
11
|
+
const info = kernel.kernelInfo();
|
|
12
|
+
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
13
|
+
console.log(`Host adapter: ${adapter.name}`);
|
|
14
|
+
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
main().then(c => process.exit(c)).catch(err => {
|
|
19
|
+
console.error(err);
|
|
20
|
+
process.exit(1);
|
|
21
|
+
});
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "NodeNext",
|
|
5
|
-
"moduleResolution": "NodeNext",
|
|
6
|
-
"lib": ["ES2022"],
|
|
7
|
-
"outDir": "./dist",
|
|
8
|
-
"rootDir": "./src",
|
|
9
|
-
"declaration": true,
|
|
10
|
-
"declarationMap": true,
|
|
11
|
-
"sourceMap": true,
|
|
12
|
-
"strict": true,
|
|
13
|
-
"esModuleInterop": true,
|
|
14
|
-
"skipLibCheck": true,
|
|
15
|
-
"forceConsistentCasingInFileNames": true
|
|
16
|
-
},
|
|
17
|
-
"include": ["src/**/*.ts"],
|
|
18
|
-
"exclude": ["node_modules", "dist", "__tests__"]
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"lib": ["ES2022"],
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"forceConsistentCasingInFileNames": true
|
|
16
|
+
},
|
|
17
|
+
"include": ["src/**/*.ts"],
|
|
18
|
+
"exclude": ["node_modules", "dist", "__tests__"]
|
|
19
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Generated by metaharness. Strips the `#!/usr/bin/env node` shebang from
|
|
3
|
-
// importable entrypoints (e.g. bin/cli.js) before Vite parses them — Vite/esbuild
|
|
4
|
-
// (used internally by Vitest) does NOT strip shebangs, so importing a shebanged
|
|
5
|
-
// module throws `SyntaxError: Invalid or unexpected token`. See issue #44.
|
|
6
|
-
// Has no effect on direct CLI execution or `npm run doctor` (those bypass Vite).
|
|
7
|
-
import { defineConfig } from 'vitest/config';
|
|
8
|
-
|
|
9
|
-
export default defineConfig({
|
|
10
|
-
plugins: [
|
|
11
|
-
{
|
|
12
|
-
name: 'strip-shebang',
|
|
13
|
-
enforce: 'pre',
|
|
14
|
-
transform(code: string) {
|
|
15
|
-
if (code.startsWith('#!')) {
|
|
16
|
-
// Replace with a blank line so source line numbers stay aligned.
|
|
17
|
-
return { code: code.replace(/^#![^\n]*/, ''), map: null };
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
],
|
|
23
|
-
});
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Generated by metaharness. Strips the `#!/usr/bin/env node` shebang from
|
|
3
|
+
// importable entrypoints (e.g. bin/cli.js) before Vite parses them — Vite/esbuild
|
|
4
|
+
// (used internally by Vitest) does NOT strip shebangs, so importing a shebanged
|
|
5
|
+
// module throws `SyntaxError: Invalid or unexpected token`. See issue #44.
|
|
6
|
+
// Has no effect on direct CLI execution or `npm run doctor` (those bypass Vite).
|
|
7
|
+
import { defineConfig } from 'vitest/config';
|
|
8
|
+
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
plugins: [
|
|
11
|
+
{
|
|
12
|
+
name: 'strip-shebang',
|
|
13
|
+
enforce: 'pre',
|
|
14
|
+
transform(code: string) {
|
|
15
|
+
if (code.startsWith('#!')) {
|
|
16
|
+
// Replace with a blank line so source line numbers stay aligned.
|
|
17
|
+
return { code: code.replace(/^#![^\n]*/, ''), map: null };
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": ["Bash(npx {{name}}*)", "mcp__{{name}}__*", "WebFetch"],
|
|
4
|
-
"deny": ["Bash(rm *)", "Read(./.env)", "Read(./.env.*)"]
|
|
5
|
-
},
|
|
6
|
-
"mcpServers": {
|
|
7
|
-
"{{name}}": { "command": "npx", "args": ["-y", "{{name}}@latest", "mcp", "start"] }
|
|
8
|
-
}
|
|
9
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": ["Bash(npx {{name}}*)", "mcp__{{name}}__*", "WebFetch"],
|
|
4
|
+
"deny": ["Bash(rm *)", "Read(./.env)", "Read(./.env.*)"]
|
|
5
|
+
},
|
|
6
|
+
"mcpServers": {
|
|
7
|
+
"{{name}}": { "command": "npx", "args": ["-y", "{{name}}@latest", "mcp", "start"] }
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{name}}",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "{{description}}",
|
|
5
|
-
"author": {
|
|
6
|
-
"displayName": "Generated by metaharness",
|
|
7
|
-
"url": "https://www.npmjs.com/package/metaharness"
|
|
8
|
-
},
|
|
9
|
-
"license": "MIT",
|
|
10
|
-
"categories": [
|
|
11
|
-
"agent-harness",
|
|
12
|
-
"metaharness-scaffold",
|
|
13
|
-
"vertical",
|
|
14
|
-
"research/multi-source-dossier"
|
|
15
|
-
],
|
|
16
|
-
"tags": [
|
|
17
|
-
"metaharness",
|
|
18
|
-
"agent-harness",
|
|
19
|
-
"vertical:research",
|
|
20
|
-
"research/multi-source-dossier"
|
|
21
|
-
],
|
|
22
|
-
"homepage": "https://github.com/ruvnet/agent-harness-generator"
|
|
23
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"author": {
|
|
6
|
+
"displayName": "Generated by metaharness",
|
|
7
|
+
"url": "https://www.npmjs.com/package/metaharness"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"categories": [
|
|
11
|
+
"agent-harness",
|
|
12
|
+
"metaharness-scaffold",
|
|
13
|
+
"vertical",
|
|
14
|
+
"research/multi-source-dossier"
|
|
15
|
+
],
|
|
16
|
+
"tags": [
|
|
17
|
+
"metaharness",
|
|
18
|
+
"agent-harness",
|
|
19
|
+
"vertical:research",
|
|
20
|
+
"research/multi-source-dossier"
|
|
21
|
+
],
|
|
22
|
+
"homepage": "https://github.com/ruvnet/agent-harness-generator"
|
|
23
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# {{name}}
|
|
2
|
-
|
|
3
|
-
{{description}}
|
|
4
|
-
|
|
5
|
-
## Pipeline
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
scout -> web-searcher -> source-grader -> synthesizer -> fact-checker -> citer
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Each agent only sees the OUTPUT of the previous one, not the raw inputs. This forces information to flow through grading + verification gates.
|
|
12
|
-
|
|
13
|
-
## Agents
|
|
14
|
-
|
|
15
|
-
| Agent | Role | Tier |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
| `scout` | Decompose the research question into subqueries | Sonnet |
|
|
18
|
-
| `web-searcher` | Run subqueries via WebSearch MCP, collect raw hits | Haiku |
|
|
19
|
-
| `source-grader` | Grade each source A/B/C/D by authority + freshness + relevance | Sonnet |
|
|
20
|
-
| `synthesizer` | Synthesise findings from grade A/B sources only | Sonnet |
|
|
21
|
-
| `fact-checker` | Adversarially verify each claim in the synthesis | Sonnet |
|
|
22
|
-
| `citer` | Final pass: every claim must cite a graded source | Sonnet |
|
|
23
|
-
|
|
24
|
-
## Evidence grading rubric
|
|
25
|
-
|
|
26
|
-
- **A**: Primary source (paper, official doc), <2 years old, on-topic
|
|
27
|
-
- **B**: Reputable secondary source (major outlet, expert blog), <5 years
|
|
28
|
-
- **C**: Tertiary source (Wikipedia, summary article) — informational only
|
|
29
|
-
- **D**: Discarded (forum, unsourced claim, broken link)
|
|
30
|
-
|
|
31
|
-
## Output
|
|
32
|
-
|
|
33
|
-
A dossier markdown: TL;DR + body (every claim cited) + bibliography with grades.
|
|
1
|
+
# {{name}}
|
|
2
|
+
|
|
3
|
+
{{description}}
|
|
4
|
+
|
|
5
|
+
## Pipeline
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
scout -> web-searcher -> source-grader -> synthesizer -> fact-checker -> citer
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Each agent only sees the OUTPUT of the previous one, not the raw inputs. This forces information to flow through grading + verification gates.
|
|
12
|
+
|
|
13
|
+
## Agents
|
|
14
|
+
|
|
15
|
+
| Agent | Role | Tier |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `scout` | Decompose the research question into subqueries | Sonnet |
|
|
18
|
+
| `web-searcher` | Run subqueries via WebSearch MCP, collect raw hits | Haiku |
|
|
19
|
+
| `source-grader` | Grade each source A/B/C/D by authority + freshness + relevance | Sonnet |
|
|
20
|
+
| `synthesizer` | Synthesise findings from grade A/B sources only | Sonnet |
|
|
21
|
+
| `fact-checker` | Adversarially verify each claim in the synthesis | Sonnet |
|
|
22
|
+
| `citer` | Final pass: every claim must cite a graded source | Sonnet |
|
|
23
|
+
|
|
24
|
+
## Evidence grading rubric
|
|
25
|
+
|
|
26
|
+
- **A**: Primary source (paper, official doc), <2 years old, on-topic
|
|
27
|
+
- **B**: Reputable secondary source (major outlet, expert blog), <5 years
|
|
28
|
+
- **C**: Tertiary source (Wikipedia, summary article) — informational only
|
|
29
|
+
- **D**: Discarded (forum, unsourced claim, broken link)
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
|
|
33
|
+
A dossier markdown: TL;DR + body (every claim cited) + bibliography with grades.
|