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,452 @@
1
+ # Plugin Harness Development Guide
2
+
3
+ Learn how to create plugin harnesses that turn any CLI into a dcli harness.
4
+
5
+ ## What is a Plugin Harness?
6
+
7
+ A **plugin harness** bridges dcli to an external CLI tool. It allows dcli to:
8
+ - Discover and route commands to the external CLI
9
+ - Expose the CLI's functionality through dcli's unified interface
10
+ - Provide consistent output formatting and error handling
11
+ - Integrate AI-driven skill discovery across all harnesses
12
+
13
+ ## Anatomy of a Plugin Harness
14
+
15
+ Every plugin harness consists of:
16
+
17
+ 1. **plugin.json** — Manifest defining metadata and commands
18
+ 2. **Optional**: Custom adapter code (for complex logic)
19
+ 3. **Optional**: Documentation and examples
20
+
21
+ ### Minimal Plugin Structure
22
+
23
+ ```
24
+ my-plugin/
25
+ ├── plugin.json # Required: manifest
26
+ ├── README.md # Optional: plugin documentation
27
+ └── examples/ # Optional: example usage
28
+ └── example.sh
29
+ ```
30
+
31
+ ## plugin.json Manifest
32
+
33
+ The `plugin.json` file is the core of your harness. It describes:
34
+ - Plugin metadata (name, version, description)
35
+ - External CLI requirements (binary checks)
36
+ - Available commands and their routing
37
+
38
+ ### Manifest Structure
39
+
40
+ ```json
41
+ {
42
+ "name": "my-cli-harness",
43
+ "version": "0.1.0",
44
+ "description": "Wrap my-cli with dcli integration",
45
+ "source": "https://github.com/user/my-cli",
46
+ "checks": [
47
+ { "type": "binary", "name": "my-cli" }
48
+ ],
49
+ "commands": [
50
+ {
51
+ "namespace": "my-cli",
52
+ "resource": "resource-name",
53
+ "action": "action-name",
54
+ "description": "What this command does",
55
+ "adapter": "process",
56
+ "adapterConfig": { ... },
57
+ "args": [ ... ]
58
+ }
59
+ ]
60
+ }
61
+ ```
62
+
63
+ ### Plugin Metadata
64
+
65
+ ```json
66
+ {
67
+ "name": "beads", // Unique plugin identifier
68
+ "version": "0.1.0", // Semantic versioning
69
+ "description": "...", // Short description
70
+ "source": "https://...", // Link to upstream CLI
71
+ "tags": ["task", "automation"], // Optional: discovery tags
72
+ "author": "Your Name" // Optional: plugin author
73
+ }
74
+ ```
75
+
76
+ ### Dependency Checks
77
+
78
+ ```json
79
+ "checks": [
80
+ {
81
+ "type": "binary",
82
+ "name": "br", // Binary name to check
83
+ "version": ">=1.0.0" // Optional: minimum version
84
+ }
85
+ ]
86
+ ```
87
+
88
+ ## Command Definitions
89
+
90
+ Each command maps dcli routing to CLI execution.
91
+
92
+ ### Wrapped Commands (Selective Routing)
93
+
94
+ Use for CLIs where you want to expose specific commands:
95
+
96
+ ```json
97
+ {
98
+ "namespace": "beads",
99
+ "resource": "issue",
100
+ "action": "create",
101
+ "description": "Create a beads issue",
102
+ "adapter": "process",
103
+ "adapterConfig": {
104
+ "command": "br", // Binary to execute
105
+ "baseArgs": ["create"], // Base command arguments
106
+ "positionalArgs": ["title"],// Map dcli args to CLI positional args
107
+ "jsonFlag": "--json", // Flag for JSON output
108
+ "parseJson": true, // Parse CLI output as JSON
109
+ "timeout_ms": 5000, // Execution timeout
110
+ "missingDependencyHelp": "Run: supercli beads install steps"
111
+ },
112
+ "args": [
113
+ {
114
+ "name": "title",
115
+ "type": "string",
116
+ "required": true,
117
+ "description": "Issue title"
118
+ },
119
+ {
120
+ "name": "priority",
121
+ "type": "integer",
122
+ "required": false,
123
+ "description": "Priority level (0-4)"
124
+ }
125
+ ]
126
+ }
127
+ ```
128
+
129
+ ### Passthrough Commands (Full CLI Access)
130
+
131
+ Use for CLIs where you want full access to all functionality:
132
+
133
+ ```json
134
+ {
135
+ "namespace": "gwc",
136
+ "resource": "_", // Wildcard namespace/resource
137
+ "action": "_", // Wildcard action
138
+ "description": "Passthrough to gws CLI",
139
+ "adapter": "process",
140
+ "adapterConfig": {
141
+ "command": "gws", // Binary to execute
142
+ "passthrough": true, // Enable full passthrough mode
143
+ "parseJson": true, // Parse CLI output
144
+ "timeout_ms": 15000, // Longer timeout for complex operations
145
+ "missingDependencyHelp": "Run: supercli gwc install steps"
146
+ },
147
+ "args": [] // No mapped args (passthrough)
148
+ }
149
+ ```
150
+
151
+ ## Adapter Configuration
152
+
153
+ ### process Adapter
154
+
155
+ The most common adapter. Executes an external CLI binary.
156
+
157
+ **Configuration Options**:
158
+
159
+ | Key | Type | Description |
160
+ |-----|------|-------------|
161
+ | `command` | string | Binary name to execute (must be in PATH) |
162
+ | `baseArgs` | string[] | Default arguments (e.g., `["create"]`) |
163
+ | `positionalArgs` | string[] | Map dcli args to CLI positional args |
164
+ | `optionalArgs` | object | Map dcli flag args to CLI flags |
165
+ | `jsonFlag` | string | Flag for JSON output (e.g., `--json`) |
166
+ | `parseJson` | boolean | Parse CLI output as JSON (default: false) |
167
+ | `passthrough` | boolean | Pass all args directly to CLI (default: false) |
168
+ | `timeout_ms` | number | Execution timeout in milliseconds |
169
+ | `missingDependencyHelp` | string | Message if binary not found |
170
+
171
+ ### builtin Adapter
172
+
173
+ For dcli-specific functionality (e.g., showing installation steps).
174
+
175
+ ```json
176
+ {
177
+ "adapter": "builtin",
178
+ "adapterConfig": {
179
+ "builtin": "beads_install_steps" // Builtin handler key
180
+ }
181
+ }
182
+ ```
183
+
184
+ ## Argument Mapping
185
+
186
+ ### Positional Arguments
187
+
188
+ ```json
189
+ "adapterConfig": {
190
+ "command": "my-cli",
191
+ "baseArgs": ["cmd"],
192
+ "positionalArgs": ["name", "email"] // First arg -> name, second -> email
193
+ }
194
+ ```
195
+
196
+ Usage:
197
+ ```bash
198
+ supercli my-cli resource action myname myemail@example.com
199
+ ```
200
+
201
+ Maps to: `my-cli cmd myname myemail@example.com`
202
+
203
+ ### Optional Arguments (Flags)
204
+
205
+ ```json
206
+ "adapterConfig": {
207
+ "command": "my-cli",
208
+ "baseArgs": ["cmd"],
209
+ "optionalArgs": {
210
+ "priority": "--priority", // dcli --priority maps to --priority
211
+ "json": "--json" // dcli --json maps to --json
212
+ }
213
+ }
214
+ ```
215
+
216
+ Usage:
217
+ ```bash
218
+ supercli my-cli resource action --priority high --json
219
+ ```
220
+
221
+ Maps to: `my-cli cmd --priority high --json`
222
+
223
+ ## Real-World Examples
224
+
225
+ ### Example 1: beads Plugin (Wrapped Commands)
226
+
227
+ ```json
228
+ {
229
+ "name": "beads",
230
+ "version": "0.1.0",
231
+ "description": "Wrap beads_rust (br) issue tracking commands",
232
+ "source": "https://github.com/Dicklesworthstone/beads_rust",
233
+ "checks": [
234
+ { "type": "binary", "name": "br" }
235
+ ],
236
+ "commands": [
237
+ {
238
+ "namespace": "beads",
239
+ "resource": "issue",
240
+ "action": "create",
241
+ "description": "Create a beads issue",
242
+ "adapter": "process",
243
+ "adapterConfig": {
244
+ "command": "br",
245
+ "baseArgs": ["create"],
246
+ "positionalArgs": ["title"],
247
+ "jsonFlag": "--json",
248
+ "parseJson": true,
249
+ "missingDependencyHelp": "Run: supercli beads install steps"
250
+ },
251
+ "args": [
252
+ { "name": "title", "type": "string", "required": true },
253
+ { "name": "priority", "type": "integer", "required": false }
254
+ ]
255
+ },
256
+ {
257
+ "namespace": "beads",
258
+ "resource": "issue",
259
+ "action": "list",
260
+ "description": "List beads issues",
261
+ "adapter": "process",
262
+ "adapterConfig": {
263
+ "command": "br",
264
+ "baseArgs": ["list"],
265
+ "jsonFlag": "--json",
266
+ "parseJson": true,
267
+ "missingDependencyHelp": "Run: supercli beads install steps"
268
+ },
269
+ "args": [
270
+ { "name": "status", "type": "string", "required": false },
271
+ { "name": "priority", "type": "string", "required": false }
272
+ ]
273
+ }
274
+ ]
275
+ }
276
+ ```
277
+
278
+ ### Example 2: gwc Plugin (Passthrough)
279
+
280
+ ```json
281
+ {
282
+ "name": "gwc",
283
+ "version": "0.1.0",
284
+ "description": "Wrap Google Workspace CLI (gws) with passthrough support",
285
+ "source": "https://github.com/googleworkspace/cli",
286
+ "checks": [
287
+ { "type": "binary", "name": "gws" }
288
+ ],
289
+ "commands": [
290
+ {
291
+ "namespace": "gwc",
292
+ "resource": "_",
293
+ "action": "_",
294
+ "description": "Passthrough to gws CLI",
295
+ "adapter": "process",
296
+ "adapterConfig": {
297
+ "command": "gws",
298
+ "passthrough": true,
299
+ "parseJson": true,
300
+ "timeout_ms": 15000,
301
+ "missingDependencyHelp": "Run: supercli gwc install steps"
302
+ },
303
+ "args": []
304
+ }
305
+ ]
306
+ }
307
+ ```
308
+
309
+ ## Testing Your Plugin
310
+
311
+ ### Local Installation
312
+
313
+ ```bash
314
+ # Install from local directory
315
+ supercli plugins install ./path/to/my-plugin
316
+
317
+ # Test a command
318
+ supercli my-plugin resource action --arg value
319
+
320
+ # Show plugin info
321
+ supercli plugins show my-plugin
322
+
323
+ # Check plugin health
324
+ supercli plugins doctor my-plugin
325
+ ```
326
+
327
+ ### Validation
328
+
329
+ ```bash
330
+ # Check syntax of plugin.json
331
+ cat plugins/my-plugin/plugin.json | jq .
332
+
333
+ # Verify binary detection
334
+ which my-cli
335
+ ```
336
+
337
+ ### Debugging
338
+
339
+ ```bash
340
+ # Verbose output
341
+ supercli my-plugin resource action --verbose
342
+
343
+ # See command details
344
+ supercli inspect my-plugin resource action
345
+
346
+ # Show generated command before execution
347
+ supercli plan my-plugin resource action --args
348
+ ```
349
+
350
+ ## Publishing Your Plugin
351
+
352
+ Once your plugin is tested and working:
353
+
354
+ 1. **Create a GitHub repository** with your plugin code
355
+ 2. **Structure it properly**:
356
+ ```
357
+ my-plugin-harness/
358
+ ├── plugin.json
359
+ ├── README.md
360
+ ├── LICENSE
361
+ └── examples/
362
+ ```
363
+
364
+ 3. **Publish to registry**:
365
+ ```bash
366
+ supercli plugins publish ./my-plugin-harness
367
+ ```
368
+
369
+ 4. **Community members can install**:
370
+ ```bash
371
+ supercli plugins install --git https://github.com/user/my-plugin-harness.git
372
+ # Or once in registry:
373
+ supercli plugins install my-plugin-harness
374
+ ```
375
+
376
+ ## Best Practices
377
+
378
+ ### Plugin Design
379
+
380
+ - **Be selective with wrapped commands**: Only expose stable, frequently-used commands
381
+ - **Use passthrough for flexibility**: If the CLI is stable, passthrough is often better
382
+ - **Provide clear descriptions**: Help users understand what each command does
383
+ - **Include dependency checks**: Always verify the external CLI is installed
384
+ - **Set appropriate timeouts**: Long-running operations may need extended timeouts
385
+
386
+ ### Output Handling
387
+
388
+ - **Prefer JSON output**: Use `jsonFlag` and `parseJson: true` for structured data
389
+ - **Document output schema**: Help users understand the response format
390
+ - **Handle errors gracefully**: Map CLI exit codes to dcli exit codes
391
+ - **Provide helpful error messages**: Use `missingDependencyHelp` to guide installation
392
+
393
+ ### Argument Design
394
+
395
+ - **Keep argument names simple**: Use lowercase, hyphenated names
396
+ - **Document constraints**: Specify required vs. optional arguments
397
+ - **Type arguments correctly**: Use string, integer, boolean, etc.
398
+ - **Provide examples**: Show common usage patterns in docs
399
+
400
+ ### Documentation
401
+
402
+ - **Write a clear README**: Explain what the plugin does and how to use it
403
+ - **Include examples**: Show real-world usage patterns
404
+ - **Link to upstream CLI**: Help users learn more about the tool
405
+ - **Add install instructions**: Make it easy to get started
406
+
407
+ ## Troubleshooting
408
+
409
+ ### Plugin Not Loading
410
+
411
+ ```bash
412
+ # Check syntax
413
+ jq . plugin.json
414
+
415
+ # Verify binary is installed
416
+ which my-cli
417
+
418
+ # Check plugin directory
419
+ supercli plugins show my-plugin
420
+ ```
421
+
422
+ ### Command Execution Failing
423
+
424
+ ```bash
425
+ # Test the binary directly
426
+ my-cli cmd arg
427
+
428
+ # Run with verbose output
429
+ supercli my-plugin resource action --verbose
430
+
431
+ # Check timeout isn't too short
432
+ # Increase timeout_ms in adapterConfig
433
+ ```
434
+
435
+ ### Argument Mapping Issues
436
+
437
+ ```bash
438
+ # See generated command plan
439
+ supercli plan my-plugin resource action --arg value
440
+
441
+ # Test arg parsing
442
+ supercli inspect my-plugin resource action
443
+ ```
444
+
445
+ ## Contributing to dcli
446
+
447
+ Have a plugin you'd like to share? Consider:
448
+ 1. Creating a quality, well-documented plugin
449
+ 2. Opening a discussion in the dcli community
450
+ 3. Submitting your plugin for inclusion in the built-in registry
451
+
452
+ See [CONTRIBUTING.md](../CONTRIBUTING.md) for details.
@@ -0,0 +1,44 @@
1
+ # Plugins
2
+
3
+ DCLI supports plugin discovery through the registry file at `plugins/plugins.json`.
4
+
5
+ Plugin owners can submit PRs that add or update metadata in this registry:
6
+
7
+ - `name`
8
+ - `description`
9
+ - `tags`
10
+ - `source` (`bundled` path or remote `git` repo + manifest path)
11
+
12
+ ## Plugin Commands
13
+
14
+ ```bash
15
+ dcli plugins list
16
+ dcli plugins explore
17
+ dcli plugins explore --name commiat
18
+ dcli plugins explore --tags git,ai
19
+ dcli plugins install <plugin-name>
20
+ dcli plugins install --git https://github.com/org/repo.git --manifest-path plugins/supercli/plugin.json --ref main
21
+ dcli plugins show <plugin-name>
22
+ dcli plugins doctor
23
+ dcli plugins doctor <plugin-name>
24
+ dcli plugins remove <plugin-name>
25
+ ```
26
+
27
+ Install conflict policy:
28
+
29
+ ```bash
30
+ dcli plugins install <plugin-name> --on-conflict fail
31
+ dcli plugins install <plugin-name> --on-conflict skip
32
+ dcli plugins install <plugin-name> --on-conflict replace
33
+ ```
34
+
35
+ Default is `fail`.
36
+
37
+ ## Notes
38
+
39
+ - `plugins list` shows installed plugins.
40
+ - `plugins explore` shows discoverable plugins from `plugins/plugins.json`.
41
+ - `plugins install` supports local path, registry name, and direct remote git manifest installs.
42
+ - Plugin manifests can define `post_install` hooks (`script`, optional `runtime`, optional `timeout_ms`) that execute from the plugin folder after install.
43
+ - `agency-agents` is a bundled zero-command plugin. Installing it adds a remote skills provider named `agency-agents` and refreshes the local skills catalog.
44
+ - `visual-explainer` is a bundled zero-command plugin. Installing it adds a remote skills provider named `visual-explainer` sourced from normalized markdown skills in `javimosch/visual-explainer` and refreshes the local skills catalog.
@@ -0,0 +1,59 @@
1
+ ---
2
+ skill_name: cline-non-interactive
3
+ description: Use the supercli cline harness for unattended, JSON-streamed Cline execution.
4
+ tags: cline,agents,automation,streaming
5
+ ---
6
+
7
+ # Cline Non-Interactive
8
+
9
+ Use this skill when you want to delegate a task to the local Cline CLI through SuperCLI in a way that is safe for agents and easy to parse.
10
+
11
+ ## Preferred Commands
12
+
13
+ Use the wrapped commands first:
14
+
15
+ ```bash
16
+ supercli cline task run --prompt "<task>" --cwd <path> --timeout 30 --json
17
+ supercli cline task plan --prompt "<task>" --cwd <path> --timeout 30 --json
18
+ ```
19
+
20
+ - `cline task run` uses Cline act mode with `-a -y --json`
21
+ - `cline task plan` uses Cline plan mode with `-p -y --json`
22
+ - both commands emit streamed JSON event envelopes before a final completion envelope
23
+
24
+ ## When To Use Which
25
+
26
+ - use `cline task run` when you want Cline to execute the task autonomously
27
+ - use `cline task plan` when you want a plan-first answer or want to inspect the intended approach before acting
28
+ - use passthrough only if you need a Cline flag or subcommand that the wrapped commands do not expose yet
29
+
30
+ ## Output Contract
31
+
32
+ When `--json` is used on the SuperCLI command, output is newline-delimited:
33
+
34
+ 1. zero or more streamed event envelopes:
35
+
36
+ ```json
37
+ {"version":"1.0","command":"cline.task.run","stream":true,"data":{"type":"say","say":"task","text":"..."}}
38
+ ```
39
+
40
+ 2. one final summary envelope:
41
+
42
+ ```json
43
+ {"version":"1.0","command":"cline.task.run","duration_ms":1234,"data":{"streamed":true,"stream":"jsonl","event_count":4,"last_event":{"type":"say","say":"completion_result","text":"..."}}}
44
+ ```
45
+
46
+ ## Safety Defaults
47
+
48
+ - always pass `--cwd` so Cline operates in the intended workspace
49
+ - prefer `--timeout` for unattended runs
50
+ - avoid secrets in prompts because they can appear in logs or downstream tool output
51
+ - use a clean branch or a clearly scoped task when running autonomous edit flows
52
+
53
+ ## Examples
54
+
55
+ ```bash
56
+ supercli cline task run --prompt "List files with more LOC in cwd" --cwd . --timeout 30 --json
57
+ supercli cline task plan --prompt "Plan how to split SearchForm.vue below 500 LOC" --cwd . --json
58
+ supercli cline cli version --json
59
+ ```
@@ -0,0 +1,81 @@
1
+ # Skills Catalog
2
+
3
+ SuperCLI can discover SKILL.md files from multiple local providers and expose them with stable `provider:id` identifiers.
4
+
5
+ ## Provider Commands
6
+
7
+ ```bash
8
+ supercli skills providers list --json
9
+ supercli skills providers add --name mykb --type local_fs --roots /path/to/skills
10
+ supercli skills providers show --name mykb --json
11
+ supercli skills providers remove --name mykb --json
12
+ ```
13
+
14
+ ## Build Local Catalog
15
+
16
+ ```bash
17
+ supercli skills sync --json
18
+ ```
19
+
20
+ This scans enabled provider roots for `SKILL.md` files and rebuilds the local index.
21
+
22
+ ## Query Catalog Skills
23
+
24
+ ```bash
25
+ supercli skills list --catalog --json
26
+ supercli skills search --query "planning" --json
27
+ supercli skills get opencode:plan-changes
28
+ ```
29
+
30
+ ## Notes
31
+
32
+ - IDs are always provider-qualified (`provider:id`) for future-proof disambiguation.
33
+ - Current provider types include `local_fs`, `repo_fs`, and `remote_static`.
34
+ - Existing command-skill flow remains available (`skills list`, `skills get <ns.res.act>`, `skills teach`).
35
+
36
+ ## Remote Provider Example: agency-agents
37
+
38
+ ```bash
39
+ supercli plugins install agency-agents --json
40
+ supercli skills list --catalog --provider agency-agents --json
41
+ supercli skills get agency-agents:engineering.engineering-frontend-developer
42
+ ```
43
+
44
+ `agency-agents` maps skills one-to-one to upstream `.md` files in
45
+ `msitarzewski/agency-agents`. If upstream paths change or files are removed,
46
+ individual skills may stop resolving until reinstalled/refreshed.
47
+
48
+ ## Remote Provider Example: visual-explainer
49
+
50
+ ```bash
51
+ supercli plugins install visual-explainer --json
52
+ supercli skills list --catalog --provider visual-explainer --json
53
+ supercli skills get visual-explainer:visual-explainer.skill
54
+ ```
55
+
56
+ `visual-explainer` maps skills to normalized markdown files under
57
+ `plugins/visual-explainer-normalized` in `javimosch/visual-explainer`.
58
+
59
+ ## Remote Provider Example: nullclaw
60
+
61
+ ```bash
62
+ supercli plugins install nullclaw --json
63
+ supercli skills list --catalog --provider nullclaw --json
64
+ supercli skills get nullclaw:root.agents
65
+ supercli skills get nullclaw:docs.en.commands
66
+ ```
67
+
68
+ `nullclaw` indexes curated upstream markdown from `nullclaw/nullclaw` so agents can pull
69
+ project overview, operator docs, security guidance, and implementation notes on demand.
70
+ It also exposes the local `nullclaw` binary through wrapped commands and full passthrough.
71
+
72
+ ## Local Repo Skill Example: cline-non-interactive
73
+
74
+ ```bash
75
+ supercli skills sync --json
76
+ supercli skills list --catalog --provider repo --json
77
+ supercli skills get repo:cline-non-interactive
78
+ ```
79
+
80
+ `cline-non-interactive` is a repository-local skill that teaches agents to prefer the wrapped
81
+ `supercli cline task run` and `supercli cline task plan` commands for unattended Cline usage.