superacli 1.1.0 → 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 (261) hide show
  1. package/.beads/.br_history/issues.20260308_235202_180577215.jsonl +57 -0
  2. package/.beads/.br_history/issues.20260308_235202_387414163.jsonl +57 -0
  3. package/.beads/.br_history/issues.20260308_235202_564422794.jsonl +57 -0
  4. package/.beads/.br_history/issues.20260308_235202_742600597.jsonl +57 -0
  5. package/.beads/.br_history/issues.20260308_235208_133360069.jsonl +57 -0
  6. package/.beads/.br_history/issues.20260308_235505_473406307.jsonl +57 -0
  7. package/.beads/.br_history/issues.20260308_235505_662360489.jsonl +57 -0
  8. package/.beads/.br_history/issues.20260308_235505_843935624.jsonl +57 -0
  9. package/.beads/.br_history/issues.20260308_235506_044530221.jsonl +57 -0
  10. package/.beads/.br_history/issues.20260309_002618_115728731.jsonl +57 -0
  11. package/.beads/.br_history/issues.20260309_003748_878174586.jsonl +57 -0
  12. package/.beads/.br_history/issues.20260309_004057_868755623.jsonl +57 -0
  13. package/.beads/.br_history/issues.20260309_004058_512842163.jsonl +57 -0
  14. package/.beads/.br_history/issues.20260309_004058_994445226.jsonl +57 -0
  15. package/.beads/.br_history/issues.20260309_004059_475988596.jsonl +57 -0
  16. package/.beads/.br_history/issues.20260309_161902_566857851.jsonl +57 -0
  17. package/.beads/.br_history/issues.20260309_170512_277017739.jsonl +57 -0
  18. package/.beads/.br_history/issues.20260309_170512_477876921.jsonl +57 -0
  19. package/.beads/.br_history/issues.20260309_170512_664382701.jsonl +57 -0
  20. package/.beads/.br_history/issues.20260309_170512_859400333.jsonl +57 -0
  21. package/.beads/.br_history/issues.20260309_212326_082771164.jsonl +57 -0
  22. package/.beads/.br_history/issues.20260309_212326_245619716.jsonl +58 -0
  23. package/.beads/.br_history/issues.20260309_212326_403198317.jsonl +59 -0
  24. package/.beads/.br_history/issues.20260309_212332_539197678.jsonl +60 -0
  25. package/.beads/.br_history/issues.20260309_212332_731373599.jsonl +60 -0
  26. package/.beads/.br_history/issues.20260309_212332_928710953.jsonl +60 -0
  27. package/.beads/.br_history/issues.20260309_213021_341505240.jsonl +60 -0
  28. package/.beads/.br_history/issues.20260309_213022_023136934.jsonl +60 -0
  29. package/.beads/.br_history/issues.20260309_213022_400050719.jsonl +60 -0
  30. package/.beads/issues.jsonl +20 -17
  31. package/README.md +1 -1
  32. package/__tests__/adapter-schema.test.js +3 -0
  33. package/__tests__/aws-plugin.test.js +84 -0
  34. package/__tests__/az-plugin.test.js +84 -0
  35. package/__tests__/builtin-adapter.test.js +29 -0
  36. package/__tests__/cline-plugin.test.js +109 -0
  37. package/__tests__/cline-skill.test.js +49 -0
  38. package/__tests__/docker-plugin.test.js +3 -1
  39. package/__tests__/eza-plugin.test.js +81 -0
  40. package/__tests__/gcloud-plugin.test.js +86 -0
  41. package/__tests__/gh-plugin.test.js +86 -0
  42. package/__tests__/helm-plugin.test.js +81 -0
  43. package/__tests__/http-adapter.test.js +118 -0
  44. package/__tests__/just-plugin.test.js +82 -0
  45. package/__tests__/kubectl-plugin.test.js +83 -0
  46. package/__tests__/linear-plugin.test.js +81 -0
  47. package/__tests__/mcp-adapter.test.js +187 -0
  48. package/__tests__/nextest-plugin.test.js +82 -0
  49. package/__tests__/npm-plugin.test.js +81 -0
  50. package/__tests__/nullclaw-plugin.test.js +157 -0
  51. package/__tests__/openapi-adapter.test.js +199 -0
  52. package/__tests__/plugin-agency-agents.test.js +6 -6
  53. package/__tests__/plugin-nullclaw.test.js +78 -0
  54. package/__tests__/plugin-visual-explainer.test.js +62 -0
  55. package/__tests__/plugins-manager.test.js +59 -10
  56. package/__tests__/pnpm-plugin.test.js +81 -0
  57. package/__tests__/poetry-plugin.test.js +83 -0
  58. package/__tests__/process-adapter.test.js +124 -90
  59. package/__tests__/pulumi-plugin.test.js +81 -0
  60. package/__tests__/railway-plugin.test.js +84 -0
  61. package/__tests__/server-app.test.js +67 -0
  62. package/__tests__/server-config-service.test.js +79 -0
  63. package/__tests__/server-routes-ask.test.js +89 -0
  64. package/__tests__/server-routes-commands.test.js +55 -0
  65. package/__tests__/server-routes-config.test.js +87 -0
  66. package/__tests__/server-routes-jobs.test.js +53 -0
  67. package/__tests__/server-routes-misc.test.js +112 -0
  68. package/__tests__/server-storage-adapter.test.js +40 -0
  69. package/__tests__/server-storage-file.test.js +73 -0
  70. package/__tests__/server-storage-mongo.test.js +74 -0
  71. package/__tests__/shell-adapter.test.js +81 -22
  72. package/__tests__/stripe-plugin.test.js +3 -1
  73. package/__tests__/supabase-plugin.test.js +86 -0
  74. package/__tests__/terraform-plugin.test.js +83 -0
  75. package/__tests__/uv-plugin.test.js +81 -0
  76. package/__tests__/vercel-plugin.test.js +81 -0
  77. package/__tests__/watchexec-plugin.test.js +80 -0
  78. package/cli/adapter-schema.js +5 -0
  79. package/cli/adapters/process.js +53 -2
  80. package/cli/plugin-install-guidance.js +320 -0
  81. package/cli/plugins-manager.js +272 -212
  82. package/cli/skills.js +16 -5
  83. package/cli/supercli.js +26 -2
  84. package/docs/plugins.md +2 -0
  85. package/docs/skills/cline-non-interactive/SKILL.md +59 -0
  86. package/docs/skills-catalog.md +35 -0
  87. package/docs/visual-overview.md +21 -0
  88. package/jest.config.js +4 -1
  89. package/package.json +4 -3
  90. package/plugins/agency-agents/plugin.json +5 -0
  91. package/{cli/plugin-agency-agents.js → plugins/agency-agents/scripts/post-install.js} +13 -3
  92. package/plugins/aws/README.md +46 -0
  93. package/plugins/aws/plugin.json +42 -0
  94. package/plugins/az/README.md +46 -0
  95. package/plugins/az/plugin.json +42 -0
  96. package/plugins/clickup/plugin.json +38 -0
  97. package/plugins/clickup/scripts/post-install.js +107 -0
  98. package/plugins/clickup/scripts/post-uninstall.js +30 -0
  99. package/plugins/cline/README.md +48 -0
  100. package/plugins/cline/plugin.json +92 -0
  101. package/plugins/eza/README.md +40 -0
  102. package/plugins/eza/plugin.json +42 -0
  103. package/plugins/gcloud/README.md +46 -0
  104. package/plugins/gcloud/plugin.json +42 -0
  105. package/plugins/gh/README.md +46 -0
  106. package/plugins/gh/plugin.json +43 -0
  107. package/plugins/helm/README.md +42 -0
  108. package/plugins/helm/plugin.json +42 -0
  109. package/plugins/just/README.md +42 -0
  110. package/plugins/just/plugin.json +42 -0
  111. package/plugins/kubectl/README.md +46 -0
  112. package/plugins/kubectl/plugin.json +42 -0
  113. package/plugins/linear/README.md +60 -0
  114. package/plugins/linear/plugin.json +42 -0
  115. package/plugins/nextest/README.md +42 -0
  116. package/plugins/nextest/plugin.json +42 -0
  117. package/plugins/npm/README.md +46 -0
  118. package/plugins/npm/plugin.json +42 -0
  119. package/plugins/nullclaw/README.md +45 -0
  120. package/plugins/nullclaw/plugin.json +64 -0
  121. package/plugins/nullclaw/scripts/post-install.js +189 -0
  122. package/plugins/nullclaw/scripts/post-uninstall.js +25 -0
  123. package/plugins/openfang/plugin.json +37 -0
  124. package/plugins/openfang/scripts/post-install.js +163 -0
  125. package/plugins/openfang/scripts/post-uninstall.js +30 -0
  126. package/plugins/plugins.json +234 -0
  127. package/plugins/pnpm/README.md +46 -0
  128. package/plugins/pnpm/plugin.json +42 -0
  129. package/plugins/poetry/README.md +46 -0
  130. package/plugins/poetry/plugin.json +42 -0
  131. package/plugins/pulumi/README.md +46 -0
  132. package/plugins/pulumi/plugin.json +42 -0
  133. package/plugins/railway/README.md +58 -0
  134. package/plugins/railway/plugin.json +43 -0
  135. package/plugins/supabase/README.md +55 -0
  136. package/plugins/supabase/plugin.json +42 -0
  137. package/plugins/superpowers/plugin.json +22 -0
  138. package/plugins/superpowers/scripts/post-install.js +124 -0
  139. package/plugins/superpowers/scripts/post-uninstall.js +30 -0
  140. package/plugins/terraform/README.md +46 -0
  141. package/plugins/terraform/plugin.json +42 -0
  142. package/plugins/uv/README.md +46 -0
  143. package/plugins/uv/plugin.json +42 -0
  144. package/plugins/vercel/README.md +47 -0
  145. package/plugins/vercel/plugin.json +42 -0
  146. package/plugins/visual-explainer/plugin.json +15 -0
  147. package/plugins/visual-explainer/scripts/post-install.js +111 -0
  148. package/plugins/watchexec/README.md +40 -0
  149. package/plugins/watchexec/plugin.json +42 -0
  150. package/tests/test-aws-smoke.sh +56 -0
  151. package/tests/test-az-smoke.sh +56 -0
  152. package/tests/test-cline-smoke.sh +37 -0
  153. package/tests/test-eza-smoke.sh +33 -0
  154. package/tests/test-gcloud-smoke.sh +56 -0
  155. package/tests/test-gh-smoke.sh +56 -0
  156. package/tests/test-helm-smoke.sh +33 -0
  157. package/tests/test-just-smoke.sh +40 -0
  158. package/tests/test-kubectl-smoke.sh +37 -0
  159. package/tests/test-linear-smoke.sh +97 -0
  160. package/tests/test-nextest-smoke.sh +33 -0
  161. package/tests/test-npm-smoke.sh +32 -0
  162. package/tests/test-nullclaw-smoke.sh +51 -0
  163. package/tests/test-plugins-registry.js +110 -0
  164. package/tests/test-pnpm-smoke.sh +33 -0
  165. package/tests/test-poetry-smoke.sh +33 -0
  166. package/tests/test-pulumi-smoke.sh +33 -0
  167. package/tests/test-railway-smoke.sh +95 -0
  168. package/tests/test-supabase-smoke.sh +95 -0
  169. package/tests/test-terraform-smoke.sh +33 -0
  170. package/tests/test-uv-smoke.sh +33 -0
  171. package/tests/test-vercel-smoke.sh +55 -0
  172. package/tests/test-watchexec-smoke.sh +33 -0
  173. package/.beads/.br_history/issues.20260308_180927_477542428.jsonl +0 -12
  174. package/.beads/.br_history/issues.20260308_181032_020230108.jsonl +0 -12
  175. package/.beads/.br_history/issues.20260308_181032_180539413.jsonl +0 -12
  176. package/.beads/.br_history/issues.20260308_181032_372621506.jsonl +0 -12
  177. package/.beads/.br_history/issues.20260308_181032_565142225.jsonl +0 -12
  178. package/.beads/.br_history/issues.20260308_181311_336346464.jsonl +0 -12
  179. package/.beads/.br_history/issues.20260308_181444_039234498.jsonl +0 -13
  180. package/.beads/.br_history/issues.20260308_181503_794764403.jsonl +0 -13
  181. package/.beads/.br_history/issues.20260308_181503_950163105.jsonl +0 -13
  182. package/.beads/.br_history/issues.20260308_192031_852553505.jsonl +0 -13
  183. package/.beads/.br_history/issues.20260308_193552_846920518.jsonl +0 -14
  184. package/.beads/.br_history/issues.20260308_194054_394884833.jsonl +0 -14
  185. package/.beads/.br_history/issues.20260308_194209_440472460.jsonl +0 -15
  186. package/.beads/.br_history/issues.20260308_195319_099391899.jsonl +0 -15
  187. package/.beads/.br_history/issues.20260308_195324_176987204.jsonl +0 -16
  188. package/.beads/.br_history/issues.20260308_195436_929114019.jsonl +0 -16
  189. package/.beads/.br_history/issues.20260308_195437_055808298.jsonl +0 -17
  190. package/.beads/.br_history/issues.20260308_195437_304297399.jsonl +0 -18
  191. package/.beads/.br_history/issues.20260308_195437_556007332.jsonl +0 -19
  192. package/.beads/.br_history/issues.20260308_195444_987209695.jsonl +0 -20
  193. package/.beads/.br_history/issues.20260308_195445_133350193.jsonl +0 -20
  194. package/.beads/.br_history/issues.20260308_195445_400185615.jsonl +0 -20
  195. package/.beads/.br_history/issues.20260308_195445_689886334.jsonl +0 -20
  196. package/.beads/.br_history/issues.20260308_195445_949947727.jsonl +0 -20
  197. package/.beads/.br_history/issues.20260308_195745_580473297.jsonl +0 -20
  198. package/.beads/.br_history/issues.20260308_195745_725920532.jsonl +0 -20
  199. package/.beads/.br_history/issues.20260308_195745_968227911.jsonl +0 -20
  200. package/.beads/.br_history/issues.20260308_195746_224276322.jsonl +0 -20
  201. package/.beads/.br_history/issues.20260308_200018_386890807.jsonl +0 -20
  202. package/ref-btcbot/.env.example +0 -19
  203. package/ref-btcbot/README.md +0 -3
  204. package/ref-btcbot/docs/bot.md +0 -72
  205. package/ref-btcbot/docs/skills/btcbot.backtest/SKILL.md +0 -70
  206. package/ref-btcbot/docs/skills/btcbot.config/SKILL.md +0 -79
  207. package/ref-btcbot/docs/skills/btcbot.orders/SKILL.md +0 -60
  208. package/ref-btcbot/docs/skills/btcbot.positions/SKILL.md +0 -54
  209. package/ref-btcbot/docs/skills/btcbot.risk/SKILL.md +0 -69
  210. package/ref-btcbot/docs/skills/btcbot.run-loop/SKILL.md +0 -63
  211. package/ref-btcbot/docs/skills/btcbot.run-once/SKILL.md +0 -63
  212. package/ref-btcbot/docs/skills/btcbot.status/SKILL.md +0 -59
  213. package/ref-btcbot/examples/sample-candles.json +0 -52
  214. package/ref-btcbot/package.json +0 -18
  215. package/ref-btcbot/plugin/plugin.json +0 -146
  216. package/ref-btcbot/src/cli.js +0 -104
  217. package/ref-btcbot/src/config.js +0 -80
  218. package/ref-btcbot/src/core/bot-runner.js +0 -78
  219. package/ref-btcbot/src/core/exchange-factory.js +0 -19
  220. package/ref-btcbot/src/core/live-exchange.js +0 -12
  221. package/ref-btcbot/src/core/paper-exchange.js +0 -82
  222. package/ref-btcbot/src/core/risk-engine.js +0 -42
  223. package/ref-btcbot/src/core/state-repository.js +0 -47
  224. package/ref-btcbot/src/services/backtest-service.js +0 -44
  225. package/ref-btcbot/src/services/market-data.js +0 -32
  226. package/ref-btcbot/src/storage/json-store.js +0 -45
  227. package/ref-btcbot/src/strategy/hedge-strategy.js +0 -65
  228. package/ref-btcbot/src/strategy/indicators.js +0 -56
  229. package/ref-btcbot/src/web/api.js +0 -50
  230. package/ref-btcbot/src/web/app.js +0 -51
  231. package/ref-btcbot/src/web/index.html +0 -70
  232. package/ref-btcbot/src/web/server.js +0 -33
  233. /package/.beads/.br_history/{issues.20260308_180927_477542428.jsonl.meta.json → issues.20260308_235202_180577215.jsonl.meta.json} +0 -0
  234. /package/.beads/.br_history/{issues.20260308_181032_020230108.jsonl.meta.json → issues.20260308_235202_387414163.jsonl.meta.json} +0 -0
  235. /package/.beads/.br_history/{issues.20260308_181032_180539413.jsonl.meta.json → issues.20260308_235202_564422794.jsonl.meta.json} +0 -0
  236. /package/.beads/.br_history/{issues.20260308_181032_372621506.jsonl.meta.json → issues.20260308_235202_742600597.jsonl.meta.json} +0 -0
  237. /package/.beads/.br_history/{issues.20260308_181032_565142225.jsonl.meta.json → issues.20260308_235208_133360069.jsonl.meta.json} +0 -0
  238. /package/.beads/.br_history/{issues.20260308_181311_336346464.jsonl.meta.json → issues.20260308_235505_473406307.jsonl.meta.json} +0 -0
  239. /package/.beads/.br_history/{issues.20260308_181444_039234498.jsonl.meta.json → issues.20260308_235505_662360489.jsonl.meta.json} +0 -0
  240. /package/.beads/.br_history/{issues.20260308_181503_794764403.jsonl.meta.json → issues.20260308_235505_843935624.jsonl.meta.json} +0 -0
  241. /package/.beads/.br_history/{issues.20260308_181503_950163105.jsonl.meta.json → issues.20260308_235506_044530221.jsonl.meta.json} +0 -0
  242. /package/.beads/.br_history/{issues.20260308_192031_852553505.jsonl.meta.json → issues.20260309_002618_115728731.jsonl.meta.json} +0 -0
  243. /package/.beads/.br_history/{issues.20260308_193552_846920518.jsonl.meta.json → issues.20260309_003748_878174586.jsonl.meta.json} +0 -0
  244. /package/.beads/.br_history/{issues.20260308_194054_394884833.jsonl.meta.json → issues.20260309_004057_868755623.jsonl.meta.json} +0 -0
  245. /package/.beads/.br_history/{issues.20260308_194209_440472460.jsonl.meta.json → issues.20260309_004058_512842163.jsonl.meta.json} +0 -0
  246. /package/.beads/.br_history/{issues.20260308_195319_099391899.jsonl.meta.json → issues.20260309_004058_994445226.jsonl.meta.json} +0 -0
  247. /package/.beads/.br_history/{issues.20260308_195324_176987204.jsonl.meta.json → issues.20260309_004059_475988596.jsonl.meta.json} +0 -0
  248. /package/.beads/.br_history/{issues.20260308_195436_929114019.jsonl.meta.json → issues.20260309_161902_566857851.jsonl.meta.json} +0 -0
  249. /package/.beads/.br_history/{issues.20260308_195437_055808298.jsonl.meta.json → issues.20260309_170512_277017739.jsonl.meta.json} +0 -0
  250. /package/.beads/.br_history/{issues.20260308_195437_304297399.jsonl.meta.json → issues.20260309_170512_477876921.jsonl.meta.json} +0 -0
  251. /package/.beads/.br_history/{issues.20260308_195437_556007332.jsonl.meta.json → issues.20260309_170512_664382701.jsonl.meta.json} +0 -0
  252. /package/.beads/.br_history/{issues.20260308_195444_987209695.jsonl.meta.json → issues.20260309_170512_859400333.jsonl.meta.json} +0 -0
  253. /package/.beads/.br_history/{issues.20260308_195445_133350193.jsonl.meta.json → issues.20260309_212326_082771164.jsonl.meta.json} +0 -0
  254. /package/.beads/.br_history/{issues.20260308_195445_400185615.jsonl.meta.json → issues.20260309_212326_245619716.jsonl.meta.json} +0 -0
  255. /package/.beads/.br_history/{issues.20260308_195445_689886334.jsonl.meta.json → issues.20260309_212326_403198317.jsonl.meta.json} +0 -0
  256. /package/.beads/.br_history/{issues.20260308_195445_949947727.jsonl.meta.json → issues.20260309_212332_539197678.jsonl.meta.json} +0 -0
  257. /package/.beads/.br_history/{issues.20260308_195745_580473297.jsonl.meta.json → issues.20260309_212332_731373599.jsonl.meta.json} +0 -0
  258. /package/.beads/.br_history/{issues.20260308_195745_725920532.jsonl.meta.json → issues.20260309_212332_928710953.jsonl.meta.json} +0 -0
  259. /package/.beads/.br_history/{issues.20260308_195745_968227911.jsonl.meta.json → issues.20260309_213021_341505240.jsonl.meta.json} +0 -0
  260. /package/.beads/.br_history/{issues.20260308_195746_224276322.jsonl.meta.json → issues.20260309_213022_023136934.jsonl.meta.json} +0 -0
  261. /package/.beads/.br_history/{issues.20260308_200018_386890807.jsonl.meta.json → issues.20260309_213022_400050719.jsonl.meta.json} +0 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "linear",
