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,320 @@
1
+ const PLUGIN_INSTALL_GUIDANCE = {
2
+ beads: {
3
+ plugin: "beads",
4
+ binary: "br",
5
+ check: "br --version",
6
+ install_steps: [
7
+ "curl -fsSL \"https://raw.githubusercontent.com/Dicklesworthstone/beads_rust/main/install.sh?$(date +%s)\" | bash",
8
+ "br --version"
9
+ ],
10
+ note: "Installation is intentionally delegated to your LLM/automation flow (dcli/scli/supercli)."
11
+ },
12
+ gwc: {
13
+ plugin: "gwc",
14
+ binary: "gws",
15
+ check: "gws --version",
16
+ install_steps: [
17
+ "npm install -g @googleworkspace/cli",
18
+ "gws --version"
19
+ ],
20
+ note: "Installation is intentionally delegated to your LLM/automation flow (dcli/scli/supercli)."
21
+ },
22
+ commiat: {
23
+ plugin: "commiat",
24
+ binary: "commiat",
25
+ check: "commiat --version",
26
+ install_steps: [
27
+ "npm install -g commiat",
28
+ "commiat --version"
29
+ ],
30
+ note: "Installation is intentionally delegated to your LLM/automation flow (dcli/scli/supercli)."
31
+ },
32
+ docker: {
33
+ plugin: "docker",
34
+ binary: "docker",
35
+ check: "docker --version",
36
+ install_steps: [
37
+ "docker --version"
38
+ ],
39
+ note: "Install Docker Engine/Desktop using your OS package manager, then verify with docker --version."
40
+ },
41
+ stripe: {
42
+ plugin: "stripe",
43
+ binary: "stripe",
44
+ check: "stripe --version",
45
+ install_steps: [
46
+ "brew install stripe/stripe-cli/stripe",
47
+ "stripe --version",
48
+ "stripe login"
49
+ ],
50
+ note: "Install Stripe CLI and authenticate with stripe login before running API commands."
51
+ },
52
+ vercel: {
53
+ plugin: "vercel",
54
+ binary: "vercel",
55
+ check: "vercel --version",
56
+ install_steps: [
57
+ "npm install -g vercel",
58
+ "vercel --version",
59
+ "vercel login"
60
+ ],
61
+ note: "Install Vercel CLI and authenticate with vercel login before running account or project commands."
62
+ },
63
+ linear: {
64
+ plugin: "linear",
65
+ binary: "linear",
66
+ check: "linear --version",
67
+ install_steps: [
68
+ "npm install -g @schpet/linear-cli",
69
+ "npm install -D @schpet/linear-cli",
70
+ "linear --version",
71
+ "linear auth login"
72
+ ],
73
+ note: "Targets community package @schpet/linear-cli; if installed locally, invoke via npx --no-install linear."
74
+ },
75
+ railway: {
76
+ plugin: "railway",
77
+ binary: "railway",
78
+ check: "railway --version",
79
+ install_steps: [
80
+ "npm install -g @railway/cli",
81
+ "npm install -D @railway/cli",
82
+ "railway --version",
83
+ "railway login"
84
+ ],
85
+ note: "If installed locally, use npx --no-install railway and ensure node_modules/.bin is in PATH for dcli plugin execution."
86
+ },
87
+ supabase: {
88
+ plugin: "supabase",
89
+ binary: "supabase",
90
+ check: "supabase --version",
91
+ install_steps: [
92
+ "npm install -g supabase",
93
+ "npm install -D supabase",
94
+ "supabase --version",
95
+ "supabase login"
96
+ ],
97
+ note: "If installed locally, use npx --no-install supabase and ensure node_modules/.bin is in PATH for dcli plugin execution."
98
+ },
99
+ gh: {
100
+ plugin: "gh",
101
+ binary: "gh",
102
+ check: "gh --version",
103
+ install_steps: [
104
+ "gh --version",
105
+ "gh auth login"
106
+ ],
107
+ note: "Install GitHub CLI with your platform package manager and authenticate with gh auth login before using account or repo commands."
108
+ },
109
+ kubectl: {
110
+ plugin: "kubectl",
111
+ binary: "kubectl",
112
+ check: "kubectl version --client",
113
+ install_steps: [
114
+ "kubectl version --client",
115
+ "kubectl config current-context"
116
+ ],
117
+ note: "Install kubectl with your platform package manager and ensure your kubeconfig is already configured before using cluster commands."
118
+ },
119
+ terraform: {
120
+ plugin: "terraform",
121
+ binary: "terraform",
122
+ check: "terraform version -json",
123
+ install_steps: [
124
+ "terraform version -json",
125
+ "terraform init"
126
+ ],
127
+ note: "Install Terraform with your platform package manager. For state-dependent commands, run inside an initialized Terraform working directory."
128
+ },
129
+ aws: {
130
+ plugin: "aws",
131
+ binary: "aws",
132
+ check: "aws --version",
133
+ install_steps: [
134
+ "aws --version",
135
+ "aws configure"
136
+ ],
137
+ note: "Install AWS CLI with your platform package manager and configure credentials before using account or service commands."
138
+ },
139
+ gcloud: {
140
+ plugin: "gcloud",
141
+ binary: "gcloud",
142
+ check: "gcloud --version",
143
+ install_steps: [
144
+ "gcloud --version",
145
+ "gcloud auth login"
146
+ ],
147
+ note: "Install Google Cloud CLI with your platform package manager and authenticate with gcloud auth login before using account or project commands."
148
+ },
149
+ az: {
150
+ plugin: "az",
151
+ binary: "az",
152
+ check: "az version",
153
+ install_steps: [
154
+ "az version",
155
+ "az login"
156
+ ],
157
+ note: "Install Azure CLI with your platform package manager and authenticate with az login before using account or resource commands."
158
+ },
159
+ helm: {
160
+ plugin: "helm",
161
+ binary: "helm",
162
+ check: "helm version --short",
163
+ install_steps: [
164
+ "helm version --short",
165
+ "kubectl config current-context"
166
+ ],
167
+ note: "Install Helm with your platform package manager. For release and cluster-backed commands, ensure your Kubernetes context is already configured."
168
+ },
169
+ npm: {
170
+ plugin: "npm",
171
+ binary: "npm",
172
+ check: "npm --version",
173
+ install_steps: [
174
+ "npm --version",
175
+ "npm login"
176
+ ],
177
+ note: "npm is usually installed with Node.js. Run npm login only if you need authenticated registry operations."
178
+ },
179
+ pulumi: {
180
+ plugin: "pulumi",
181
+ binary: "pulumi",
182
+ check: "pulumi version",
183
+ install_steps: [
184
+ "pulumi version",
185
+ "pulumi login"
186
+ ],
187
+ note: "Install Pulumi with your platform package manager and authenticate with pulumi login before using stack or cloud-backed commands."
188
+ },
189
+ pnpm: {
190
+ plugin: "pnpm",
191
+ binary: "pnpm",
192
+ check: "pnpm --version",
193
+ install_steps: [
194
+ "pnpm --version",
195
+ "pnpm login"
196
+ ],
197
+ note: "Install pnpm with your platform package manager or via corepack. Run pnpm login only if you need authenticated registry operations."
198
+ },
199
+ uv: {
200
+ plugin: "uv",
201
+ binary: "uv",
202
+ check: "uv --version",
203
+ install_steps: [
204
+ "curl -LsSf https://astral.sh/uv/install.sh | sh",
205
+ "uv --version"
206
+ ],
207
+ note: "Install uv with the official installer or your platform package manager. Run uv auth login only if you need private index authentication."
208
+ },
209
+ poetry: {
210
+ plugin: "poetry",
211
+ binary: "poetry",
212
+ check: "poetry --version",
213
+ install_steps: [
214
+ "curl -sSL https://install.python-poetry.org | python3 -",
215
+ "poetry --version"
216
+ ],
217
+ note: "Install Poetry with the official installer or pipx. Configure repository credentials only if you need private package publishing or installs."
218
+ },
219
+ eza: {
220
+ plugin: "eza",
221
+ binary: "eza",
222
+ check: "eza --version",
223
+ install_steps: [
224
+ "cargo install eza",
225
+ "eza --version"
226
+ ],
227
+ note: "Install eza with your platform package manager or cargo. It is a non-interactive ls replacement, so no login or account setup is required."
228
+ },
229
+ just: {
230
+ plugin: "just",
231
+ binary: "just",
232
+ check: "just --version",
233
+ install_steps: [
234
+ "cargo install just",
235
+ "just --version"
236
+ ],
237
+ note: "Install just with your platform package manager or cargo. Most useful commands operate on a nearby justfile, but help and version commands work anywhere."
238
+ },
239
+ watchexec: {
240
+ plugin: "watchexec",
241
+ binary: "watchexec",
242
+ check: "watchexec --version",
243
+ install_steps: [
244
+ "cargo install --locked watchexec-cli",
245
+ "watchexec --version"
246
+ ],
247
+ note: "Install watchexec with your platform package manager, cargo binstall, or cargo. It is non-interactive and works well for scripted file-watching workflows."
248
+ },
249
+ nextest: {
250
+ plugin: "nextest",
251
+ binary: "cargo-nextest",
252
+ check: "cargo-nextest --version",
253
+ install_steps: [
254
+ "cargo install cargo-nextest --locked",
255
+ "cargo-nextest --version"
256
+ ],
257
+ note: "Install cargo-nextest with prebuilt binaries or cargo. Most commands are intended for Rust workspaces, but version and help commands work anywhere."
258
+ },
259
+ cline: {
260
+ plugin: "cline",
261
+ binary: "cline",
262
+ check: "cline --version",
263
+ install_steps: [
264
+ "npm install -g cline",
265
+ "cline --version",
266
+ "supercli plugins install cline",
267
+ "supercli cline cli version --json",
268
+ "supercli cline task run --prompt \"List files with more LOC in cwd\" --cwd . --timeout 30 --json",
269
+ "supercli skills sync --json",
270
+ "supercli skills get repo:cline-non-interactive"
271
+ ],
272
+ note: "Prefer the wrapped cline task run/plan commands for unattended automation. They bake in documented non-interactive defaults with JSON streaming support and are easier for agents to parse than raw passthrough."
273
+ },
274
+ nullclaw: {
275
+ plugin: "nullclaw",
276
+ binary: "nullclaw",
277
+ check: "nullclaw --version",
278
+ install_steps: [
279
+ "supercli plugins install nullclaw",
280
+ "curl --version",
281
+ "brew install nullclaw",
282
+ "nullclaw --version",
283
+ "supercli skills list --catalog --provider nullclaw --json",
284
+ "supercli skills get nullclaw:root.agents",
285
+ "supercli nullclaw cli version --json",
286
+ "supercli nullclaw system status --json"
287
+ ],
288
+ note: "This hybrid plugin indexes remote NullClaw docs into the local skills catalog and exposes the local nullclaw binary through wrapped commands plus passthrough. curl is required for remote doc retrieval."
289
+ },
290
+ "agency-agents": {
291
+ plugin: "agency-agents",
292
+ binary: "curl",
293
+ check: "curl --version",
294
+ install_steps: [
295
+ "supercli plugins install agency-agents",
296
+ "supercli skills list --catalog --provider agency-agents --json",
297
+ "supercli skills get agency-agents:engineering.engineering-frontend-developer"
298
+ ],
299
+ note: "Install indexes remote markdown skills from https://github.com/msitarzewski/agency-agents (best effort, upstream paths may change)."
300
+ },
301
+ "visual-explainer": {
302
+ plugin: "visual-explainer",
303
+ binary: "curl",
304
+ check: "curl --version",
305
+ install_steps: [
306
+ "supercli plugins install visual-explainer",
307
+ "supercli skills list --catalog --provider visual-explainer --json",
308
+ "supercli skills get visual-explainer:visual-explainer.skill"
309
+ ],
310
+ note: "Install indexes normalized markdown skills from https://github.com/javimosch/visual-explainer (plugins/visual-explainer-normalized)."
311
+ }
312
+ }
313
+
314
+ function getPluginInstallGuidance(name) {
315
+ return PLUGIN_INSTALL_GUIDANCE[name] || null
316
+ }
317
+
318
+ module.exports = {
319
+ getPluginInstallGuidance
320
+ }
@@ -0,0 +1,138 @@
1
+ const {
2
+ installPlugin,
3
+ removePlugin,
4
+ getPlugin,
5
+ listInstalledPlugins,
6
+ getPluginInstallGuidance,
7
+ doctorPlugin,
8
+ doctorAllPlugins
9
+ } = require("./plugins-manager")
10
+ const { listRegistryPlugins } = require("./plugins-registry")
11
+ const { loadConfig } = require("./config")
12
+
13
+ async function handlePluginsCommand(options) {
14
+ const { positional, flags, humanMode, output, outputHumanTable, outputError } = options
15
+ const subcommand = positional[1]
16
+
17
+ if (subcommand === "list") {
18
+ const plugins = listInstalledPlugins().map(p => ({
19
+ name: p.name,
20
+ version: p.version,
21
+ commands: (p.commands || []).length,
22
+ description: p.description || ""
23
+ }))
24
+ if (humanMode) {
25
+ console.log("\n ⚡ Plugins\n")
26
+ outputHumanTable(plugins, [
27
+ { key: "name", label: "Name" },
28
+ { key: "version", label: "Version" },
29
+ { key: "commands", label: "Commands" },
30
+ { key: "description", label: "Description" }
31
+ ])
32
+ console.log("")
33
+ } else {
34
+ output({ plugins })
35
+ }
36
+ return true
37
+ }
38
+
39
+ if (subcommand === "install") {
40
+ const ref = positional[2]
41
+ const gitRepo = flags.git
42
+ const manifestPath = flags["manifest-path"]
43
+ const gitRef = flags.ref
44
+
45
+ if (!ref && !gitRepo) {
46
+ outputError({
47
+ code: 85,
48
+ type: "invalid_argument",
49
+ message: "Usage: dcli plugins install <name|path> [--on-conflict fail|skip|replace] OR dcli plugins install --git <repo> --manifest-path <path> [--ref <ref>]",
50
+ recoverable: false
51
+ })
52
+ return true
53
+ }
54
+ const config = await loadConfig()
55
+ const result = installPlugin(ref || "(git)", {
56
+ onConflict: flags["on-conflict"] || "fail",
57
+ currentCommands: config.commands || [],
58
+ git: gitRepo,
59
+ manifestPath,
60
+ ref: gitRef
61
+ })
62
+ const guidance = getPluginInstallGuidance(result.plugin)
63
+ output({ ok: true, ...result, install_guidance: guidance })
64
+ return true
65
+ }
66
+
67
+ if (subcommand === "explore") {
68
+ const tags = String(flags.tags || "")
69
+ .split(",")
70
+ .map(t => t.trim())
71
+ .filter(Boolean)
72
+ const name = flags.name ? String(flags.name).trim() : ""
73
+ const plugins = listRegistryPlugins({ name, tags }).map(p => ({
74
+ name: p.name,
75
+ description: p.description,
76
+ tags: p.tags,
77
+ source_type: (p.source && p.source.type) || "bundled",
78
+ source_repo: p.source && p.source.repo ? p.source.repo : ""
79
+ }))
80
+
81
+ if (humanMode) {
82
+ console.log("\n ⚡ Plugin Registry\n")
83
+ outputHumanTable(plugins, [
84
+ { key: "name", label: "Name" },
85
+ { key: "source_type", label: "Source" },
86
+ { key: "tags", label: "Tags" },
87
+ { key: "description", label: "Description" }
88
+ ])
89
+ console.log("")
90
+ } else {
91
+ output({
92
+ plugins,
93
+ filters: {
94
+ name: name || null,
95
+ tags
96
+ }
97
+ })
98
+ }
99
+ return true
100
+ }
101
+
102
+ if (subcommand === "remove") {
103
+ const name = positional[2]
104
+ if (!name) {
105
+ outputError({ code: 85, type: "invalid_argument", message: "Usage: dcli plugins remove <name>", recoverable: false })
106
+ return true
107
+ }
108
+ output({ ok: true, removed: removePlugin(name) })
109
+ return true
110
+ }
111
+
112
+ if (subcommand === "show") {
113
+ const name = positional[2]
114
+ if (!name) {
115
+ outputError({ code: 85, type: "invalid_argument", message: "Usage: dcli plugins show <name>", recoverable: false })
116
+ return true
117
+ }
118
+ const plugin = getPlugin(name)
119
+ if (!plugin) {
120
+ outputError({ code: 92, type: "resource_not_found", message: `Plugin '${name}' is not installed`, suggestions: ["Run: dcli plugins list"] })
121
+ return true
122
+ }
123
+ output({ plugin, install_guidance: getPluginInstallGuidance(name) })
124
+ return true
125
+ }
126
+
127
+ if (subcommand === "doctor") {
128
+ const name = positional[2]
129
+ const report = name ? doctorPlugin(name) : doctorAllPlugins()
130
+ output(report)
131
+ return true
132
+ }
133
+
134
+ outputError({ code: 85, type: "invalid_argument", message: "Unknown plugins subcommand. Use: list, explore, install, remove, show, doctor", recoverable: false })
135
+ return true
136
+ }
137
+
138
+ module.exports = { handlePluginsCommand }