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