3
+ "version": "0.1.0",
4
+ "description": "Linear CLI plugin for dcli",
5
+ "source": "https://linear.app",
6
+ "checks": [
7
+ {
8
+ "type": "binary",
9
+ "name": "linear"
10
+ }
11
+ ],
12
+ "commands": [
13
+ {
14
+ "namespace": "linear",
15
+ "resource": "account",
16
+ "action": "whoami",
17
+ "description": "Show the currently logged in Linear user",
18
+ "adapter": "process",
19
+ "adapterConfig": {
20
+ "command": "linear",
21
+ "baseArgs": ["auth", "whoami"],
22
+ "parseJson": false,
23
+ "missingDependencyHelp": "Please install the Linear CLI to use this command."
24
+ },
25
+ "args": []
26
+ },
27
+ {
28
+ "namespace": "linear",
29
+ "resource": "_",
30
+ "action": "_",
31
+ "description": "Passthrough command to execute any Linear CLI command",
32
+ "adapter": "process",
33
+ "adapterConfig": {
34
+ "command": "linear",
35
+ "passthrough": true,
36
+ "parseJson": true,
37
+ "missingDependencyHelp": "Please install the Linear CLI to use this command."
38
+ },
39
+ "args": []
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,42 @@
1
+ # nextest Plugin Harness
2
+
3
+ This plugin integrates the `cargo-nextest` CLI into dcli with one wrapped core command and full namespace passthrough.
4
+
5
+ ## Prerequisites
6
+
7
+ Ensure `cargo-nextest` is available on your machine:
8
+
9
+ ```bash
10
+ cargo-nextest --version
11
+ ```
12
+
13
+ Many nextest commands are most useful inside a Rust workspace. Help and version commands work anywhere, and listing commands are good non-interactive entry points.
14
+
15
+ ## Available Commands
16
+
17
+ ### CLI Version (Wrapped)
18
+
19
+ Returns the `cargo-nextest` CLI version via `cargo-nextest --version`.
20
+
21
+ ```bash
22
+ dcli nextest cli version --json
23
+ ```
24
+
25
+ ### Full Passthrough
26
+
27
+ You can run any `cargo-nextest` command through the `nextest` namespace.
28
+
29
+ ```bash
30
+ # Show help
31
+ dcli nextest --help
32
+
33
+ # List tests in machine-readable form
34
+ dcli nextest list --message-format json
35
+
36
+ # Run tests in a workspace
37
+ dcli nextest run
38
+ ```
39
+
40
+ ## Output
41
+
42
+ Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "nextest",
3
+ "version": "0.1.0",
4
+ "description": "cargo-nextest CLI plugin for dcli",
5
+ "source": "https://nexte.st",
6
+ "checks": [
7
+ {
8
+ "type": "binary",
9
+ "name": "cargo-nextest"
10
+ }
11
+ ],
12
+ "commands": [
13
+ {
14
+ "namespace": "nextest",
15
+ "resource": "cli",
16
+ "action": "version",
17
+ "description": "Show cargo-nextest CLI version",
18
+ "adapter": "process",
19
+ "adapterConfig": {
20
+ "command": "cargo-nextest",
21
+ "baseArgs": ["--version"],
22
+ "parseJson": false,
23
+ "missingDependencyHelp": "Please install cargo-nextest to use this command."
24
+ },
25
+ "args": []
26
+ },
27
+ {
28
+ "namespace": "nextest",
29
+ "resource": "_",
30
+ "action": "_",
31
+ "description": "Passthrough command to execute any cargo-nextest CLI command",
32
+ "adapter": "process",
33
+ "adapterConfig": {
34
+ "command": "cargo-nextest",
35
+ "passthrough": true,
36
+ "parseJson": true,
37
+ "missingDependencyHelp": "Please install cargo-nextest to use this command."
38
+ },
39
+ "args": []
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,46 @@
1
+ # npm Plugin Harness
2
+
3
+ This plugin integrates the npm CLI into dcli with one wrapped core command and full namespace passthrough.
4
+
5
+ ## Prerequisites
6
+
7
+ Ensure npm is available on your machine:
8
+
9
+ ```bash
10
+ npm --version
11
+ ```
12
+
13
+ If you plan to run authenticated registry commands, log in first:
14
+
15
+ ```bash
16
+ npm login
17
+ ```
18
+
19
+ ## Available Commands
20
+
21
+ ### CLI Version (Wrapped)
22
+
23
+ Returns the npm CLI version via `npm --version`.
24
+
25
+ ```bash
26
+ dcli npm cli version --json
27
+ ```
28
+
29
+ ### Full Passthrough
30
+
31
+ You can run any npm command through the `npm` namespace.
32
+
33
+ ```bash
34
+ # Search packages as JSON
35
+ dcli npm search react --json
36
+
37
+ # Show current user if authenticated
38
+ dcli npm whoami
39
+
40
+ # Show CLI help
41
+ dcli npm --help
42
+ ```
43
+
44
+ ## Output
45
+
46
+ Wrapped commands and passthrough responses are returned in dcli envelope format when `--json` is used with dcli-level commands.
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "npm",
3
+ "version": "0.1.0",
4
+ "description": "npm CLI plugin for dcli",
5
+ "source": "https://docs.npmjs.com/cli/v10/commands/",
6
+ "checks": [
7
+ {
8
+ "type": "binary",
9
+ "name": "npm"
10
+ }
11
+ ],
12
+ "commands": [
13
+ {
14
+ "namespace": "npm",
15
+ "resource": "cli",
16
+ "action": "version",
17
+ "description": "Show npm CLI version",
18
+ "adapter": "process",
19
+ "adapterConfig": {
20
+ "command": "npm",
21
+ "baseArgs": ["--version"],
22
+ "parseJson": false,
23
+ "missingDependencyHelp": "Please install npm to use this command."
24
+ },
25
+ "args": []
26
+ },
27
+ {
28
+ "namespace": "npm",
29
+ "resource": "_",
30
+ "action": "_",
31
+ "description": "Passthrough command to execute any npm CLI command",
32
+ "adapter": "process",
33
+ "adapterConfig": {
34
+ "command": "npm",
35
+ "passthrough": true,
36
+ "parseJson": true,
37
+ "missingDependencyHelp": "Please install npm to use this command."
38
+ },
39
+ "args": []
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,45 @@
1
+ # nullclaw Plugin
2
+
3
+ This plugin is a hybrid harness: it indexes NullClaw's upstream docs into the dcli skills catalog and exposes the local `nullclaw` binary through wrapped commands plus full passthrough.
4
+
5
+ ## What It Adds
6
+
7
+ - top-level project context from `README.md`, `AGENTS.md`, and contributor docs
8
+ - operator guidance for installation, configuration, commands, usage, security, and gateway API
9
+ - implementation guidance for contributors working on the Zig codebase
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ supercli plugins install nullclaw --json
15
+ ```
16
+
17
+ ## Explore Indexed Skills
18
+
19
+ ```bash
20
+ supercli skills list --catalog --provider nullclaw --json
21
+ supercli skills get nullclaw:root.agents
22
+ supercli skills get nullclaw:docs.en.commands
23
+ supercli skills get nullclaw:docs.en.architecture
24
+ ```
25
+
26
+ ## Available CLI Commands
27
+
28
+ ```bash
29
+ # Wrapped version command
30
+ supercli nullclaw cli version --json
31
+
32
+ # Wrapped status command
33
+ supercli nullclaw system status --json
34
+
35
+ # Full passthrough
36
+ supercli nullclaw models list
37
+ supercli nullclaw agent -m "hello"
38
+ ```
39
+
40
+ ## Notes
41
+
42
+ - This plugin indexes remote markdown from `https://github.com/nullclaw/nullclaw`.
43
+ - It does not install the upstream `nullclaw` binary for you.
44
+ - If you also want the runtime locally, follow the upstream install path such as `brew install nullclaw`.
45
+ - Removing the plugin also removes its registered skills provider from the local catalog.
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "nullclaw",
3
+ "version": "0.1.0",
4
+ "description": "Remote docs and agent guidance index for nullclaw/nullclaw",
5
+ "source": "https://github.com/nullclaw/nullclaw",
6
+ "checks": [
7
+ { "type": "binary", "name": "curl" },
8
+ { "type": "binary", "name": "nullclaw" }
9
+ ],
10
+ "post_install": {
11
+ "script": "scripts/post-install.js",
12
+ "runtime": "node",
13
+ "timeout_ms": 15000
14
+ },
15
+ "post_uninstall": {
16
+ "script": "scripts/post-uninstall.js",
17
+ "runtime": "node",
18
+ "timeout_ms": 15000
19
+ },
20
+ "commands": [
21
+ {
22
+ "namespace": "nullclaw",
23
+ "resource": "cli",
24
+ "action": "version",
25
+ "description": "Show nullclaw CLI version",
26
+ "adapter": "process",
27
+ "adapterConfig": {
28
+ "command": "nullclaw",
29
+ "baseArgs": ["--version"],
30
+ "parseJson": false,
31
+ "missingDependencyHelp": "Please install nullclaw to use this command."
32
+ },
33
+ "args": []
34
+ },
35
+ {
36
+ "namespace": "nullclaw",
37
+ "resource": "system",
38
+ "action": "status",
39
+ "description": "Show nullclaw system status",
40
+ "adapter": "process",
41
+ "adapterConfig": {
42
+ "command": "nullclaw",
43
+ "baseArgs": ["status"],
44
+ "parseJson": false,
45
+ "missingDependencyHelp": "Please install nullclaw to use this command."
46
+ },
47
+ "args": []
48
+ },
49
+ {
50
+ "namespace": "nullclaw",
51
+ "resource": "_",
52
+ "action": "_",
53
+ "description": "Passthrough command to execute any nullclaw CLI command",
54
+ "adapter": "process",
55
+ "adapterConfig": {
56
+ "command": "nullclaw",
57
+ "passthrough": true,
58
+ "parseJson": true,
59
+ "missingDependencyHelp": "Please install nullclaw to use this command."
60
+ },
61
+ "args": []
62
+ }
63
+ ]
64
+ }
@@ -0,0 +1,189 @@
1
+ const { spawnSync } = require("child_process")
2
+ const { addProvider, syncCatalog } = require("../../../cli/skills-catalog")
3
+
4
+ const OWNER = "nullclaw"
5
+ const REPO = "nullclaw"
6
+ const REF = "main"
7
+ const SOURCE_REPO = `https://github.com/${OWNER}/${REPO}`
8
+ const TREE_URL = `https://api.github.com/repos/${OWNER}/${REPO}/git/trees/${REF}?recursive=1`
9
+ const RAW_BASE_URL = `https://raw.githubusercontent.com/${OWNER}/${REPO}/${REF}`
10
+
11
+ const CATALOG_FILES = [
12
+ {
13
+ id: "root.readme",
14
+ name: "NullClaw Overview",
15
+ path: "README.md",
16
+ description: "Project overview, quick start, common commands, and platform capabilities.",
17
+ tags: ["overview", "runtime", "agents"]
18
+ },
19
+ {
20
+ id: "root.agents",
21
+ name: "NullClaw Agent Protocol",
22
+ path: "AGENTS.md",
23
+ description: "Repository-specific engineering protocol for coding agents implementing NullClaw features.",
24
+ tags: ["agents", "engineering", "implementation"]
25
+ },
26
+ {
27
+ id: "root.claude",
28
+ name: "NullClaw Claude Guidance",
29
+ path: "CLAUDE.md",
30
+ description: "Additional repository instructions for LLM-assisted development workflows.",
31
+ tags: ["agents", "llms", "implementation"]
32
+ },
33
+ {
34
+ id: "root.contributing",
35
+ name: "NullClaw Contributing",
36
+ path: "CONTRIBUTING.md",
37
+ description: "Contribution workflow, validation expectations, and repository conventions.",
38
+ tags: ["contributing", "development", "workflow"]
39
+ },
40
+ {
41
+ id: "docs.en.readme",
42
+ name: "NullClaw Docs Overview",
43
+ path: "docs/en/README.md",
44
+ description: "Guided docs entry point for users and contributors.",
45
+ tags: ["docs", "overview", "onboarding"]
46
+ },
47
+ {
48
+ id: "docs.en.installation",
49
+ name: "NullClaw Installation",
50
+ path: "docs/en/installation.md",
51
+ description: "Install and first-run setup guidance for the NullClaw binary.",
52
+ tags: ["installation", "setup", "operations"]
53
+ },
54
+ {
55
+ id: "docs.en.configuration",
56
+ name: "NullClaw Configuration",
57
+ path: "docs/en/configuration.md",
58
+ description: "Config schema guidance for models, channels, memory, gateway, autonomy, and security.",
59
+ tags: ["configuration", "operations", "security"]
60
+ },
61
+ {
62
+ id: "docs.en.commands",
63
+ name: "NullClaw Commands",
64
+ path: "docs/en/commands.md",
65
+ description: "Task-oriented CLI reference covering onboarding, agent, service, channel, skills, and data commands.",
66
+ tags: ["commands", "cli", "operations"]
67
+ },
68
+ {
69
+ id: "docs.en.usage",
70
+ name: "NullClaw Usage",
71
+ path: "docs/en/usage.md",
72
+ description: "Operational workflows for day-to-day use, health checks, troubleshooting, and service mode.",
73
+ tags: ["usage", "operations", "troubleshooting"]
74
+ },
75
+ {
76
+ id: "docs.en.architecture",
77
+ name: "NullClaw Architecture",
78
+ path: "docs/en/architecture.md",
79
+ description: "Subsystem design and extension points for providers, channels, tools, runtime, memory, and security.",
80
+ tags: ["architecture", "engineering", "implementation"]
81
+ },
82
+ {
83
+ id: "docs.en.security",
84
+ name: "NullClaw Security",
85
+ path: "docs/en/security.md",
86
+ description: "Security model for pairing, sandboxing, allowlists, secrets, and runtime boundaries.",
87
+ tags: ["security", "operations", "implementation"]
88
+ },
89
+ {
90
+ id: "docs.en.gateway-api",
91
+ name: "NullClaw Gateway API",
92
+ path: "docs/en/gateway-api.md",
93
+ description: "Gateway endpoints, pairing flow, auth expectations, and integration details.",
94
+ tags: ["api", "gateway", "integrations"]
95
+ },
96
+ {
97
+ id: "docs.en.development",
98
+ name: "NullClaw Development",
99
+ path: "docs/en/development.md",
100
+ description: "Build, test, source layout, and development workflow for contributors.",
101
+ tags: ["development", "engineering", "zig"]
102
+ }
103
+ ]
104
+
105
+ function integrationError(message, suggestions = []) {
106
+ return Object.assign(new Error(message), {
107
+ code: 105,
108
+ type: "integration_error",
109
+ recoverable: true,
110
+ suggestions
111
+ })
112
+ }
113
+
114
+ function fetchJson(url) {
115
+ const res = spawnSync("curl", ["-fsSL", url], { encoding: "utf-8", timeout: 15000 })
116
+ if (res.error) {
117
+ throw integrationError(`Failed to fetch nullclaw metadata: ${res.error.message}`, [
118
+ "Check internet connectivity",
119
+ "Retry: supercli plugins install nullclaw"
120
+ ])
121
+ }
122
+ if (res.status !== 0) {
123
+ throw integrationError(`Failed to fetch nullclaw metadata: ${(res.stderr || "").trim() || `exit ${res.status}`}`, [
124
+ "Check internet connectivity",
125
+ "Retry: supercli plugins install nullclaw"
126
+ ])
127
+ }
128
+ try {
129
+ return JSON.parse((res.stdout || "").trim() || "{}")
130
+ } catch (err) {
131
+ throw integrationError(`Invalid nullclaw metadata response: ${err.message}`)
132
+ }
133
+ }
134
+
135
+ function buildRemoteEntriesFromTree(treeResponse) {
136
+ const tree = Array.isArray(treeResponse.tree) ? treeResponse.tree : []
137
+ const availablePaths = new Set(
138
+ tree
139
+ .filter(node => node && node.type === "blob" && typeof node.path === "string")
140
+ .map(node => node.path)
141
+ )
142
+
143
+ return CATALOG_FILES
144
+ .filter(file => availablePaths.has(file.path))
145
+ .map(file => ({
146
+ ...file,
147
+ source_url: `${RAW_BASE_URL}/${file.path}`
148
+ }))
149
+ }
150
+
151
+ function run() {
152
+ const treeResponse = fetchJson(TREE_URL)
153
+ const entries = buildRemoteEntriesFromTree(treeResponse)
154
+ if (entries.length === 0) {
155
+ throw integrationError("nullclaw plugin found no remote documentation files to index")
156
+ }
157
+
158
+ addProvider({
159
+ name: "nullclaw",
160
+ type: "remote_static",
161
+ enabled: true,
162
+ source_repo: SOURCE_REPO,
163
+ ref: REF,
164
+ entries
165
+ })
166
+
167
+ const index = syncCatalog()
168
+ return {
169
+ provider: "nullclaw",
170
+ entries: entries.length,
171
+ synced_skills: Array.isArray(index.skills) ? index.skills.length : 0
172
+ }
173
+ }
174
+
175
+ if (require.main === module) {
176
+ try {
177
+ const result = run()
178
+ process.stdout.write(JSON.stringify(result))
179
+ } catch (err) {
180
+ process.stderr.write(err.message)
181
+ process.exit(1)
182
+ }
183
+ }
184
+
185
+ module.exports = {
186
+ CATALOG_FILES,
187
+ run,
188
+ buildRemoteEntriesFromTree
189
+ }
@@ -0,0 +1,25 @@
1
+ const { removeProvider, syncCatalog } = require("../../../cli/skills-catalog")
2
+
3
+ function run() {
4
+ const removed = removeProvider("nullclaw")
5
+ const index = syncCatalog()
6
+ return {
7
+ provider: "nullclaw",
8
+ removed,
9
+ synced_skills: Array.isArray(index.skills) ? index.skills.length : 0
10
+ }
11
+ }
12
+
13
+ if (require.main === module) {
14
+ try {
15
+ const result = run()
16
+ process.stdout.write(JSON.stringify(result))
17
+ } catch (err) {
18
+ process.stderr.write(err.message)
19
+ process.exit(1)
20
+ }
21
+ }
22
+
23
+ module.exports = {
24
+ run
25
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "openfang",
3
+ "version": "0.1.0",
4
+ "description": "OpenFang - Agent Operating System. CLI passthrough + 60+ bundled skills for AI agents",
5
+ "source": "https://github.com/RightNow-AI/openfang",
6
+ "checks": [
7
+ { "type": "binary", "name": "openfang" }
8
+ ],
9
+ "post_install": {
10
+ "script": "scripts/post-install.js",
11
+ "runtime": "node",
12
+ "timeout_ms": 15000
13
+ },
14
+ "post_uninstall": {
15
+ "script": "scripts/post-uninstall.js",
16
+ "runtime": "node",
17
+ "timeout_ms": 15000
18
+ },
19
+ "commands": [
20
+ {
21
+ "namespace": "openfang",
22
+ "resource": "_",
23
+ "action": "_",
24
+ "description": "Passthrough command to execute any openfang CLI command",
25
+ "adapter": "process",
26
+ "adapterConfig": {
27
+ "command": "openfang",
28
+ "passthrough": true,
29
+ "parseJson": false,
30
+ "timeout_ms": 15000,
31
+ "missingDependencyHelp": "Run: curl -fsSL https://openfang.sh/install | sh"
32
+ },
33
+ "args": []
34
+ }
35
+ ]
36
+ }
37
+