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.
- package/.beads/.br_history/issues.20260308_235202_180577215.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_387414163.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_564422794.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235202_742600597.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235208_133360069.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_473406307.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_662360489.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235505_843935624.jsonl +57 -0
- package/.beads/.br_history/issues.20260308_235506_044530221.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_002618_115728731.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_003748_878174586.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004057_868755623.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004058_512842163.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004058_994445226.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_004059_475988596.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_161902_566857851.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_277017739.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_477876921.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_664382701.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_170512_859400333.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_212326_082771164.jsonl +57 -0
- package/.beads/.br_history/issues.20260309_212326_245619716.jsonl +58 -0
- package/.beads/.br_history/issues.20260309_212326_403198317.jsonl +59 -0
- package/.beads/.br_history/issues.20260309_212332_539197678.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_212332_731373599.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_212332_928710953.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213021_341505240.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213022_023136934.jsonl +60 -0
- package/.beads/.br_history/issues.20260309_213022_400050719.jsonl +60 -0
- package/.beads/issues.jsonl +20 -17
- package/README.md +1 -1
- package/__tests__/adapter-schema.test.js +3 -0
- package/__tests__/aws-plugin.test.js +84 -0
- package/__tests__/az-plugin.test.js +84 -0
- package/__tests__/builtin-adapter.test.js +29 -0
- package/__tests__/cline-plugin.test.js +109 -0
- package/__tests__/cline-skill.test.js +49 -0
- package/__tests__/docker-plugin.test.js +3 -1
- package/__tests__/eza-plugin.test.js +81 -0
- package/__tests__/gcloud-plugin.test.js +86 -0
- package/__tests__/gh-plugin.test.js +86 -0
- package/__tests__/helm-plugin.test.js +81 -0
- package/__tests__/http-adapter.test.js +118 -0
- package/__tests__/just-plugin.test.js +82 -0
- package/__tests__/kubectl-plugin.test.js +83 -0
- package/__tests__/linear-plugin.test.js +81 -0
- package/__tests__/mcp-adapter.test.js +187 -0
- package/__tests__/nextest-plugin.test.js +82 -0
- package/__tests__/npm-plugin.test.js +81 -0
- package/__tests__/nullclaw-plugin.test.js +157 -0
- package/__tests__/openapi-adapter.test.js +199 -0
- package/__tests__/plugin-agency-agents.test.js +6 -6
- package/__tests__/plugin-nullclaw.test.js +78 -0
- package/__tests__/plugin-visual-explainer.test.js +62 -0
- package/__tests__/plugins-manager.test.js +59 -10
- package/__tests__/pnpm-plugin.test.js +81 -0
- package/__tests__/poetry-plugin.test.js +83 -0
- package/__tests__/process-adapter.test.js +124 -90
- package/__tests__/pulumi-plugin.test.js +81 -0
- package/__tests__/railway-plugin.test.js +84 -0
- package/__tests__/server-app.test.js +67 -0
- package/__tests__/server-config-service.test.js +79 -0
- package/__tests__/server-routes-ask.test.js +89 -0
- package/__tests__/server-routes-commands.test.js +55 -0
- package/__tests__/server-routes-config.test.js +87 -0
- package/__tests__/server-routes-jobs.test.js +53 -0
- package/__tests__/server-routes-misc.test.js +112 -0
- package/__tests__/server-storage-adapter.test.js +40 -0
- package/__tests__/server-storage-file.test.js +73 -0
- package/__tests__/server-storage-mongo.test.js +74 -0
- package/__tests__/shell-adapter.test.js +81 -22
- package/__tests__/stripe-plugin.test.js +3 -1
- package/__tests__/supabase-plugin.test.js +86 -0
- package/__tests__/terraform-plugin.test.js +83 -0
- package/__tests__/uv-plugin.test.js +81 -0
- package/__tests__/vercel-plugin.test.js +81 -0
- package/__tests__/watchexec-plugin.test.js +80 -0
- package/cli/adapter-schema.js +5 -0
- package/cli/adapters/process.js +53 -2
- package/cli/plugin-install-guidance.js +320 -0
- package/cli/plugins-manager.js +272 -212
- package/cli/skills.js +16 -5
- package/cli/supercli.js +26 -2
- package/docs/plugins.md +2 -0
- package/docs/skills/cline-non-interactive/SKILL.md +59 -0
- package/docs/skills-catalog.md +35 -0
- package/docs/visual-overview.md +21 -0
- package/jest.config.js +4 -1
- package/package.json +4 -3
- package/plugins/agency-agents/plugin.json +5 -0
- package/{cli/plugin-agency-agents.js → plugins/agency-agents/scripts/post-install.js} +13 -3
- package/plugins/aws/README.md +46 -0
- package/plugins/aws/plugin.json +42 -0
- package/plugins/az/README.md +46 -0
- package/plugins/az/plugin.json +42 -0
- package/plugins/clickup/plugin.json +38 -0
- package/plugins/clickup/scripts/post-install.js +107 -0
- package/plugins/clickup/scripts/post-uninstall.js +30 -0
- package/plugins/cline/README.md +48 -0
- package/plugins/cline/plugin.json +92 -0
- package/plugins/eza/README.md +40 -0
- package/plugins/eza/plugin.json +42 -0
- package/plugins/gcloud/README.md +46 -0
- package/plugins/gcloud/plugin.json +42 -0
- package/plugins/gh/README.md +46 -0
- package/plugins/gh/plugin.json +43 -0
- package/plugins/helm/README.md +42 -0
- package/plugins/helm/plugin.json +42 -0
- package/plugins/just/README.md +42 -0
- package/plugins/just/plugin.json +42 -0
- package/plugins/kubectl/README.md +46 -0
- package/plugins/kubectl/plugin.json +42 -0
- package/plugins/linear/README.md +60 -0
- package/plugins/linear/plugin.json +42 -0
- package/plugins/nextest/README.md +42 -0
- package/plugins/nextest/plugin.json +42 -0
- package/plugins/npm/README.md +46 -0
- package/plugins/npm/plugin.json +42 -0
- package/plugins/nullclaw/README.md +45 -0
- package/plugins/nullclaw/plugin.json +64 -0
- package/plugins/nullclaw/scripts/post-install.js +189 -0
- package/plugins/nullclaw/scripts/post-uninstall.js +25 -0
- package/plugins/openfang/plugin.json +37 -0
- package/plugins/openfang/scripts/post-install.js +163 -0
- package/plugins/openfang/scripts/post-uninstall.js +30 -0
- package/plugins/plugins.json +234 -0
- package/plugins/pnpm/README.md +46 -0
- package/plugins/pnpm/plugin.json +42 -0
- package/plugins/poetry/README.md +46 -0
- package/plugins/poetry/plugin.json +42 -0
- package/plugins/pulumi/README.md +46 -0
- package/plugins/pulumi/plugin.json +42 -0
- package/plugins/railway/README.md +58 -0
- package/plugins/railway/plugin.json +43 -0
- package/plugins/supabase/README.md +55 -0
- package/plugins/supabase/plugin.json +42 -0
- package/plugins/superpowers/plugin.json +22 -0
- package/plugins/superpowers/scripts/post-install.js +124 -0
- package/plugins/superpowers/scripts/post-uninstall.js +30 -0
- package/plugins/terraform/README.md +46 -0
- package/plugins/terraform/plugin.json +42 -0
- package/plugins/uv/README.md +46 -0
- package/plugins/uv/plugin.json +42 -0
- package/plugins/vercel/README.md +47 -0
- package/plugins/vercel/plugin.json +42 -0
- package/plugins/visual-explainer/plugin.json +15 -0
- package/plugins/visual-explainer/scripts/post-install.js +111 -0
- package/plugins/watchexec/README.md +40 -0
- package/plugins/watchexec/plugin.json +42 -0
- package/tests/test-aws-smoke.sh +56 -0
- package/tests/test-az-smoke.sh +56 -0
- package/tests/test-cline-smoke.sh +37 -0
- package/tests/test-eza-smoke.sh +33 -0
- package/tests/test-gcloud-smoke.sh +56 -0
- package/tests/test-gh-smoke.sh +56 -0
- package/tests/test-helm-smoke.sh +33 -0
- package/tests/test-just-smoke.sh +40 -0
- package/tests/test-kubectl-smoke.sh +37 -0
- package/tests/test-linear-smoke.sh +97 -0
- package/tests/test-nextest-smoke.sh +33 -0
- package/tests/test-npm-smoke.sh +32 -0
- package/tests/test-nullclaw-smoke.sh +51 -0
- package/tests/test-plugins-registry.js +110 -0
- package/tests/test-pnpm-smoke.sh +33 -0
- package/tests/test-poetry-smoke.sh +33 -0
- package/tests/test-pulumi-smoke.sh +33 -0
- package/tests/test-railway-smoke.sh +95 -0
- package/tests/test-supabase-smoke.sh +95 -0
- package/tests/test-terraform-smoke.sh +33 -0
- package/tests/test-uv-smoke.sh +33 -0
- package/tests/test-vercel-smoke.sh +55 -0
- package/tests/test-watchexec-smoke.sh +33 -0
- package/.beads/.br_history/issues.20260308_180927_477542428.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181032_020230108.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181032_180539413.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181032_372621506.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181032_565142225.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181311_336346464.jsonl +0 -12
- package/.beads/.br_history/issues.20260308_181444_039234498.jsonl +0 -13
- package/.beads/.br_history/issues.20260308_181503_794764403.jsonl +0 -13
- package/.beads/.br_history/issues.20260308_181503_950163105.jsonl +0 -13
- package/.beads/.br_history/issues.20260308_192031_852553505.jsonl +0 -13
- package/.beads/.br_history/issues.20260308_193552_846920518.jsonl +0 -14
- package/.beads/.br_history/issues.20260308_194054_394884833.jsonl +0 -14
- package/.beads/.br_history/issues.20260308_194209_440472460.jsonl +0 -15
- package/.beads/.br_history/issues.20260308_195319_099391899.jsonl +0 -15
- package/.beads/.br_history/issues.20260308_195324_176987204.jsonl +0 -16
- package/.beads/.br_history/issues.20260308_195436_929114019.jsonl +0 -16
- package/.beads/.br_history/issues.20260308_195437_055808298.jsonl +0 -17
- package/.beads/.br_history/issues.20260308_195437_304297399.jsonl +0 -18
- package/.beads/.br_history/issues.20260308_195437_556007332.jsonl +0 -19
- package/.beads/.br_history/issues.20260308_195444_987209695.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195445_133350193.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195445_400185615.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195445_689886334.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195445_949947727.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195745_580473297.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195745_725920532.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195745_968227911.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_195746_224276322.jsonl +0 -20
- package/.beads/.br_history/issues.20260308_200018_386890807.jsonl +0 -20
- package/ref-btcbot/.env.example +0 -19
- package/ref-btcbot/README.md +0 -3
- package/ref-btcbot/docs/bot.md +0 -72
- package/ref-btcbot/docs/skills/btcbot.backtest/SKILL.md +0 -70
- package/ref-btcbot/docs/skills/btcbot.config/SKILL.md +0 -79
- package/ref-btcbot/docs/skills/btcbot.orders/SKILL.md +0 -60
- package/ref-btcbot/docs/skills/btcbot.positions/SKILL.md +0 -54
- package/ref-btcbot/docs/skills/btcbot.risk/SKILL.md +0 -69
- package/ref-btcbot/docs/skills/btcbot.run-loop/SKILL.md +0 -63
- package/ref-btcbot/docs/skills/btcbot.run-once/SKILL.md +0 -63
- package/ref-btcbot/docs/skills/btcbot.status/SKILL.md +0 -59
- package/ref-btcbot/examples/sample-candles.json +0 -52
- package/ref-btcbot/package.json +0 -18
- package/ref-btcbot/plugin/plugin.json +0 -146
- package/ref-btcbot/src/cli.js +0 -104
- package/ref-btcbot/src/config.js +0 -80
- package/ref-btcbot/src/core/bot-runner.js +0 -78
- package/ref-btcbot/src/core/exchange-factory.js +0 -19
- package/ref-btcbot/src/core/live-exchange.js +0 -12
- package/ref-btcbot/src/core/paper-exchange.js +0 -82
- package/ref-btcbot/src/core/risk-engine.js +0 -42
- package/ref-btcbot/src/core/state-repository.js +0 -47
- package/ref-btcbot/src/services/backtest-service.js +0 -44
- package/ref-btcbot/src/services/market-data.js +0 -32
- package/ref-btcbot/src/storage/json-store.js +0 -45
- package/ref-btcbot/src/strategy/hedge-strategy.js +0 -65
- package/ref-btcbot/src/strategy/indicators.js +0 -56
- package/ref-btcbot/src/web/api.js +0 -50
- package/ref-btcbot/src/web/app.js +0 -51
- package/ref-btcbot/src/web/index.html +0 -70
- package/ref-btcbot/src/web/server.js +0 -33
- /package/.beads/.br_history/{issues.20260308_180927_477542428.jsonl.meta.json → issues.20260308_235202_180577215.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181032_020230108.jsonl.meta.json → issues.20260308_235202_387414163.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181032_180539413.jsonl.meta.json → issues.20260308_235202_564422794.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181032_372621506.jsonl.meta.json → issues.20260308_235202_742600597.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181032_565142225.jsonl.meta.json → issues.20260308_235208_133360069.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181311_336346464.jsonl.meta.json → issues.20260308_235505_473406307.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181444_039234498.jsonl.meta.json → issues.20260308_235505_662360489.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181503_794764403.jsonl.meta.json → issues.20260308_235505_843935624.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_181503_950163105.jsonl.meta.json → issues.20260308_235506_044530221.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_192031_852553505.jsonl.meta.json → issues.20260309_002618_115728731.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_193552_846920518.jsonl.meta.json → issues.20260309_003748_878174586.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_194054_394884833.jsonl.meta.json → issues.20260309_004057_868755623.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_194209_440472460.jsonl.meta.json → issues.20260309_004058_512842163.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195319_099391899.jsonl.meta.json → issues.20260309_004058_994445226.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195324_176987204.jsonl.meta.json → issues.20260309_004059_475988596.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195436_929114019.jsonl.meta.json → issues.20260309_161902_566857851.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195437_055808298.jsonl.meta.json → issues.20260309_170512_277017739.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195437_304297399.jsonl.meta.json → issues.20260309_170512_477876921.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195437_556007332.jsonl.meta.json → issues.20260309_170512_664382701.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195444_987209695.jsonl.meta.json → issues.20260309_170512_859400333.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195445_133350193.jsonl.meta.json → issues.20260309_212326_082771164.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195445_400185615.jsonl.meta.json → issues.20260309_212326_245619716.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195445_689886334.jsonl.meta.json → issues.20260309_212326_403198317.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195445_949947727.jsonl.meta.json → issues.20260309_212332_539197678.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195745_580473297.jsonl.meta.json → issues.20260309_212332_731373599.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195745_725920532.jsonl.meta.json → issues.20260309_212332_928710953.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195745_968227911.jsonl.meta.json → issues.20260309_213021_341505240.jsonl.meta.json} +0 -0
- /package/.beads/.br_history/{issues.20260308_195746_224276322.jsonl.meta.json → issues.20260309_213022_023136934.jsonl.meta.json} +0 -0
- /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
|
+
|