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,277 @@
|
|
|
1
|
+
# Supported Harnesses
|
|
2
|
+
|
|
3
|
+
A comprehensive guide to all currently supported harnesses in dcli, including bundled harnesses, built-in adapters, and popular community harnesses available via the plugin system.
|
|
4
|
+
|
|
5
|
+
## Bundled Harnesses
|
|
6
|
+
|
|
7
|
+
These harnesses are included with dcli and require only the underlying CLI tool to be installed.
|
|
8
|
+
|
|
9
|
+
### beads (Task/Issue Management)
|
|
10
|
+
|
|
11
|
+
**CLI**: `br` (beads_rust)
|
|
12
|
+
**Repository**: [github.com/Dicklesworthstone/beads_rust](https://github.com/Dicklesworthstone/beads_rust)
|
|
13
|
+
**Status**: Fully integrated
|
|
14
|
+
|
|
15
|
+
A DAG-based issue tracking system designed for automation and task dependencies.
|
|
16
|
+
|
|
17
|
+
**Key Commands**:
|
|
18
|
+
```bash
|
|
19
|
+
supercli beads issue create --title "Fix bug"
|
|
20
|
+
supercli beads issue list --status open
|
|
21
|
+
supercli beads issue update <id> --status in_progress
|
|
22
|
+
supercli beads dep add <child> <parent> # Add dependency
|
|
23
|
+
supercli beads sync run # Sync to JSONL
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Installation**:
|
|
27
|
+
```bash
|
|
28
|
+
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/beads_rust/main/install.sh | bash
|
|
29
|
+
br --version
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Features**:
|
|
33
|
+
- Priority levels (P0-P4)
|
|
34
|
+
- Dependency tracking with cycle detection
|
|
35
|
+
- JSONL export/import
|
|
36
|
+
- JSON output for automation
|
|
37
|
+
- Status tracking (open, in_progress, closed)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### gwc (Google Workspace CLI)
|
|
42
|
+
|
|
43
|
+
**CLI**: `gws` (Google Workspace CLI)
|
|
44
|
+
**Repository**: [github.com/googleworkspace/cli](https://github.com/googleworkspace/cli)
|
|
45
|
+
**Status**: Fully integrated with passthrough
|
|
46
|
+
|
|
47
|
+
Full passthrough to Google Workspace CLI with access to Google Drive, Sheets, Docs, Gmail, and more.
|
|
48
|
+
|
|
49
|
+
**Key Commands**:
|
|
50
|
+
```bash
|
|
51
|
+
supercli gwc drive files list
|
|
52
|
+
supercli gwc drive files get <id>
|
|
53
|
+
supercli gwc sheets values get <sheet-id> <range>
|
|
54
|
+
supercli gwc gmail messages list --query "from:user@example.com"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Installation**:
|
|
58
|
+
```bash
|
|
59
|
+
npm install -g @googleworkspace/cli
|
|
60
|
+
gws --version
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Features**:
|
|
64
|
+
- Full Google Drive access
|
|
65
|
+
- Google Sheets manipulation
|
|
66
|
+
- Gmail integration
|
|
67
|
+
- Google Docs access
|
|
68
|
+
- Full passthrough support (all gws commands available)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### commiat (Commit Automation)
|
|
73
|
+
|
|
74
|
+
**CLI**: `commiat`
|
|
75
|
+
**Repository**: [npmjs.com/package/commiat](https://www.npmjs.com/package/commiat)
|
|
76
|
+
**Status**: Fully integrated with passthrough
|
|
77
|
+
|
|
78
|
+
CLI tool for intelligent commit message generation and validation.
|
|
79
|
+
|
|
80
|
+
**Key Commands**:
|
|
81
|
+
```bash
|
|
82
|
+
supercli commiat validate --commit-msg "fix: resolve bug"
|
|
83
|
+
supercli commiat generate --changes <file>
|
|
84
|
+
supercli commiat suggest
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Installation**:
|
|
88
|
+
```bash
|
|
89
|
+
npm install -g commiat
|
|
90
|
+
commiat --version
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Features**:
|
|
94
|
+
- Intelligent commit message generation
|
|
95
|
+
- Commit validation against standards
|
|
96
|
+
- Integration with git hooks
|
|
97
|
+
- Full passthrough support
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Built-in Adapters
|
|
102
|
+
|
|
103
|
+
These don't require external CLI tools but provide core execution capabilities.
|
|
104
|
+
|
|
105
|
+
### OpenAPI
|
|
106
|
+
|
|
107
|
+
**Status**: Built-in, no CLI required
|
|
108
|
+
|
|
109
|
+
Execute commands defined by OpenAPI 3.0 specifications.
|
|
110
|
+
|
|
111
|
+
**Usage**:
|
|
112
|
+
```bash
|
|
113
|
+
supercli openapi <operation-id> [--args]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Features**:
|
|
117
|
+
- Automatic schema validation
|
|
118
|
+
- Request/response transformation
|
|
119
|
+
- Security scheme support
|
|
120
|
+
- Parameter validation
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### HTTP
|
|
125
|
+
|
|
126
|
+
**Status**: Built-in, no CLI required
|
|
127
|
+
|
|
128
|
+
Raw HTTP adapter for direct REST API calls.
|
|
129
|
+
|
|
130
|
+
**Usage**:
|
|
131
|
+
```bash
|
|
132
|
+
supercli http <method> <url> [--headers] [--data]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Features**:
|
|
136
|
+
- GET, POST, PUT, PATCH, DELETE support
|
|
137
|
+
- Custom headers
|
|
138
|
+
- Request body handling
|
|
139
|
+
- Response parsing
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### MCP (Model Context Protocol)
|
|
144
|
+
|
|
145
|
+
**Status**: Built-in, supports both stdio and SSE/HTTP
|
|
146
|
+
|
|
147
|
+
Integration with MCP servers for tool execution.
|
|
148
|
+
|
|
149
|
+
**Key Commands**:
|
|
150
|
+
```bash
|
|
151
|
+
supercli mcp list # List connected servers
|
|
152
|
+
supercli mcp add <name> --url <server-url> # Add server
|
|
153
|
+
supercli mcp remove <name> # Remove server
|
|
154
|
+
supercli <namespace> <tool> <action> # Execute tool
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Features**:
|
|
158
|
+
- Stdio process management
|
|
159
|
+
- SSE/HTTP server support
|
|
160
|
+
- Local tool registration
|
|
161
|
+
- Remote server integration
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Popular Community Harnesses (In Development)
|
|
166
|
+
|
|
167
|
+
These harnesses are in active development and will be available as plugins. Status shows expected availability.
|
|
168
|
+
|
|
169
|
+
### GitHub Ecosystem
|
|
170
|
+
|
|
171
|
+
| Harness | CLI | Status | Purpose |
|
|
172
|
+
|---------|-----|--------|---------|
|
|
173
|
+
| **gh** | gh (GitHub CLI) | Planned | Repository management, issues, PRs, actions |
|
|
174
|
+
| **ghe** | GitHub Enterprise CLI | Planned | Enterprise GitHub deployment |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### Cloud Platforms
|
|
179
|
+
|
|
180
|
+
| Harness | CLI | Status | Purpose |
|
|
181
|
+
|---------|-----|--------|---------|
|
|
182
|
+
| **aws** | aws (AWS CLI v2) | Planned | EC2, S3, Lambda, RDS, and 200+ services |
|
|
183
|
+
| **gcloud** | gcloud (Google Cloud CLI) | Planned | GCP services, Compute Engine, Storage, etc. |
|
|
184
|
+
| **az** | az (Azure CLI) | Planned | Azure services, VMs, databases, etc. |
|
|
185
|
+
| **do** | doctl (DigitalOcean) | Planned | Droplets, databases, app platform |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### Container & Orchestration
|
|
190
|
+
|
|
191
|
+
| Harness | CLI | Status | Purpose |
|
|
192
|
+
|---------|-----|--------|---------|
|
|
193
|
+
| **docker** | docker | Planned | Container management, images, volumes |
|
|
194
|
+
| **docker-compose** | docker-compose | Planned | Multi-container orchestration |
|
|
195
|
+
| **kubectl** | kubectl | Planned | Kubernetes cluster management |
|
|
196
|
+
| **helm** | helm | Planned | Kubernetes package management |
|
|
197
|
+
| **k3s** | k3s | Planned | Lightweight Kubernetes |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### Infrastructure & DevOps
|
|
202
|
+
|
|
203
|
+
| Harness | CLI | Status | Purpose |
|
|
204
|
+
|---------|-----|--------|---------|
|
|
205
|
+
| **terraform** | terraform | Planned | Infrastructure as Code provisioning |
|
|
206
|
+
| **ansible** | ansible | Planned | Configuration management |
|
|
207
|
+
| **pulumi** | pulumi | Planned | Infrastructure as Code (Python/Go/TS) |
|
|
208
|
+
| **nomad** | nomad | Planned | Workload orchestration |
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### Version Control & Release
|
|
213
|
+
|
|
214
|
+
| Harness | CLI | Status | Purpose |
|
|
215
|
+
|---------|-----|--------|---------|
|
|
216
|
+
| **git** | git | Planned | Git repository operations |
|
|
217
|
+
| **git-cliff** | git-cliff | Planned | Changelog generation |
|
|
218
|
+
| **commitizen** | cz | Planned | Conventional commits |
|
|
219
|
+
| **conventional-changelog** | conventional-changelog | Planned | Changelog automation |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### Package Managers
|
|
224
|
+
|
|
225
|
+
| Harness | CLI | Status | Purpose |
|
|
226
|
+
|---------|-----|--------|---------|
|
|
227
|
+
| **npm** | npm | Planned | Node.js package management |
|
|
228
|
+
| **pnpm** | pnpm | Planned | Fast Node.js package manager |
|
|
229
|
+
| **yarn** | yarn | Planned | JavaScript dependency management |
|
|
230
|
+
| **pip** | pip | Planned | Python package management |
|
|
231
|
+
| **pipenv** | pipenv | Planned | Python environment management |
|
|
232
|
+
| **poetry** | poetry | Planned | Python dependency management |
|
|
233
|
+
| **cargo** | cargo | Planned | Rust package management |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### AI/ML Tools
|
|
238
|
+
|
|
239
|
+
| Harness | CLI | Status | Purpose |
|
|
240
|
+
|---------|-----|--------|---------|
|
|
241
|
+
| **huggingface** | huggingface-cli | Planned | Hugging Face model management |
|
|
242
|
+
| **langchain** | langchain CLI | Planned | LangChain utilities |
|
|
243
|
+
| **ollama** | ollama | Planned | Local LLM management |
|
|
244
|
+
| **modal** | modal | Planned | ML cloud computing |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
### Monitoring & Observability
|
|
249
|
+
|
|
250
|
+
| Harness | CLI | Status | Purpose |
|
|
251
|
+
|---------|-----|--------|---------|
|
|
252
|
+
| **datadog** | datadog-cli | Planned | Datadog monitoring |
|
|
253
|
+
| **prometheus** | prometheus | Planned | Metrics and alerting |
|
|
254
|
+
| **grafana** | grafana CLI | Planned | Visualization and dashboards |
|
|
255
|
+
| **newrelic** | newrelic-cli | Planned | Application monitoring |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Contributing a Plugin Harness
|
|
260
|
+
|
|
261
|
+
Want to create a plugin for your favorite CLI? Follow these steps:
|
|
262
|
+
|
|
263
|
+
1. **Review the Plugin Guide**: See [plugin-harness-guide.md](plugin-harness-guide.md)
|
|
264
|
+
2. **Create a Manifest**: Define your `plugin.json`
|
|
265
|
+
3. **Test Locally**: Use `supercli plugins install ./your-plugin`
|
|
266
|
+
4. **Publish**: Submit to the plugin registry via `supercli plugins publish`
|
|
267
|
+
|
|
268
|
+
For detailed instructions, see [plugin-harness-guide.md](plugin-harness-guide.md).
|
|
269
|
+
|
|
270
|
+
## Request a Harness
|
|
271
|
+
|
|
272
|
+
Missing a CLI you'd like to use with dcli? [Open an issue](https://github.com/anomalyco/dcli/issues) with:
|
|
273
|
+
- CLI name and link
|
|
274
|
+
- Use cases in your workflow
|
|
275
|
+
- Relevant commands/operations
|
|
276
|
+
|
|
277
|
+
Community members can create plugins for requested CLIs!
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# dcli visual overview
|
|
2
|
+
|
|
3
|
+
The architecture blueprint for dcli lives in the self-contained HTML artifact generated via the `visual-explainer` plugin.
|
|
4
|
+
|
|
5
|
+
- **File**: `~/.agent/diagrams/dcli-visual-architecture.html`
|
|
6
|
+
- **Open**: `xdg-open ~/.agent/diagrams/dcli-visual-architecture.html`
|
|
7
|
+
- **Source**: Created with `supercli skills get visual-explainer:visual-explainer.skill` guidance.
|
|
8
|
+
|
|
9
|
+
## What the HTML covers
|
|
10
|
+
|
|
11
|
+
1. **Skill routing pipeline** – Mermaid snapshot of `cli/supercli.js`, the skills catalog, plugin harness manager, server APIs, and adapters. Includes zoom, pan, and expand controls per the visual-explainer requirements.
|
|
12
|
+
2. **Runtime pillars** – Card grid summarizing the CLI runtime, catalog, plugin manager, and Express backend with file references such as `cli/plugins-manager.js` and `server/app.js`.
|
|
13
|
+
3. **Plugin & skill lifecycle** – Timeline of registry discovery → install → catalog sync → execution, tying back to commands like `supercli skills list --catalog`.
|
|
14
|
+
4. **Capability matrix** – HTML table comparing bundled harnesses, built-in adapters, remote providers, and the server API, highlighting when to use commands such as `supercli sync`.
|
|
15
|
+
5. **Operational cues** – Details blocks that document behaviors like plan building and storage fallbacks.
|
|
16
|
+
|
|
17
|
+
## Regenerating or extending
|
|
18
|
+
|
|
19
|
+
1. Ensure the `visual-explainer` provider is installed (`supercli plugins install visual-explainer`).
|
|
20
|
+
2. Re-open the reference templates (`visual-explainer:visual-explainer.templates.architecture`, `...templates.data-table`, etc.) to stay within the mandated aesthetics.
|
|
21
|
+
3. Update the HTML under `~/.agent/diagrams/` and refresh this markdown with any new sections you add. Keep this file as the only place in the repo that references the artifact’s path.
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
rootDir: ".",
|
|
3
|
+
testEnvironment: "node",
|
|
4
|
+
testTimeout: 15000,
|
|
5
|
+
collectCoverage: true,
|
|
6
|
+
coverageProvider: "v8",
|
|
7
|
+
collectCoverageFrom: [
|
|
8
|
+
"cli/**/*.js",
|
|
9
|
+
"server/**/*.js",
|
|
10
|
+
"!cli/supercli.js",
|
|
11
|
+
"!cli/plugin-agency-agents.js",
|
|
12
|
+
"!server/public/**"
|
|
13
|
+
],
|
|
14
|
+
testPathIgnorePatterns: ["/node_modules/", "/ref-btcbot/"],
|
|
15
|
+
coverageDirectory: "coverage",
|
|
16
|
+
coverageReporters: ["text", "lcov", "clover"],
|
|
17
|
+
coverageThreshold: {
|
|
18
|
+
global: {
|
|
19
|
+
branches: 10,
|
|
20
|
+
functions: 10,
|
|
21
|
+
lines: 10,
|
|
22
|
+
statements: 10
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superacli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Config-driven, AI-friendly dynamic CLI",
|
|
5
5
|
"main": "server/app.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"dcli": "./cli/supercli.js",
|
|
8
8
|
"scli": "./cli/supercli.js",
|
|
9
9
|
"superacli": "./cli/supercli.js",
|
|
10
|
-
"supercli": "./cli/supercli.js"
|
|
10
|
+
"supercli": "./cli/supercli.js",
|
|
11
|
+
"sc":"./cli/supercli.js"
|
|
11
12
|
},
|
|
12
13
|
"scripts": {
|
|
13
14
|
"start": "node server/app.js",
|
|
14
|
-
"dev": "node server/app.js"
|
|
15
|
+
"dev": "node server/app.js",
|
|
16
|
+
"test:unit": "jest --coverage --runInBand",
|
|
17
|
+
"test:unit:watch": "jest --watch"
|
|
15
18
|
},
|
|
16
19
|
"dependencies": {
|
|
17
20
|
"dotenv": "^17.3.1",
|
|
18
21
|
"ejs": "^3.1.9",
|
|
19
22
|
"express": "^4.18.2",
|
|
20
23
|
"mongodb": "^6.3.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"jest": "^30.2.0"
|
|
21
27
|
}
|
|
22
28
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agency-agents",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Remote skills index for msitarzewski/agency-agents",
|
|
5
|
+
"source": "https://github.com/msitarzewski/agency-agents",
|
|
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
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
const { spawnSync } = require("child_process")
|
|
2
|
+
const { addProvider, syncCatalog } = require("../../../cli/skills-catalog")
|
|
3
|
+
|
|
4
|
+
const OWNER = "msitarzewski"
|
|
5
|
+
const REPO = "agency-agents"
|
|
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 CATEGORY_PREFIXES = [
|
|
12
|
+
"design/",
|
|
13
|
+
"engineering/",
|
|
14
|
+
"marketing/",
|
|
15
|
+
"product/",
|
|
16
|
+
"project-management/",
|
|
17
|
+
"testing/",
|
|
18
|
+
"support/",
|
|
19
|
+
"spatial-computing/",
|
|
20
|
+
"specialized/"
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
function integrationError(message, suggestions = []) {
|
|
24
|
+
return Object.assign(new Error(message), {
|
|
25
|
+
code: 105,
|
|
26
|
+
type: "integration_error",
|
|
27
|
+
recoverable: true,
|
|
28
|
+
suggestions
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function fetchJson(url) {
|
|
33
|
+
const res = spawnSync("curl", ["-fsSL", url], { encoding: "utf-8", timeout: 15000 })
|
|
34
|
+
if (res.error) {
|
|
35
|
+
throw integrationError(`Failed to fetch agency-agents metadata: ${res.error.message}`, ["Check internet connectivity", "Retry: supercli plugins install agency-agents"])
|
|
36
|
+
}
|
|
37
|
+
if (res.status !== 0) {
|
|
38
|
+
throw integrationError(`Failed to fetch agency-agents metadata: ${(res.stderr || "").trim() || `exit ${res.status}`}`, ["Check internet connectivity", "Retry: supercli plugins install agency-agents"])
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
return JSON.parse((res.stdout || "").trim() || "{}")
|
|
42
|
+
} catch (err) {
|
|
43
|
+
throw integrationError(`Invalid agency-agents metadata response: ${err.message}`)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function toSkillId(filePath) {
|
|
48
|
+
return filePath.replace(/\.md$/, "").replace(/\//g, ".")
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function toSkillName(filePath) {
|
|
52
|
+
const base = filePath.split("/").pop() || filePath
|
|
53
|
+
return base
|
|
54
|
+
.replace(/\.md$/, "")
|
|
55
|
+
.split("-")
|
|
56
|
+
.map(part => (part ? part[0].toUpperCase() + part.slice(1) : part))
|
|
57
|
+
.join(" ")
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function isAgentFile(filePath) {
|
|
61
|
+
if (!filePath.endsWith(".md")) return false
|
|
62
|
+
if (filePath.endsWith("README.md")) return false
|
|
63
|
+
return CATEGORY_PREFIXES.some(prefix => filePath.startsWith(prefix))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function buildRemoteEntriesFromTree(treeResponse) {
|
|
67
|
+
const tree = Array.isArray(treeResponse.tree) ? treeResponse.tree : []
|
|
68
|
+
const entries = []
|
|
69
|
+
|
|
70
|
+
for (const node of tree) {
|
|
71
|
+
if (!node || node.type !== "blob" || typeof node.path !== "string") continue
|
|
72
|
+
if (!isAgentFile(node.path)) continue
|
|
73
|
+
entries.push({
|
|
74
|
+
id: toSkillId(node.path),
|
|
75
|
+
name: toSkillName(node.path),
|
|
76
|
+
path: node.path,
|
|
77
|
+
source_url: `${RAW_BASE_URL}/${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
|
+
if (entries.length === 0) {
|
|
89
|
+
throw integrationError("agency-agents plugin found no remote skill files to index")
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
addProvider({
|
|
93
|
+
name: "agency-agents",
|
|
94
|
+
type: "remote_static",
|
|
95
|
+
enabled: true,
|
|
96
|
+
source_repo: SOURCE_REPO,
|
|
97
|
+
ref: REF,
|
|
98
|
+
entries
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
const index = syncCatalog()
|
|
102
|
+
return {
|
|
103
|
+
provider: "agency-agents",
|
|
104
|
+
entries: entries.length,
|
|
105
|
+
synced_skills: Array.isArray(index.skills) ? index.skills.length : 0
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (require.main === module) {
|
|
110
|
+
try {
|
|
111
|
+
const result = run()
|
|
112
|
+
process.stdout.write(JSON.stringify(result))
|
|
113
|
+
} catch (err) {
|
|
114
|
+
process.stderr.write(err.message)
|
|
115
|
+
process.exit(1)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
module.exports = {
|
|
120
|
+
run,
|
|
121
|
+
buildRemoteEntriesFromTree
|
|
122
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# AWS CLI Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the AWS CLI into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Install AWS CLI with your preferred package manager, then verify it is available:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
aws --version
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Configure credentials before running account or service commands:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
aws configure
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Available Commands
|
|
20
|
+
|
|
21
|
+
### Account Identity (Wrapped)
|
|
22
|
+
|
|
23
|
+
Returns the active caller identity via `aws sts get-caller-identity`.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dcli aws account identity --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Full Passthrough
|
|
30
|
+
|
|
31
|
+
You can run any AWS CLI command through the `aws` namespace.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# List S3 buckets
|
|
35
|
+
dcli aws s3api list-buckets
|
|
36
|
+
|
|
37
|
+
# List EC2 regions
|
|
38
|
+
dcli aws ec2 describe-regions
|
|
39
|
+
|
|
40
|
+
# Show CLI help
|
|
41
|
+
dcli aws --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": "aws",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AWS CLI plugin for dcli",
|
|
5
|
+
"source": "https://docs.aws.amazon.com/cli/latest/reference/",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "aws"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "aws",
|
|
15
|
+
"resource": "account",
|
|
16
|
+
"action": "identity",
|
|
17
|
+
"description": "Show AWS caller identity for the active credentials",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "aws",
|
|
21
|
+
"baseArgs": ["sts", "get-caller-identity"],
|
|
22
|
+
"parseJson": true,
|
|
23
|
+
"missingDependencyHelp": "Please install AWS CLI to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "aws",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any AWS CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "aws",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install AWS CLI to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Azure CLI Plugin Harness
|
|
2
|
+
|
|
3
|
+
This plugin integrates the Azure CLI (`az`) into dcli with one wrapped core command and full namespace passthrough.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Install Azure CLI with your preferred package manager, then verify it is available:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
az version
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Authenticate before running account or resource commands:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
az login
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Available Commands
|
|
20
|
+
|
|
21
|
+
### Account Show (Wrapped)
|
|
22
|
+
|
|
23
|
+
Returns the active Azure subscription via `az account show`.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dcli az account show --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Full Passthrough
|
|
30
|
+
|
|
31
|
+
You can run any Azure CLI command through the `az` namespace.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# List subscriptions
|
|
35
|
+
dcli az account list
|
|
36
|
+
|
|
37
|
+
# List resource groups
|
|
38
|
+
dcli az group list
|
|
39
|
+
|
|
40
|
+
# Show CLI help
|
|
41
|
+
dcli az --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": "az",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Azure CLI plugin for dcli",
|
|
5
|
+
"source": "https://learn.microsoft.com/cli/azure/",
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "binary",
|
|
9
|
+
"name": "az"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"namespace": "az",
|
|
15
|
+
"resource": "account",
|
|
16
|
+
"action": "show",
|
|
17
|
+
"description": "Show the active Azure subscription",
|
|
18
|
+
"adapter": "process",
|
|
19
|
+
"adapterConfig": {
|
|
20
|
+
"command": "az",
|
|
21
|
+
"baseArgs": ["account", "show"],
|
|
22
|
+
"parseJson": true,
|
|
23
|
+
"missingDependencyHelp": "Please install Azure CLI to use this command."
|
|
24
|
+
},
|
|
25
|
+
"args": []
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"namespace": "az",
|
|
29
|
+
"resource": "_",
|
|
30
|
+
"action": "_",
|
|
31
|
+
"description": "Passthrough command to execute any Azure CLI command",
|
|
32
|
+
"adapter": "process",
|
|
33
|
+
"adapterConfig": {
|
|
34
|
+
"command": "az",
|
|
35
|
+
"passthrough": true,
|
|
36
|
+
"parseJson": true,
|
|
37
|
+
"missingDependencyHelp": "Please install Azure CLI to use this command."
|
|
38
|
+
},
|
|
39
|
+
"args": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|