superacli 1.0.1 → 1.1.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/.beads/.br_history/issues.20260308_200823_636718328.jsonl +20 -0
- package/.beads/.br_history/issues.20260308_200823_636718328.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_200827_033159453.jsonl +21 -0
- package/.beads/.br_history/issues.20260308_200827_033159453.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_200829_595900053.jsonl +22 -0
- package/.beads/.br_history/issues.20260308_200829_595900053.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_200834_079930100.jsonl +23 -0
- package/.beads/.br_history/issues.20260308_200834_079930100.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_200858_370924996.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_200858_370924996.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201031_019730855.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201031_019730855.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201031_578974884.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201031_578974884.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201054_780345548.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201054_780345548.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201054_896980019.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201054_896980019.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201128_599819688.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201128_599819688.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201128_710221699.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201128_710221699.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201204_745649213.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201204_745649213.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201338_908436144.jsonl +24 -0
- package/.beads/.br_history/issues.20260308_201338_908436144.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201344_734860714.jsonl +25 -0
- package/.beads/.br_history/issues.20260308_201344_734860714.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_201630_819282295.jsonl +25 -0
- package/.beads/.br_history/issues.20260308_201630_819282295.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203538_054279699.jsonl +25 -0
- package/.beads/.br_history/issues.20260308_203538_054279699.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203547_597113070.jsonl +26 -0
- package/.beads/.br_history/issues.20260308_203547_597113070.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203547_775139216.jsonl +27 -0
- package/.beads/.br_history/issues.20260308_203547_775139216.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203547_950724773.jsonl +28 -0
- package/.beads/.br_history/issues.20260308_203547_950724773.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203548_107684523.jsonl +29 -0
- package/.beads/.br_history/issues.20260308_203548_107684523.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203548_310389993.jsonl +30 -0
- package/.beads/.br_history/issues.20260308_203548_310389993.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_203825_953337320.jsonl +31 -0
- package/.beads/.br_history/issues.20260308_203825_953337320.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_204056_071377736.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_204056_071377736.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205141_517616844.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205141_517616844.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205141_648994024.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205141_648994024.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205141_867598036.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205141_867598036.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205142_094157355.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205142_094157355.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205142_327315677.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205142_327315677.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205142_545563822.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205142_545563822.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205213_061989333.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205213_061989333.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205213_181103364.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205213_181103364.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205213_408872234.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205213_408872234.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205213_616681652.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205213_616681652.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205213_821507069.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205213_821507069.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205214_026661112.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205214_026661112.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205454_955250554.jsonl +32 -0
- package/.beads/.br_history/issues.20260308_205454_955250554.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205556_337800392.jsonl +33 -0
- package/.beads/.br_history/issues.20260308_205556_337800392.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_205824_274686694.jsonl +33 -0
- package/.beads/.br_history/issues.20260308_205824_274686694.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_210240_583768328.jsonl +34 -0
- package/.beads/.br_history/issues.20260308_210240_583768328.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212223_641541494.jsonl +34 -0
- package/.beads/.br_history/issues.20260308_212223_641541494.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212227_735550996.jsonl +35 -0
- package/.beads/.br_history/issues.20260308_212227_735550996.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212232_547298548.jsonl +36 -0
- package/.beads/.br_history/issues.20260308_212232_547298548.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212528_843628125.jsonl +37 -0
- package/.beads/.br_history/issues.20260308_212528_843628125.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212529_094530502.jsonl +38 -0
- package/.beads/.br_history/issues.20260308_212529_094530502.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212529_331000853.jsonl +39 -0
- package/.beads/.br_history/issues.20260308_212529_331000853.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212529_587925652.jsonl +40 -0
- package/.beads/.br_history/issues.20260308_212529_587925652.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212804_927764103.jsonl +41 -0
- package/.beads/.br_history/issues.20260308_212804_927764103.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212805_153673453.jsonl +42 -0
- package/.beads/.br_history/issues.20260308_212805_153673453.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212805_415982363.jsonl +43 -0
- package/.beads/.br_history/issues.20260308_212805_415982363.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212805_657497741.jsonl +44 -0
- package/.beads/.br_history/issues.20260308_212805_657497741.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212805_952838724.jsonl +45 -0
- package/.beads/.br_history/issues.20260308_212805_952838724.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212806_325433779.jsonl +46 -0
- package/.beads/.br_history/issues.20260308_212806_325433779.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212806_584685598.jsonl +47 -0
- package/.beads/.br_history/issues.20260308_212806_584685598.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212806_827817208.jsonl +48 -0
- package/.beads/.br_history/issues.20260308_212806_827817208.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212807_111320451.jsonl +49 -0
- package/.beads/.br_history/issues.20260308_212807_111320451.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212807_409545536.jsonl +50 -0
- package/.beads/.br_history/issues.20260308_212807_409545536.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212807_625063294.jsonl +51 -0
- package/.beads/.br_history/issues.20260308_212807_625063294.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212807_843906551.jsonl +52 -0
- package/.beads/.br_history/issues.20260308_212807_843906551.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212808_100304073.jsonl +53 -0
- package/.beads/.br_history/issues.20260308_212808_100304073.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212808_324723976.jsonl +54 -0
- package/.beads/.br_history/issues.20260308_212808_324723976.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212808_557513104.jsonl +55 -0
- package/.beads/.br_history/issues.20260308_212808_557513104.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_212808_788048322.jsonl +56 -0
- package/.beads/.br_history/issues.20260308_212808_788048322.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213702_613249728.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213702_613249728.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213715_115792063.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213715_115792063.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213715_462220666.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213715_462220666.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213727_191258923.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213727_191258923.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213727_684383652.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213727_684383652.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_213735_751882991.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_213735_751882991.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_222052_279844960.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_222052_279844960.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_222056_873282114.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_222056_873282114.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_222103_402410761.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_222103_402410761.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235202_180577215.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_180577215.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235202_387414163.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_387414163.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235202_564422794.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_564422794.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235202_742600597.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_742600597.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235208_133360069.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235208_133360069.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235505_473406307.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_473406307.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235505_662360489.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_662360489.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235505_843935624.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_843935624.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260308_235506_044530221.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235506_044530221.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_002618_115728731.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_002618_115728731.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_003748_878174586.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_003748_878174586.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_004057_868755623.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004057_868755623.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_004058_512842163.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004058_512842163.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_004058_994445226.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004058_994445226.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_004059_475988596.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004059_475988596.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_161902_566857851.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_161902_566857851.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_170512_277017739.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_277017739.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_170512_477876921.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_477876921.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_170512_664382701.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_664382701.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_170512_859400333.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_859400333.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212326_082771164.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_212326_082771164.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212326_245619716.jsonl +58 -0
- package/.beads/.br_history/issues.20260309_212326_245619716.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212326_403198317.jsonl +59 -0
- package/.beads/.br_history/issues.20260309_212326_403198317.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212332_539197678.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_212332_539197678.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212332_731373599.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_212332_731373599.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_212332_928710953.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_212332_928710953.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_213021_341505240.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213021_341505240.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_213022_023136934.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213022_023136934.jsonl.meta.json +1 -0
- package/.beads/.br_history/issues.20260309_213022_400050719.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213022_400050719.jsonl.meta.json +1 -0
- package/.beads/config.yaml +4 -0
- package/.beads/issues.jsonl +60 -0
- package/.beads/metadata.json +4 -0
- package/README.md +226 -43
- package/__tests__/adapter-schema.test.js +119 -0
- package/__tests__/ask.test.js +327 -0
- package/__tests__/aws-plugin.test.js +84 -0
- package/__tests__/az-plugin.test.js +84 -0
- package/__tests__/builtin-adapter.test.js +29 -0
- package/__tests__/cline-plugin.test.js +109 -0
- package/__tests__/cline-skill.test.js +49 -0
- package/__tests__/config.test.js +297 -0
- package/__tests__/docker-plugin.test.js +95 -0
- package/__tests__/executor.test.js +303 -0
- package/__tests__/eza-plugin.test.js +81 -0
- package/__tests__/gcloud-plugin.test.js +86 -0
- package/__tests__/gh-plugin.test.js +86 -0
- package/__tests__/helm-plugin.test.js +81 -0
- package/__tests__/help-json.test.js +19 -0
- package/__tests__/http-adapter.test.js +118 -0
- package/__tests__/just-plugin.test.js +82 -0
- package/__tests__/kubectl-plugin.test.js +83 -0
- package/__tests__/linear-plugin.test.js +81 -0
- package/__tests__/mcp-adapter.test.js +187 -0
- package/__tests__/mcp-local.test.js +105 -0
- package/__tests__/namespace-passthrough.test.js +69 -0
- package/__tests__/nextest-plugin.test.js +82 -0
- package/__tests__/npm-plugin.test.js +81 -0
- package/__tests__/nullclaw-plugin.test.js +157 -0
- package/__tests__/openapi-adapter.test.js +199 -0
- package/__tests__/plan-runtime.test.js +43 -0
- package/__tests__/planner.test.js +47 -0
- package/__tests__/plugin-agency-agents.test.js +62 -0
- package/__tests__/plugin-nullclaw.test.js +78 -0
- package/__tests__/plugin-visual-explainer.test.js +62 -0
- package/__tests__/plugins-command.test.js +220 -0
- package/__tests__/plugins-manager.test.js +353 -0
- package/__tests__/plugins-registry.test.js +114 -0
- package/__tests__/plugins-store.test.js +115 -0
- package/__tests__/pnpm-plugin.test.js +81 -0
- package/__tests__/poetry-plugin.test.js +83 -0
- package/__tests__/process-adapter.test.js +143 -0
- package/__tests__/pulumi-plugin.test.js +81 -0
- package/__tests__/railway-plugin.test.js +84 -0
- package/__tests__/server-app.test.js +67 -0
- package/__tests__/server-config-service.test.js +79 -0
- package/__tests__/server-routes-ask.test.js +89 -0
- package/__tests__/server-routes-commands.test.js +55 -0
- package/__tests__/server-routes-config.test.js +87 -0
- package/__tests__/server-routes-jobs.test.js +53 -0
- package/__tests__/server-routes-misc.test.js +112 -0
- package/__tests__/server-storage-adapter.test.js +40 -0
- package/__tests__/server-storage-file.test.js +73 -0
- package/__tests__/server-storage-mongo.test.js +74 -0
- package/__tests__/shell-adapter.test.js +90 -0
- package/__tests__/skills-catalog.test.js +98 -0
- package/__tests__/skills.test.js +442 -0
- package/__tests__/stripe-plugin.test.js +81 -0
- package/__tests__/supabase-plugin.test.js +86 -0
- package/__tests__/terraform-plugin.test.js +83 -0
- package/__tests__/uv-plugin.test.js +81 -0
- package/__tests__/vercel-plugin.test.js +81 -0
- package/__tests__/watchexec-plugin.test.js +80 -0
- package/cli/adapter-schema.js +108 -0
- package/cli/adapters/builtin.js +43 -0
- package/cli/adapters/process.js +262 -0
- package/cli/adapters/shell.js +82 -0
- package/cli/config.js +12 -9
- package/cli/executor.js +6 -1
- package/cli/help-json.js +3 -1
- package/cli/namespace-passthrough.js +38 -0
- package/cli/plugin-install-guidance.js +320 -0
- package/cli/plugins-command.js +138 -0
- package/cli/plugins-manager.js +552 -0
- package/cli/plugins-registry.js +80 -0
- package/cli/plugins-store.js +56 -0
- package/cli/skills-catalog.js +237 -0
- package/cli/skills.js +180 -6
- package/cli/supercli.js +150 -58
- package/docs/docs.html +224 -0
- package/docs/feature-gaps.md +16 -0
- package/docs/index.html +164 -0
- package/docs/plugin-examples.md +397 -0
- package/docs/plugin-harness-guide.md +452 -0
- package/docs/plugins.md +44 -0
- package/docs/skills/cline-non-interactive/SKILL.md +59 -0
- package/docs/skills-catalog.md +81 -0
- package/docs/supported-harnesses.md +277 -0
- package/docs/visual-overview.md +21 -0
- package/jest.config.js +25 -0
- package/package.json +9 -3
- package/plugins/agency-agents/plugin.json +15 -0
- package/plugins/agency-agents/scripts/post-install.js +122 -0
- package/plugins/aws/README.md +46 -0
- package/plugins/aws/plugin.json +42 -0
- package/plugins/az/README.md +46 -0
- package/plugins/az/plugin.json +42 -0
- package/plugins/beads/plugin.json +202 -0
- package/plugins/clickup/plugin.json +38 -0
- package/plugins/clickup/scripts/post-install.js +107 -0
- package/plugins/clickup/scripts/post-uninstall.js +30 -0
- package/plugins/cline/README.md +48 -0
- package/plugins/cline/plugin.json +92 -0
- package/plugins/commiat/plugin.json +36 -0
- package/plugins/docker/MANIFEST.md +39 -0
- package/plugins/docker/README.md +35 -0
- package/plugins/docker/examples/build-image.sh +7 -0
- package/plugins/docker/examples/inspect-container.sh +6 -0
- package/plugins/docker/examples/list-containers.sh +4 -0
- package/plugins/docker/examples/multi-step-workflow.sh +10 -0
- package/plugins/docker/examples/run-container.sh +7 -0
- package/plugins/docker/plugin.json +266 -0
- package/plugins/eza/README.md +40 -0
- package/plugins/eza/plugin.json +42 -0
- package/plugins/gcloud/README.md +46 -0
- package/plugins/gcloud/plugin.json +42 -0
- package/plugins/gh/README.md +46 -0
- package/plugins/gh/plugin.json +43 -0
- package/plugins/gwc/plugin.json +35 -0
- package/plugins/helm/README.md +42 -0
- package/plugins/helm/plugin.json +42 -0
- package/plugins/just/README.md +42 -0
- package/plugins/just/plugin.json +42 -0
- package/plugins/kubectl/README.md +46 -0
- package/plugins/kubectl/plugin.json +42 -0
- package/plugins/linear/README.md +60 -0
- package/plugins/linear/plugin.json +42 -0
- package/plugins/nextest/README.md +42 -0
- package/plugins/nextest/plugin.json +42 -0
- package/plugins/npm/README.md +46 -0
- package/plugins/npm/plugin.json +42 -0
- package/plugins/nullclaw/README.md +45 -0
- package/plugins/nullclaw/plugin.json +64 -0
- package/plugins/nullclaw/scripts/post-install.js +189 -0
- package/plugins/nullclaw/scripts/post-uninstall.js +25 -0
- package/plugins/openfang/plugin.json +37 -0
- package/plugins/openfang/scripts/post-install.js +163 -0
- package/plugins/openfang/scripts/post-uninstall.js +30 -0
- package/plugins/plugins.json +295 -0
- package/plugins/pnpm/README.md +46 -0
- package/plugins/pnpm/plugin.json +42 -0
- package/plugins/poetry/README.md +46 -0
- package/plugins/poetry/plugin.json +42 -0
- package/plugins/pulumi/README.md +46 -0
- package/plugins/pulumi/plugin.json +42 -0
- package/plugins/railway/README.md +58 -0
- package/plugins/railway/plugin.json +43 -0
- package/plugins/stripe/README.md +49 -0
- package/plugins/stripe/plugin.json +52 -0
- package/plugins/supabase/README.md +55 -0
- package/plugins/supabase/plugin.json +42 -0
- package/plugins/superpowers/plugin.json +22 -0
- package/plugins/superpowers/scripts/post-install.js +124 -0
- package/plugins/superpowers/scripts/post-uninstall.js +30 -0
- package/plugins/terraform/README.md +46 -0
- package/plugins/terraform/plugin.json +42 -0
- package/plugins/uv/README.md +46 -0
- package/plugins/uv/plugin.json +42 -0
- package/plugins/vercel/README.md +47 -0
- package/plugins/vercel/plugin.json +42 -0
- package/plugins/visual-explainer/plugin.json +15 -0
- package/plugins/visual-explainer/scripts/post-install.js +111 -0
- package/plugins/watchexec/README.md +40 -0
- package/plugins/watchexec/plugin.json +42 -0
- package/tests/test-aws-smoke.sh +56 -0
- package/tests/test-az-smoke.sh +56 -0
- package/tests/test-cli.js +116 -2
- package/tests/test-cline-smoke.sh +37 -0
- package/tests/test-eza-smoke.sh +33 -0
- package/tests/test-gcloud-smoke.sh +56 -0
- package/tests/test-gh-smoke.sh +56 -0
- package/tests/test-helm-smoke.sh +33 -0
- package/tests/test-just-smoke.sh +40 -0
- package/tests/test-kubectl-smoke.sh +37 -0
- package/tests/test-linear-smoke.sh +97 -0
- package/tests/test-nextest-smoke.sh +33 -0
- package/tests/test-npm-smoke.sh +32 -0
- package/tests/test-nullclaw-smoke.sh +51 -0
- package/tests/test-plugins-registry.js +212 -0
- package/tests/test-pnpm-smoke.sh +33 -0
- package/tests/test-poetry-smoke.sh +33 -0
- package/tests/test-pulumi-smoke.sh +33 -0
- package/tests/test-railway-smoke.sh +95 -0
- package/tests/test-stripe-smoke.sh +55 -0
- package/tests/test-supabase-smoke.sh +95 -0
- package/tests/test-terraform-smoke.sh +33 -0
- package/tests/test-uv-smoke.sh +33 -0
- package/tests/test-vercel-smoke.sh +55 -0
- package/tests/test-watchexec-smoke.sh +33 -0
package/docs/index.html
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" class="bg-slate-950">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>supercli — Universal Skill Router</title>
|
|
7
|
+
<script src="https://cdn.tailwindcss.com?plugins=typography"></script>
|
|
8
|
+
<script>
|
|
9
|
+
tailwind.config = {
|
|
10
|
+
theme: {
|
|
11
|
+
extend: {
|
|
12
|
+
fontFamily: {
|
|
13
|
+
display: ['Space Grotesk', 'sans-serif'],
|
|
14
|
+
body: ['Inter', 'sans-serif']
|
|
15
|
+
},
|
|
16
|
+
colors: {
|
|
17
|
+
brand: {
|
|
18
|
+
50: '#ECF8FF',
|
|
19
|
+
200: '#A5D8FF',
|
|
20
|
+
400: '#38BDF8',
|
|
21
|
+
500: '#0891B2',
|
|
22
|
+
900: '#0F172A'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
</script>
|
|
29
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
30
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
31
|
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
|
|
32
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/daisyui@4.7.2/dist/full.min.css" />
|
|
33
|
+
<style>
|
|
34
|
+
body {
|
|
35
|
+
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
36
|
+
background: radial-gradient(circle at top, rgba(8,145,178,0.24), rgba(15,23,42,0.95)), #020617;
|
|
37
|
+
}
|
|
38
|
+
.hero-grid {
|
|
39
|
+
background: linear-gradient(135deg, rgba(56,189,248,0.08), rgba(8,145,178,0.08));
|
|
40
|
+
border: 1px solid rgba(56,189,248,0.3);
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
43
|
+
</head>
|
|
44
|
+
<body class="text-slate-100">
|
|
45
|
+
<header class="max-w-6xl mx-auto px-6 py-12 md:py-16">
|
|
46
|
+
<div class="flex flex-col gap-6 text-center">
|
|
47
|
+
<div class="inline-flex items-center justify-center gap-2 text-xs uppercase tracking-[0.3em] text-brand-200">
|
|
48
|
+
<span class="h-px w-8 bg-brand-200/60"></span>
|
|
49
|
+
Universal Skill Router
|
|
50
|
+
<span class="h-px w-8 bg-brand-200/60"></span>
|
|
51
|
+
</div>
|
|
52
|
+
<h1 class="text-4xl md:text-5xl font-display font-semibold leading-tight">supercli — unify every CLI, API, and MCP tool as discoverable skills.</h1>
|
|
53
|
+
<p class="text-lg md:text-xl text-slate-300 max-w-3xl mx-auto">
|
|
54
|
+
Build a universal skill layer for your agents. supercli automatically exposes CLIs, OpenAPI endpoints, MCP servers, HTTP integrations, and workflows as structured skills so agents can discover, search, and execute capabilities through one interface.
|
|
55
|
+
</p>
|
|
56
|
+
<div class="flex flex-wrap justify-center gap-4">
|
|
57
|
+
<a class="btn btn-primary px-6" href="./docs.html#getting-started">Start Building</a>
|
|
58
|
+
<a class="btn btn-outline border-brand-400/50 text-brand-200 px-6" href="./docs.html">Explore the Docs</a>
|
|
59
|
+
<a class="btn btn-ghost text-slate-300 px-6" href="https://github.com/opencode-somewhere/dcli" target="_blank" rel="noreferrer">GitHub Repo</a>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</header>
|
|
63
|
+
|
|
64
|
+
<main class="max-w-6xl mx-auto px-6 pb-20 space-y-20">
|
|
65
|
+
<section class="grid gap-6 md:grid-cols-2 hero-grid rounded-3xl p-8">
|
|
66
|
+
<div class="space-y-4">
|
|
67
|
+
<p class="text-sm uppercase tracking-widest text-brand-200">Skill Discovery Layer</p>
|
|
68
|
+
<h2 class="text-3xl font-display font-semibold">Agents query a single skill graph.</h2>
|
|
69
|
+
<p class="text-slate-300">
|
|
70
|
+
supercli caches schemas, inputs, outputs, and rules for every harness. Agents explore skills via search, inspect action metadata, and trust consistent envelopes and exit codes.
|
|
71
|
+
</p>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="space-y-3">
|
|
74
|
+
<div class="card bg-slate-900/60 border border-slate-700">
|
|
75
|
+
<div class="card-body">
|
|
76
|
+
<p class="text-xs uppercase tracking-widest text-brand-200">Example</p>
|
|
77
|
+
<pre class="text-sm bg-slate-950/70 p-4 rounded-xl overflow-x-auto"><code>supercli skills search "database"
|
|
78
|
+
supercli skills get beads.issue.create
|
|
79
|
+
supercli plan beads issue create --title "Task"</code></pre>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</section>
|
|
84
|
+
|
|
85
|
+
<section class="space-y-10">
|
|
86
|
+
<div class="space-y-3">
|
|
87
|
+
<p class="text-sm uppercase tracking-widest text-brand-200">Skill Sources</p>
|
|
88
|
+
<h2 class="text-3xl font-display font-semibold">Every tool becomes a skill.</h2>
|
|
89
|
+
<p class="text-slate-300 max-w-3xl">
|
|
90
|
+
supercli ingests multiple ecosystems so the router stays agnostic to execution details.
|
|
91
|
+
</p>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="grid gap-5 md:grid-cols-3">
|
|
94
|
+
<article class="p-6 rounded-2xl border border-slate-800 bg-slate-900/50">
|
|
95
|
+
<h3 class="text-xl font-semibold">CLI Harnesses</h3>
|
|
96
|
+
<p class="text-slate-400">Route commands for beads, gwc, commiat, docker, kubectl, gh, aws, terraform, and more via manifests or passthrough adapters.</p>
|
|
97
|
+
</article>
|
|
98
|
+
<article class="p-6 rounded-2xl border border-slate-800 bg-slate-900/50">
|
|
99
|
+
<h3 class="text-xl font-semibold">OpenAPI & HTTP</h3>
|
|
100
|
+
<p class="text-slate-400">Import specs, auto-generate skills, and let agents execute normalized HTTP requests with schema validation.</p>
|
|
101
|
+
</article>
|
|
102
|
+
<article class="p-6 rounded-2xl border border-slate-800 bg-slate-900/50">
|
|
103
|
+
<h3 class="text-xl font-semibold">MCP + Workflows</h3>
|
|
104
|
+
<p class="text-slate-400">Expose MCP tools, AI-driven plans, and declarative workflows as first-class skills with consistent envelopes.</p>
|
|
105
|
+
</article>
|
|
106
|
+
</div>
|
|
107
|
+
</section>
|
|
108
|
+
|
|
109
|
+
<section class="grid gap-10 md:grid-cols-2 items-center">
|
|
110
|
+
<div class="order-2 md:order-1">
|
|
111
|
+
<p class="text-sm uppercase tracking-widest text-brand-200">Architecture</p>
|
|
112
|
+
<h2 class="text-3xl font-display font-semibold mb-4">From agent request to tool execution.</h2>
|
|
113
|
+
<p class="text-slate-300 mb-2">Skills flow through a discovery layer, router, and harness/adapters that target CLIs, APIs, or custom runtimes.</p>
|
|
114
|
+
<pre class="bg-slate-900 border border-slate-800 rounded-2xl p-6 text-sm leading-relaxed overflow-x-auto"><code>Agent → Skill Discovery → Router → Harness / Adapter → Tool</code></pre>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="order-1 md:order-2">
|
|
117
|
+
<div class="rounded-3xl border border-slate-800 p-6 bg-slate-900/40">
|
|
118
|
+
<ul class="space-y-4 text-slate-300">
|
|
119
|
+
<li><span class="font-semibold text-slate-100">Discovery</span> – catalog every skill with metadata & policy.</li>
|
|
120
|
+
<li><span class="font-semibold text-slate-100">Routing</span> – resolve namespaces to adapters automatically.</li>
|
|
121
|
+
<li><span class="font-semibold text-slate-100">Execution</span> – normalize inputs/outputs and exit codes.</li>
|
|
122
|
+
<li><span class="font-semibold text-slate-100">Extension</span> – drop in new harnesses, plugins, or specs.</li>
|
|
123
|
+
</ul>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</section>
|
|
127
|
+
|
|
128
|
+
<section class="space-y-6">
|
|
129
|
+
<div class="flex items-center gap-3 text-brand-200 text-sm uppercase tracking-widest">
|
|
130
|
+
<span class="h-px w-10 bg-brand-200/60"></span>
|
|
131
|
+
Skill Mesh Vision
|
|
132
|
+
</div>
|
|
133
|
+
<div class="grid gap-5 md:grid-cols-2">
|
|
134
|
+
<article class="p-6 rounded-2xl border border-slate-800 bg-slate-900/60">
|
|
135
|
+
<h3 class="text-2xl font-display mb-3">Toward a universal skill mesh.</h3>
|
|
136
|
+
<p class="text-slate-300">supercli is growing into a mesh that handles discovery, routing, execution, composition, and governance for every capability in your environment.</p>
|
|
137
|
+
</article>
|
|
138
|
+
<article class="p-6 rounded-2xl border border-slate-800 bg-slate-900/60">
|
|
139
|
+
<ul class="list-disc list-inside text-slate-300 space-y-2">
|
|
140
|
+
<li>Graph-native discovery & tagging</li>
|
|
141
|
+
<li>Execution DAG observability</li>
|
|
142
|
+
<li>Agent-facing HTTP/WebSocket endpoints</li>
|
|
143
|
+
<li>Policy controls across harnesses</li>
|
|
144
|
+
</ul>
|
|
145
|
+
</article>
|
|
146
|
+
</div>
|
|
147
|
+
<p class="text-sm text-slate-400">Follow along in the docs for upcoming mesh capabilities and long-term direction.</p>
|
|
148
|
+
</section>
|
|
149
|
+
</main>
|
|
150
|
+
|
|
151
|
+
<footer class="border-t border-slate-800/60 py-8 text-center text-sm text-slate-400">
|
|
152
|
+
<p>© <span id="year"></span> supercli — Universal Skill Router for AI Agents.</p>
|
|
153
|
+
<div class="flex justify-center gap-4 mt-3">
|
|
154
|
+
<a class="underline" href="./docs.html#getting-started">Start</a>
|
|
155
|
+
<a class="underline" href="./docs.html">Docs</a>
|
|
156
|
+
<a class="underline" href="./docs.html#skill-vision">Skill vision</a>
|
|
157
|
+
</div>
|
|
158
|
+
</footer>
|
|
159
|
+
|
|
160
|
+
<script>
|
|
161
|
+
document.getElementById('year').textContent = new Date().getFullYear();
|
|
162
|
+
</script>
|
|
163
|
+
</body>
|
|
164
|
+
</html>
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
# Plugin Manifest Examples
|
|
2
|
+
|
|
3
|
+
Real-world examples of plugin harnesses you can use as reference for creating your own.
|
|
4
|
+
|
|
5
|
+
## Example 1: beads - Wrapped Commands
|
|
6
|
+
|
|
7
|
+
The beads plugin demonstrates selective command wrapping. It exposes key beads_rust commands through dcli's interface.
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"name": "beads",
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"description": "Wrap beads_rust (br) issue tracking commands",
|
|
14
|
+
"source": "https://github.com/Dicklesworthstone/beads_rust",
|
|
15
|
+
"checks": [
|
|
16
|
+
{ "type": "binary", "name": "br" }
|
|
17
|
+
],
|
|
18
|
+
"commands": [
|
|
19
|
+
{
|
|
20
|
+
"namespace": "beads",
|
|
21
|
+
"resource": "install",
|
|
22
|
+
"action": "steps",
|
|
23
|
+
"description": "Show beads_rust installation steps for LLM automation",
|
|
24
|
+
"adapter": "builtin",
|
|
25
|
+
"adapterConfig": { "builtin": "beads_install_steps" },
|
|
26
|
+
"args": []
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"namespace": "beads",
|
|
30
|
+
"resource": "workspace",
|
|
31
|
+
"action": "init",
|
|
32
|
+
"description": "Initialize beads workspace in current repository",
|
|
33
|
+
"adapter": "process",
|
|
34
|
+
"adapterConfig": {
|
|
35
|
+
"command": "br",
|
|
36
|
+
"baseArgs": ["init"],
|
|
37
|
+
"parseJson": false,
|
|
38
|
+
"missingDependencyHelp": "Run: supercli beads install steps"
|
|
39
|
+
},
|
|
40
|
+
"args": []
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"namespace": "beads",
|
|
44
|
+
"resource": "issue",
|
|
45
|
+
"action": "create",
|
|
46
|
+
"description": "Create a beads issue",
|
|
47
|
+
"adapter": "process",
|
|
48
|
+
"adapterConfig": {
|
|
49
|
+
"command": "br",
|
|
50
|
+
"baseArgs": ["create"],
|
|
51
|
+
"positionalArgs": ["title"],
|
|
52
|
+
"jsonFlag": "--json",
|
|
53
|
+
"parseJson": true,
|
|
54
|
+
"missingDependencyHelp": "Run: supercli beads install steps"
|
|
55
|
+
},
|
|
56
|
+
"args": [
|
|
57
|
+
{ "name": "title", "type": "string", "required": true },
|
|
58
|
+
{ "name": "type", "type": "string", "required": false },
|
|
59
|
+
{ "name": "priority", "type": "integer", "required": false },
|
|
60
|
+
{ "name": "description", "type": "string", "required": false }
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"namespace": "beads",
|
|
65
|
+
"resource": "issue",
|
|
66
|
+
"action": "list",
|
|
67
|
+
"description": "List beads issues",
|
|
68
|
+
"adapter": "process",
|
|
69
|
+
"adapterConfig": {
|
|
70
|
+
"command": "br",
|
|
71
|
+
"baseArgs": ["list"],
|
|
72
|
+
"jsonFlag": "--json",
|
|
73
|
+
"parseJson": true,
|
|
74
|
+
"missingDependencyHelp": "Run: supercli beads install steps"
|
|
75
|
+
},
|
|
76
|
+
"args": [
|
|
77
|
+
{ "name": "status", "type": "string", "required": false },
|
|
78
|
+
{ "name": "priority", "type": "string", "required": false },
|
|
79
|
+
{ "name": "assignee", "type": "string", "required": false }
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"namespace": "beads",
|
|
84
|
+
"resource": "issue",
|
|
85
|
+
"action": "update",
|
|
86
|
+
"description": "Update a beads issue",
|
|
87
|
+
"adapter": "process",
|
|
88
|
+
"adapterConfig": {
|
|
89
|
+
"command": "br",
|
|
90
|
+
"baseArgs": ["update"],
|
|
91
|
+
"positionalArgs": ["id"],
|
|
92
|
+
"jsonFlag": "--json",
|
|
93
|
+
"parseJson": true,
|
|
94
|
+
"missingDependencyHelp": "Run: supercli beads install steps"
|
|
95
|
+
},
|
|
96
|
+
"args": [
|
|
97
|
+
{ "name": "id", "type": "string", "required": true },
|
|
98
|
+
{ "name": "status", "type": "string", "required": false },
|
|
99
|
+
{ "name": "priority", "type": "integer", "required": false },
|
|
100
|
+
{ "name": "assignee", "type": "string", "required": false }
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"namespace": "beads",
|
|
105
|
+
"resource": "issue",
|
|
106
|
+
"action": "close",
|
|
107
|
+
"description": "Close a beads issue",
|
|
108
|
+
"adapter": "process",
|
|
109
|
+
"adapterConfig": {
|
|
110
|
+
"command": "br",
|
|
111
|
+
"baseArgs": ["close"],
|
|
112
|
+
"positionalArgs": ["id"],
|
|
113
|
+
"jsonFlag": "--json",
|
|
114
|
+
"parseJson": true,
|
|
115
|
+
"missingDependencyHelp": "Run: supercli beads install steps"
|
|
116
|
+
},
|
|
117
|
+
"args": [
|
|
118
|
+
{ "name": "id", "type": "string", "required": true },
|
|
119
|
+
{ "name": "reason", "type": "string", "required": false }
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Key Points**:
|
|
127
|
+
- Uses wrapped commands (selective exposure)
|
|
128
|
+
- JSON parsing for automation
|
|
129
|
+
- Installation step handling via builtin adapter
|
|
130
|
+
- Clear error messages with help guidance
|
|
131
|
+
- Multiple related commands under same namespace/resource
|
|
132
|
+
|
|
133
|
+
**Usage Examples**:
|
|
134
|
+
```bash
|
|
135
|
+
supercli beads issue create --title "Fix authentication bug" --priority 0
|
|
136
|
+
supercli beads issue list --status open
|
|
137
|
+
supercli beads issue update dcli-15q --status in_progress
|
|
138
|
+
supercli beads issue close dcli-15q --reason "completed"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Example 2: gwc - Full Passthrough
|
|
144
|
+
|
|
145
|
+
The Google Workspace CLI plugin demonstrates full passthrough, giving access to all gws commands without selective wrapping.
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"name": "gwc",
|
|
150
|
+
"version": "0.1.0",
|
|
151
|
+
"description": "Wrap Google Workspace CLI (gws) with passthrough support",
|
|
152
|
+
"source": "https://github.com/googleworkspace/cli",
|
|
153
|
+
"checks": [
|
|
154
|
+
{ "type": "binary", "name": "gws" }
|
|
155
|
+
],
|
|
156
|
+
"commands": [
|
|
157
|
+
{
|
|
158
|
+
"namespace": "gwc",
|
|
159
|
+
"resource": "install",
|
|
160
|
+
"action": "steps",
|
|
161
|
+
"description": "Show gws installation steps for LLM automation",
|
|
162
|
+
"adapter": "builtin",
|
|
163
|
+
"adapterConfig": { "builtin": "gwc_install_steps" },
|
|
164
|
+
"args": []
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"namespace": "gwc",
|
|
168
|
+
"resource": "_",
|
|
169
|
+
"action": "_",
|
|
170
|
+
"description": "Passthrough to gws CLI",
|
|
171
|
+
"adapter": "process",
|
|
172
|
+
"adapterConfig": {
|
|
173
|
+
"command": "gws",
|
|
174
|
+
"passthrough": true,
|
|
175
|
+
"parseJson": true,
|
|
176
|
+
"timeout_ms": 15000,
|
|
177
|
+
"missingDependencyHelp": "Run: supercli gwc install steps"
|
|
178
|
+
},
|
|
179
|
+
"args": []
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Key Points**:
|
|
186
|
+
- Single `_` wildcard command captures all gws functionality
|
|
187
|
+
- Longer timeout for complex operations
|
|
188
|
+
- Passthrough mode passes all arguments directly
|
|
189
|
+
- Builtin adapter for installation guidance
|
|
190
|
+
- Minimal manifest for maximum CLI access
|
|
191
|
+
|
|
192
|
+
**Usage Examples**:
|
|
193
|
+
```bash
|
|
194
|
+
# Any gws command works transparently
|
|
195
|
+
supercli gwc drive files list
|
|
196
|
+
supercli gwc drive files get <file-id>
|
|
197
|
+
supercli gwc sheets values get <sheet-id> A1:B10
|
|
198
|
+
supercli gwc gmail messages list --query "from:user@example.com"
|
|
199
|
+
supercli gwc docs get <doc-id>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Example 3: commiat - Simple Passthrough
|
|
205
|
+
|
|
206
|
+
A minimal passthrough plugin for commit automation.
|
|
207
|
+
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"name": "commiat",
|
|
211
|
+
"version": "0.1.0",
|
|
212
|
+
"description": "Wrap commiat CLI with passthrough support",
|
|
213
|
+
"source": "https://www.npmjs.com/package/commiat",
|
|
214
|
+
"checks": [
|
|
215
|
+
{ "type": "binary", "name": "commiat" }
|
|
216
|
+
],
|
|
217
|
+
"commands": [
|
|
218
|
+
{
|
|
219
|
+
"namespace": "commiat",
|
|
220
|
+
"resource": "install",
|
|
221
|
+
"action": "steps",
|
|
222
|
+
"description": "Show commiat installation steps for LLM automation",
|
|
223
|
+
"adapter": "builtin",
|
|
224
|
+
"adapterConfig": { "builtin": "commiat_install_steps" },
|
|
225
|
+
"args": []
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"namespace": "commiat",
|
|
229
|
+
"resource": "_",
|
|
230
|
+
"action": "_",
|
|
231
|
+
"description": "Passthrough to commiat CLI",
|
|
232
|
+
"adapter": "process",
|
|
233
|
+
"adapterConfig": {
|
|
234
|
+
"command": "commiat",
|
|
235
|
+
"passthrough": true,
|
|
236
|
+
"parseJson": true,
|
|
237
|
+
"timeout_ms": 15000,
|
|
238
|
+
"missingDependencyHelp": "Run: supercli commiat install steps"
|
|
239
|
+
},
|
|
240
|
+
"args": []
|
|
241
|
+
}
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Usage Examples**:
|
|
247
|
+
```bash
|
|
248
|
+
supercli commiat validate --commit-msg "fix: resolve bug #123"
|
|
249
|
+
supercli commiat generate --changes src/file.js
|
|
250
|
+
supercli commiat suggest
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Example 4: Custom Plugin Template
|
|
256
|
+
|
|
257
|
+
A template for creating your own wrapped command plugin:
|
|
258
|
+
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"name": "my-cli",
|
|
262
|
+
"version": "0.1.0",
|
|
263
|
+
"description": "Wrap my-cli with dcli integration",
|
|
264
|
+
"source": "https://github.com/user/my-cli",
|
|
265
|
+
"tags": ["category", "keyword"],
|
|
266
|
+
"author": "Your Name",
|
|
267
|
+
"checks": [
|
|
268
|
+
{ "type": "binary", "name": "my-cli" }
|
|
269
|
+
],
|
|
270
|
+
"commands": [
|
|
271
|
+
{
|
|
272
|
+
"namespace": "my-cli",
|
|
273
|
+
"resource": "feature",
|
|
274
|
+
"action": "list",
|
|
275
|
+
"description": "List features",
|
|
276
|
+
"adapter": "process",
|
|
277
|
+
"adapterConfig": {
|
|
278
|
+
"command": "my-cli",
|
|
279
|
+
"baseArgs": ["feature", "list"],
|
|
280
|
+
"jsonFlag": "--json",
|
|
281
|
+
"parseJson": true,
|
|
282
|
+
"timeout_ms": 5000,
|
|
283
|
+
"missingDependencyHelp": "Install my-cli: npm install -g my-cli"
|
|
284
|
+
},
|
|
285
|
+
"args": [
|
|
286
|
+
{
|
|
287
|
+
"name": "filter",
|
|
288
|
+
"type": "string",
|
|
289
|
+
"required": false,
|
|
290
|
+
"description": "Filter by feature name"
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"namespace": "my-cli",
|
|
296
|
+
"resource": "feature",
|
|
297
|
+
"action": "create",
|
|
298
|
+
"description": "Create a new feature",
|
|
299
|
+
"adapter": "process",
|
|
300
|
+
"adapterConfig": {
|
|
301
|
+
"command": "my-cli",
|
|
302
|
+
"baseArgs": ["feature", "create"],
|
|
303
|
+
"positionalArgs": ["name"],
|
|
304
|
+
"jsonFlag": "--json",
|
|
305
|
+
"parseJson": true,
|
|
306
|
+
"timeout_ms": 5000,
|
|
307
|
+
"missingDependencyHelp": "Install my-cli: npm install -g my-cli"
|
|
308
|
+
},
|
|
309
|
+
"args": [
|
|
310
|
+
{
|
|
311
|
+
"name": "name",
|
|
312
|
+
"type": "string",
|
|
313
|
+
"required": true,
|
|
314
|
+
"description": "Feature name"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"name": "description",
|
|
318
|
+
"type": "string",
|
|
319
|
+
"required": false,
|
|
320
|
+
"description": "Feature description"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Customization**:
|
|
329
|
+
- Replace `my-cli` with your CLI name
|
|
330
|
+
- Adjust `baseArgs` to match your CLI structure
|
|
331
|
+
- Add/remove commands as needed
|
|
332
|
+
- Update the binary name in `checks`
|
|
333
|
+
- Add tags for discoverability
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Comparison: Wrapped vs. Passthrough
|
|
338
|
+
|
|
339
|
+
| Aspect | Wrapped | Passthrough |
|
|
340
|
+
|--------|---------|-------------|
|
|
341
|
+
| **Definition** | Selectively expose specific commands | Expose all commands transparently |
|
|
342
|
+
| **Best For** | Well-structured, stable CLIs | Large CLI with many commands |
|
|
343
|
+
| **Manifest Size** | Larger (document each command) | Minimal (one wildcard) |
|
|
344
|
+
| **Control** | Fine-grained control | Full CLI access |
|
|
345
|
+
| **Examples** | beads (specific issue ops) | gwc (full Workspace access) |
|
|
346
|
+
| **Maintenance** | More effort as CLI grows | Less maintenance |
|
|
347
|
+
| **Discoverability** | Excellent (all exposed) | Good (passthrough handled) |
|
|
348
|
+
|
|
349
|
+
**Choose wrapped when**:
|
|
350
|
+
- The CLI has well-defined, stable commands
|
|
351
|
+
- You want to curate the user experience
|
|
352
|
+
- Different commands have different argument patterns
|
|
353
|
+
- You want to provide rich documentation per command
|
|
354
|
+
|
|
355
|
+
**Choose passthrough when**:
|
|
356
|
+
- The CLI is stable and comprehensive
|
|
357
|
+
- It has many commands that change frequently
|
|
358
|
+
- You want full access without reimplementation
|
|
359
|
+
- The CLI's interface is consistent
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## Testing Plugin Manifests
|
|
364
|
+
|
|
365
|
+
Validate your plugin manifest before installing:
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
# Syntax check
|
|
369
|
+
jq . my-plugin/plugin.json
|
|
370
|
+
|
|
371
|
+
# Schema validation (if schema available)
|
|
372
|
+
ajv validate -s plugin-schema.json -d my-plugin/plugin.json
|
|
373
|
+
|
|
374
|
+
# Install locally
|
|
375
|
+
supercli plugins install ./my-plugin
|
|
376
|
+
|
|
377
|
+
# Test a command
|
|
378
|
+
supercli my-plugin resource action --test-arg value
|
|
379
|
+
|
|
380
|
+
# Inspect command
|
|
381
|
+
supercli inspect my-cli resource action
|
|
382
|
+
|
|
383
|
+
# Show plugin health
|
|
384
|
+
supercli plugins doctor my-cli
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Next Steps
|
|
390
|
+
|
|
391
|
+
1. **Choose your approach**: Wrapped commands or passthrough?
|
|
392
|
+
2. **Create your manifest**: Use examples above as reference
|
|
393
|
+
3. **Test locally**: Use `supercli plugins install ./path`
|
|
394
|
+
4. **Iterate**: Refine based on usage feedback
|
|
395
|
+
5. **Publish**: Share with the community via GitHub
|
|
396
|
+
|
|
397
|
+
See [plugin-harness-guide.md](plugin-harness-guide.md) for detailed documentation.
|