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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Stripe Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the [Stripe CLI](https://stripe.com/docs/stripe-cli) natively into dcli, providing both wrapped core commands and full passthrough support.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
You must have the Stripe CLI installed to use this plugin:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# macOS (Homebrew)
|
|
11
|
+
brew install stripe/stripe-cli/stripe
|
|
12
|
+
|
|
13
|
+
# Linux/Windows
|
|
14
|
+
# See: https://docs.stripe.com/stripe-cli
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Make sure you are authenticated before using it:
|
|
18
|
+
```bash
|
|
19
|
+
stripe login
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Available Commands
|
|
23
|
+
|
|
24
|
+
### Customers List
|
|
25
|
+
|
|
26
|
+
Lists the Stripe customers associated with your account.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
dcli stripe customers list --limit 10 --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Full Passthrough
|
|
33
|
+
|
|
34
|
+
You can pass *any* Stripe CLI command directly via the passthrough functionality.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Listen to webhooks
|
|
38
|
+
dcli stripe listen --forward-to localhost:3000
|
|
39
|
+
|
|
40
|
+
# Trigger events
|
|
41
|
+
dcli stripe trigger payment_intent.succeeded
|
|
42
|
+
|
|
43
|
+
# Show CLI version
|
|
44
|
+
dcli stripe version
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Output
|
|
48
|
+
|
|
49
|
+
All commands execute the underlying `stripe` binary and wrap the standard output in dcli's JSON envelope format.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "stripe",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Stripe CLI plugin for dcli",
|
|
5
|
+
"source": "https://stripe.com/docs/stripe-cli",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "stripe"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "stripe",
|
|
15
|
+
"resource": "customers",
|
|
16
|
+
"action": "list",
|
|
17
|
+
"description": "List existing Stripe customers",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "stripe",
|
|
21
|
+
"baseArgs": ["customers", "list"],
|
|
22
|
+
"optionalArgs": {
|
|
23
|
+
"limit": "--limit"
|
|
24
|
+
},
|
|
25
|
+
"parseJson": true,
|
|
26
|
+
"missingDependencyHelp": "Please install the Stripe CLI to use this command."
|
|
27
|
+
},
|
|
28
|
+
"args": [
|
|
29
|
+
{
|
|
30
|
+
"name": "limit",
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"required": false,
|
|
33
|
+
"description": "Limit the number of customers returned"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"namespace": "stripe",
|
|
39
|
+
"resource": "_",
|
|
40
|
+
"action": "_",
|
|
41
|
+
"description": "Passthrough command to execute any Stripe CLI command",
|
|
42
|
+
"adapter": "process",
|
|
43
|
+
"adapterConfig": {
|
|
44
|
+
"command": "stripe",
|
|
45
|
+
"passthrough": true,
|
|
46
|
+
"parseJson": true,
|
|
47
|
+
"missingDependencyHelp": "Please install the Stripe CLI to use this command."
|
|
48
|
+
},
|
|
49
|
+
"args": []
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Supabase Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the Supabase CLI into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Install Supabase CLI globally or locally:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Global install
|
|
11
|
+
npm install -g supabase
|
|
12
|
+
|
|
13
|
+
# Local install in this repo
|
|
14
|
+
npm install -D supabase
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Verify the binary:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
supabase --version
|
|
21
|
+
# if local only:
|
|
22
|
+
npx --no-install supabase --version
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Authenticate before running management commands:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
supabase login
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Available Commands
|
|
32
|
+
|
|
33
|
+
### Projects List (Wrapped)
|
|
34
|
+
|
|
35
|
+
Returns the authenticated account projects via `supabase projects list --output json`.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
dcli supabase projects list --json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Full Passthrough
|
|
42
|
+
|
|
43
|
+
You can run any Supabase CLI command through the `supabase` namespace.
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Show CLI help
|
|
47
|
+
dcli supabase --help
|
|
48
|
+
|
|
49
|
+
# List projects directly via passthrough
|
|
50
|
+
dcli supabase projects list --output json
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Output
|
|
54
|
+
|
|
55
|
+
Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "supabase",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Supabase CLI plugin for dcli",
|
|
5
|
+
"source": "https://supabase.com/docs/reference/cli/introduction",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "supabase"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "supabase",
|
|
15
|
+
"resource": "projects",
|
|
16
|
+
"action": "list",
|
|
17
|
+
"description": "List Supabase projects for the authenticated account",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "supabase",
|
|
21
|
+
"baseArgs": ["projects", "list", "--output", "json"],
|
|
22
|
+
"parseJson": true,
|
|
23
|
+
"missingDependencyHelp": "Please install the Supabase CLI to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "supabase",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any Supabase CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "supabase",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install the Supabase CLI to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "superpowers",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Agentic skills framework for software development methodology from obra/superpowers",
|
|
5
|
+
"source": "https://github.com/obra/superpowers",
|
|
6
|
+
"tags": ["skills", "agents", "development", "methodology", "catalog"],
|
|
7
|
+
"checks": [
|
|
8
|
+
{ "type": "binary", "name": "curl" }
|
|
9
|
+
],
|
|
10
|
+
"post_install": {
|
|
11
|
+
"script": "scripts/post-install.js",
|
|
12
|
+
"runtime": "node",
|
|
13
|
+
"timeout_ms": 15000
|
|
14
|
+
},
|
|
15
|
+
"post_uninstall": {
|
|
16
|
+
"script": "scripts/post-uninstall.js",
|
|
17
|
+
"runtime": "node",
|
|
18
|
+
"timeout_ms": 15000
|
|
19
|
+
},
|
|
20
|
+
"commands": []
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
const { spawnSync } = require("child_process")
|
|
2
|
+
const { addProvider, syncCatalog } = require("../../../cli/skills-catalog")
|
|
3
|
+
|
|
4
|
+
const OWNER = "obra"
|
|
5
|
+
const REPO = "superpowers"
|
|
6
|
+
const REF = "main"
|
|
7
|
+
const SOURCE_REPO = `https://github.com/${OWNER}/${REPO}`
|
|
8
|
+
const TREE_URL = `https://api.github.com/repos/${OWNER}/${REPO}/git/trees/${REF}?recursive=1`
|
|
9
|
+
const RAW_BASE_URL = `https://raw.githubusercontent.com/${OWNER}/${REPO}/${REF}`
|
|
10
|
+
|
|
11
|
+
const SKILLS_PREFIX = "skills/"
|
|
12
|
+
|
|
13
|
+
function integrationError(message, suggestions = []) {
|
|
14
|
+
return Object.assign(new Error(message), {
|
|
15
|
+
code: 105,
|
|
16
|
+
type: "integration_error",
|
|
17
|
+
recoverable: true,
|
|
18
|
+
suggestions
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function fetchJson(url) {
|
|
23
|
+
const res = spawnSync("curl", ["-fsSL", url], { encoding: "utf-8", timeout: 15000 })
|
|
24
|
+
if (res.error) {
|
|
25
|
+
throw integrationError(`Failed to fetch superpowers metadata: ${res.error.message}`, ["Check internet connectivity", "Retry: supercli plugins install superpowers"])
|
|
26
|
+
}
|
|
27
|
+
if (res.status !== 0) {
|
|
28
|
+
throw integrationError(`Failed to fetch superpowers metadata: ${(res.stderr || "").trim() || `exit ${res.status}`}`, ["Check internet connectivity", "Retry: supercli plugins install superpowers"])
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return JSON.parse((res.stdout || "").trim() || "{}")
|
|
32
|
+
} catch (err) {
|
|
33
|
+
throw integrationError(`Invalid superpowers metadata response: ${err.message}`)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function toSkillId(filePath) {
|
|
38
|
+
// Convert skills/brainstorming/SKILL.md -> brainstorming
|
|
39
|
+
return filePath
|
|
40
|
+
.replace(/^skills\//, "")
|
|
41
|
+
.replace(/\/SKILL\.md$/, "")
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function toSkillName(filePath) {
|
|
45
|
+
// Convert directory name to readable name
|
|
46
|
+
// e.g., "test-driven-development" -> "Test Driven Development"
|
|
47
|
+
const base = toSkillId(filePath)
|
|
48
|
+
return base
|
|
49
|
+
.split("-")
|
|
50
|
+
.map(part => (part ? part[0].toUpperCase() + part.slice(1) : part))
|
|
51
|
+
.join(" ")
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function isSkillFile(filePath) {
|
|
55
|
+
if (!filePath.endsWith(".md")) return false
|
|
56
|
+
if (!filePath.startsWith(SKILLS_PREFIX)) return false
|
|
57
|
+
if (filePath.endsWith("README.md")) return false
|
|
58
|
+
// Only match skills/*/SKILL.md pattern
|
|
59
|
+
const parts = filePath.split("/")
|
|
60
|
+
return parts.length === 3 && parts[2] === "SKILL.md"
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function buildRemoteEntriesFromTree(treeResponse) {
|
|
64
|
+
const tree = Array.isArray(treeResponse.tree) ? treeResponse.tree : []
|
|
65
|
+
const entries = []
|
|
66
|
+
|
|
67
|
+
for (const node of tree) {
|
|
68
|
+
if (!node || node.type !== "blob" || typeof node.path !== "string") continue
|
|
69
|
+
if (!isSkillFile(node.path)) continue
|
|
70
|
+
|
|
71
|
+
const id = toSkillId(node.path)
|
|
72
|
+
entries.push({
|
|
73
|
+
id: id,
|
|
74
|
+
name: toSkillName(node.path),
|
|
75
|
+
path: node.path,
|
|
76
|
+
source_url: `${RAW_BASE_URL}/${node.path}`,
|
|
77
|
+
description: `Superpowers skill: ${toSkillName(node.path)}`
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
entries.sort((a, b) => a.id.localeCompare(b.id))
|
|
82
|
+
return entries
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function run() {
|
|
86
|
+
const treeResponse = fetchJson(TREE_URL)
|
|
87
|
+
const entries = buildRemoteEntriesFromTree(treeResponse)
|
|
88
|
+
|
|
89
|
+
if (entries.length === 0) {
|
|
90
|
+
throw integrationError("superpowers plugin found no remote skill files to index")
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
addProvider({
|
|
94
|
+
name: "superpowers",
|
|
95
|
+
type: "remote_static",
|
|
96
|
+
enabled: true,
|
|
97
|
+
source_repo: SOURCE_REPO,
|
|
98
|
+
ref: REF,
|
|
99
|
+
entries
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
const index = syncCatalog()
|
|
103
|
+
return {
|
|
104
|
+
provider: "superpowers",
|
|
105
|
+
entries: entries.length,
|
|
106
|
+
synced_skills: Array.isArray(index.skills) ? index.skills.length : 0
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (require.main === module) {
|
|
111
|
+
try {
|
|
112
|
+
const result = run()
|
|
113
|
+
process.stdout.write(JSON.stringify(result))
|
|
114
|
+
} catch (err) {
|
|
115
|
+
process.stderr.write(err.message)
|
|
116
|
+
process.exit(1)
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
module.exports = {
|
|
121
|
+
run,
|
|
122
|
+
buildRemoteEntriesFromTree
|
|
123
|
+
}
|
|
124
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const { removeProvider, syncCatalog } = require("../../../cli/skills-catalog")
|
|
2
|
+
|
|
3
|
+
function run() {
|
|
4
|
+
const removed = removeProvider("superpowers")
|
|
5
|
+
|
|
6
|
+
if (removed) {
|
|
7
|
+
// Re-sync catalog to remove superpowers skills
|
|
8
|
+
syncCatalog()
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
provider: "superpowers",
|
|
13
|
+
removed: removed
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (require.main === module) {
|
|
18
|
+
try {
|
|
19
|
+
const result = run()
|
|
20
|
+
process.stdout.write(JSON.stringify(result))
|
|
21
|
+
} catch (err) {
|
|
22
|
+
process.stderr.write(err.message)
|
|
23
|
+
process.exit(1)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
module.exports = {
|
|
28
|
+
run
|
|
29
|
+
}
|
|
30
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Terraform Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the Terraform CLI into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Install Terraform with your preferred package manager, then verify it is available:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
terraform version -json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
If you plan to run state or output commands, ensure you are in a Terraform working directory with initialized state:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
terraform init
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Available Commands
|
|
20
|
+
|
|
21
|
+
### CLI Version (Wrapped)
|
|
22
|
+
|
|
23
|
+
Returns Terraform CLI version information via `terraform version -json`.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dcli terraform cli version --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Full Passthrough
|
|
30
|
+
|
|
31
|
+
You can run any Terraform CLI command through the `terraform` namespace.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Show outputs in JSON
|
|
35
|
+
dcli terraform output -json
|
|
36
|
+
|
|
37
|
+
# Show plan help
|
|
38
|
+
dcli terraform plan --help
|
|
39
|
+
|
|
40
|
+
# Show CLI help
|
|
41
|
+
dcli terraform --help
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Output
|
|
45
|
+
|
|
46
|
+
Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "terraform",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Terraform CLI plugin for dcli",
|
|
5
|
+
"source": "https://developer.hashicorp.com/terraform/cli",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "terraform"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "terraform",
|
|
15
|
+
"resource": "cli",
|
|
16
|
+
"action": "version",
|
|
17
|
+
"description": "Show Terraform CLI version information",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "terraform",
|
|
21
|
+
"baseArgs": ["version", "-json"],
|
|
22
|
+
"parseJson": true,
|
|
23
|
+
"missingDependencyHelp": "Please install Terraform CLI to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "terraform",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any Terraform CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "terraform",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install Terraform CLI to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# uv Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the uv CLI into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Ensure uv is available on your machine:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
uv --version
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
If you plan to use private package indexes, authenticate first:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
uv auth login <service>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Available Commands
|
|
20
|
+
|
|
21
|
+
### CLI Version (Wrapped)
|
|
22
|
+
|
|
23
|
+
Returns the uv CLI version via `uv --version`.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dcli uv cli version --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Full Passthrough
|
|
30
|
+
|
|
31
|
+
You can run any uv command through the `uv` namespace.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Show available Python interpreters
|
|
35
|
+
dcli uv python list
|
|
36
|
+
|
|
37
|
+
# Run a pip-compatible command
|
|
38
|
+
dcli uv pip list --format json
|
|
39
|
+
|
|
40
|
+
# Show CLI help
|
|
41
|
+
dcli uv --help
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Output
|
|
45
|
+
|
|
46
|
+
Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "uv",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "uv CLI plugin for dcli",
|
|
5
|
+
"source": "https://docs.astral.sh/uv/reference/cli/",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "uv"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "uv",
|
|
15
|
+
"resource": "cli",
|
|
16
|
+
"action": "version",
|
|
17
|
+
"description": "Show uv CLI version",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "uv",
|
|
21
|
+
"baseArgs": ["--version"],
|
|
22
|
+
"parseJson": false,
|
|
23
|
+
"missingDependencyHelp": "Please install uv to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "uv",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any uv CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "uv",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install uv to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Vercel Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the [Vercel CLI](https://vercel.com/docs/cli) into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Install Vercel CLI first:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g vercel
|
|
11
|
+
vercel --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Authenticate before running account or project operations:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
vercel login
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Available Commands
|
|
21
|
+
|
|
22
|
+
### Account Whoami (Wrapped)
|
|
23
|
+
|
|
24
|
+
Returns the currently logged in Vercel account username.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
dcli vercel account whoami --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Full Passthrough
|
|
31
|
+
|
|
32
|
+
You can run any Vercel CLI command through the `vercel` namespace.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# List recent deployments
|
|
36
|
+
dcli vercel list
|
|
37
|
+
|
|
38
|
+
# List projects
|
|
39
|
+
dcli vercel project ls
|
|
40
|
+
|
|
41
|
+
# Check CLI version
|
|
42
|
+
dcli vercel --version
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Output
|
|
46
|
+
|
|
47
|
+
Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vercel",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Vercel CLI plugin for dcli",
|
|
5
|
+
"source": "https://vercel.com/docs/cli",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "vercel"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "vercel",
|
|
15
|
+
"resource": "account",
|
|
16
|
+
"action": "whoami",
|
|
17
|
+
"description": "Show the currently logged in Vercel user",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "vercel",
|
|
21
|
+
"baseArgs": ["whoami"],
|
|
22
|
+
"parseJson": false,
|
|
23
|
+
"missingDependencyHelp": "Please install Vercel CLI to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "vercel",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any Vercel CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "vercel",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install Vercel CLI to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "visual-explainer",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Remote skills index for javimosch/visual-explainer normalized markdown skills",
|
|
5
|
+
"source": "https://github.com/javimosch/visual-explainer",
|
|
6
|
+
"checks": [
|
|
7
|
+
{ "type": "binary", "name": "curl" }
|
|
8
|
+
],
|
|
9
|
+
"post_install": {
|
|
10
|
+
"script": "scripts/post-install.js",
|
|
11
|
+
"runtime": "node",
|
|
12
|
+
"timeout_ms": 15000
|
|
13
|
+
},
|
|
14
|
+
"commands": []
|
|
15
|
+
}
|