Repository navigation
fix: declare missing runtime and dev dependencies in package.json #388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # argo-rollouts Plugin for SuperCLI | ||
|
|
||
| [kubectl-argo-rollouts](https://github.com/argoproj/argo-rollouts) is the CLI for Argo Rollouts: watch canary and blue-green progress live, promote or abort a release, restart or retry a rollout, and launch the local dashboard. | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| # Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH) | ||
| # Or download kubectl-argo-rollouts for your platform from https://github.com/argoproj/argo-rollouts/releases and move it to PATH | ||
| # Or: brew install argoproj/tap/kubectl-argo-rollouts | ||
| # Verify: kubectl-argo-rollouts version | ||
|
|
||
| # Install supercli plugin | ||
| supercli plugins install ./plugins/argo-rollouts | ||
| ``` | ||
|
|
||
| ## Commands | ||
|
|
||
| - `argo-rollouts self version` — Print kubectl-argo-rollouts version | ||
| - `argo-rollouts rollouts list` — List rollouts in a namespace (kubectl-argo-rollouts list rollouts -n myns) | ||
| - `argo-rollouts rollouts get` — Inspect a rollout with live status (kubectl-argo-rollouts get rollout myapp --watch) | ||
| - `argo-rollouts rollouts status` — Wait for and print rollout status (kubectl-argo-rollouts status myapp --timeout 60s) | ||
| - `argo-rollouts rollouts promote` — Promote a paused rollout to the next step or fully (kubectl-argo-rollouts promote myapp --full) | ||
| - `argo-rollouts rollouts abort` — Abort a rollout and revert to the stable ReplicaSet (kubectl-argo-rollouts abort myapp) | ||
| - `argo-rollouts rollouts restart` — Restart a rollout's pods (kubectl-argo-rollouts restart myapp) | ||
| - `argo-rollouts dashboard open` — Launch the local rollouts dashboard on :3100 (kubectl-argo-rollouts dashboard -n myns) | ||
| - `argo-rollouts _ _` — Passthrough to kubectl-argo-rollouts (pause, retry, undo, set image, create, lint, and experiment/analysis subcommands) | ||
|
|
||
| All commands pass extra flags through to the underlying `kubectl-argo-rollouts` CLI. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| { | ||
| "plugin": "argo-rollouts", | ||
| "binary": "kubectl-argo-rollouts", | ||
| "check": "which kubectl-argo-rollouts", | ||
| "install_steps": [ | ||
| "Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)", | ||
| "Or download kubectl-argo-rollouts for your platform from https://github.com/argoproj/argo-rollouts/releases and move it to PATH", | ||
| "Or: brew install argoproj/tap/kubectl-argo-rollouts", | ||
| "Verify: kubectl-argo-rollouts version", | ||
| "supercli plugins install ./plugins/argo-rollouts --on-conflict replace --json" | ||
| ], | ||
| "note": "Usable standalone as kubectl-argo-rollouts or via kubectl as 'kubectl argo rollouts'. The dashboard subcommand serves a local UI at :3100; get rollout --watch streams live step status." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| { | ||
| "description": "kubectl-argo-rollouts is the CLI for Argo Rollouts progressive delivery: inspect canary/blue-green rollouts live, promote, pause, abort, restart or retry, and open the local rollout dashboard.", | ||
| "tags": [ | ||
| "argo-rollouts", | ||
| "argoproj", | ||
| "kubernetes", | ||
| "progressive-delivery", | ||
| "canary", | ||
| "blue-green", | ||
| "kubectl", | ||
| "gitops", | ||
| "cli", | ||
| "devops" | ||
| ], | ||
| "has_learn": true | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,181 @@ | ||
| { | ||
| "name": "argo-rollouts", | ||
| "version": "0.1.0", | ||
| "description": "kubectl plugin for Argo Rollouts \u2014 progressive delivery (canary/blue-green) inspection, promote, abort and dashboard", | ||
| "source": "https://github.com/argoproj/argo-rollouts", | ||
| "checks": [ | ||
| { | ||
| "type": "binary", | ||
| "name": "kubectl-argo-rollouts" | ||
| } | ||
| ], | ||
| "install_guidance": { | ||
| "plugin": "argo-rollouts", | ||
| "binary": "kubectl-argo-rollouts", | ||
| "check": "which kubectl-argo-rollouts", | ||
| "install_steps": [ | ||
| "Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)", | ||
| "Or download kubectl-argo-rollouts for your platform from https://github.com/argoproj/argo-rollouts/releases and move it to PATH", | ||
| "Or: brew install argoproj/tap/kubectl-argo-rollouts", | ||
| "Verify: kubectl-argo-rollouts version", | ||
| "supercli plugins install ./plugins/argo-rollouts --on-conflict replace --json" | ||
| ] | ||
| }, | ||
| "learn": { | ||
| "file": "skills/quickstart/SKILL.md" | ||
| }, | ||
| "commands": [ | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "self", | ||
| "action": "version", | ||
| "description": "Print kubectl-argo-rollouts version", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "version" | ||
| ], | ||
| "timeout_ms": 120000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "list", | ||
| "description": "List rollouts in a namespace (kubectl-argo-rollouts list rollouts -n myns)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "list", | ||
| "rollouts" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "get", | ||
| "description": "Inspect a rollout with live status (kubectl-argo-rollouts get rollout myapp --watch)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "get", | ||
| "rollout" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 300000, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win Set process timeouts within the validator limit.
📍 Affects 1 file
🤖 Prompt for AI Agents |
||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "status", | ||
| "description": "Wait for and print rollout status (kubectl-argo-rollouts status myapp --timeout 60s)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "status" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 300000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "promote", | ||
| "description": "Promote a paused rollout to the next step or fully (kubectl-argo-rollouts promote myapp --full)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "promote" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 120000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "abort", | ||
| "description": "Abort a rollout and revert to the stable ReplicaSet (kubectl-argo-rollouts abort myapp)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "abort" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 120000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "rollouts", | ||
| "action": "restart", | ||
| "description": "Restart a rollout's pods (kubectl-argo-rollouts restart myapp)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "restart" | ||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 120000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "dashboard", | ||
| "action": "open", | ||
| "description": "Launch the local rollouts dashboard on :3100 (kubectl-argo-rollouts dashboard -n myns)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "baseArgs": [ | ||
| "dashboard" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
# Inspect the process adapter's child lifecycle and timeout handling.
rg -n -C 5 'timeout_ms|spawn\(|execFile\(|detached|unref\(|SIGTERM|SIGKILL' cliRepository: javimosch/supercli Length of output: 32542 🏁 Script executed: python3 - <<'PY'
from pathlib import Path
for path, start, end in [
("plugins/argo-rollouts/plugin.json", 135, 170),
("cli/adapters/process.js", 140, 315),
]:
print(f"--- {path}:{start}-{end} ---")
lines = Path(path).read_text().splitlines()
for n in range(start, min(end, len(lines)) + 1):
print(f"{n}: {lines[n-1]}")
PY
rg -n -F -- 'adapter: "process"' cli plugins/argo-rollouts/plugin.json || test "$?" -eq 1Repository: javimosch/supercli Length of output: 9195 🏁 Script executed: python3 - <<'PY'
from pathlib import Path
for path, start, end in [
("plugins/argo-rollouts/plugin.json", 135, 170),
("cli/adapters/process.js", 140, 315),
]:
print(f"--- {path}:{start}-{end} ---")
lines = Path(path).read_text().splitlines()
for n in range(start, min(end, len(lines)) + 1):
print(f"{n}: {lines[n-1]}")
PY
rg -n -F -- 'adapter: "process"' cli plugins/argo-rollouts/plugin.json || test "$?" -eq 1Repository: javimosch/supercli Length of output: 9195 🏁 Script executed: nl -ba plugins/argo-rollouts/plugin.json | sed -n '130,175p'
printf '%s\n' '--- process completion ---'
nl -ba cli/adapters/process.js | sed -n '140,300p'
printf '%s\n' '--- dashboard references ---'
rg -n -C 4 -F -- 'dashboard' plugins/argo-rollouts/plugin.json cliRepository: javimosch/supercli Length of output: 11288 Run the dashboard as a detached, no-wait process. After the timeout validation issue is corrected, this command still waits for Suggested lifecycle fix "passthrough": true,
+ "detached": true,
+ "noWait": true,
"timeout_ms": 600000,🤖 Prompt for AI Agents |
||
| ], | ||
| "passthrough": true, | ||
| "timeout_ms": 600000, | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "argo-rollouts", | ||
| "resource": "_", | ||
| "action": "_", | ||
| "description": "Passthrough to kubectl-argo-rollouts (pause, retry, undo, set image, create, lint, and experiment/analysis subcommands)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "kubectl-argo-rollouts", | ||
| "passthrough": true, | ||
| "timeout_ms": 300000, | ||
| "cwd": "invoke_cwd", | ||
| "missingDependencyHelp": "Install kubectl-argo-rollouts: Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH)" | ||
| }, | ||
| "args": [] | ||
| } | ||
| ] | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| --- | ||
| name: argo-rollouts | ||
| description: Use this skill when the user is managing Argo Rollouts progressive delivery — watching a canary rollout, promoting/aborting a release, checking analysis runs, or opening the rollout dashboard. | ||
| --- | ||
|
|
||
| # argo-rollouts Plugin | ||
|
|
||
| [kubectl-argo-rollouts](https://github.com/argoproj/argo-rollouts) is the CLI for Argo Rollouts: watch canary and blue-green progress live, promote or abort a release, restart or retry a rollout, and launch the local dashboard. | ||
|
|
||
| ## Commands | ||
|
|
||
| - `argo-rollouts self version` — Print kubectl-argo-rollouts version | ||
| - `argo-rollouts rollouts list` — List rollouts in a namespace (kubectl-argo-rollouts list rollouts -n myns) | ||
| - `argo-rollouts rollouts get` — Inspect a rollout with live status (kubectl-argo-rollouts get rollout myapp --watch) | ||
| - `argo-rollouts rollouts status` — Wait for and print rollout status (kubectl-argo-rollouts status myapp --timeout 60s) | ||
| - `argo-rollouts rollouts promote` — Promote a paused rollout to the next step or fully (kubectl-argo-rollouts promote myapp --full) | ||
| - `argo-rollouts rollouts abort` — Abort a rollout and revert to the stable ReplicaSet (kubectl-argo-rollouts abort myapp) | ||
| - `argo-rollouts rollouts restart` — Restart a rollout's pods (kubectl-argo-rollouts restart myapp) | ||
| - `argo-rollouts dashboard open` — Launch the local rollouts dashboard on :3100 (kubectl-argo-rollouts dashboard -n myns) | ||
| - `argo-rollouts _ _` — Passthrough to kubectl-argo-rollouts (pause, retry, undo, set image, create, lint, and experiment/analysis subcommands) | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| # Install as a kubectl plugin: kubectl krew install rollouts (binary lands as kubectl-argo-rollouts on PATH) | ||
| # Or download kubectl-argo-rollouts for your platform from https://github.com/argoproj/argo-rollouts/releases and move it to PATH | ||
| # Or: brew install argoproj/tap/kubectl-argo-rollouts | ||
| # Verify: kubectl-argo-rollouts version | ||
| ``` | ||
|
|
||
| Usable standalone as kubectl-argo-rollouts or via kubectl as 'kubectl argo rollouts'. The dashboard subcommand serves a local UI at :3100; get rollout --watch streams live step status. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # buildctl Plugin for SuperCLI | ||
|
|
||
| [buildctl](https://github.com/moby/buildkit) is the low-level client for the BuildKit build engine: drive reproducible image builds through frontends like dockerfile.v0, manage cache with prune/du, and control a remote buildkitd. | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| # Download the buildkit release tarball for your platform from https://github.com/moby/buildkit/releases — it contains buildctl and buildkitd — and extract to PATH | ||
| # Or: brew install buildkit | ||
| # Verify: buildctl --version (requires a reachable buildkitd for build/prune commands) | ||
|
|
||
| # Install supercli plugin | ||
| supercli plugins install ./plugins/buildctl | ||
| ``` | ||
|
|
||
| ## Commands | ||
|
|
||
| - `buildctl self version` — Print buildctl version | ||
| - `buildctl images build` — Run a build against buildkitd (buildctl build --frontend dockerfile.v0 --local context=. --local dockerfile=. --output type=image,name=app,push=true) | ||
| - `buildctl cache du` — Show build cache disk usage (buildctl du). Requires a running buildkitd | ||
| - `buildctl cache prune` — Prune build cache (buildctl prune). Add --all to remove everything | ||
| - `buildctl _ _` — Passthrough to buildctl CLI (debug workers, dial-stdio, and all build flags) | ||
|
|
||
| All commands pass extra flags through to the underlying `buildctl` CLI. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| { | ||
| "plugin": "buildctl", | ||
| "binary": "buildctl", | ||
| "check": "which buildctl", | ||
| "install_steps": [ | ||
| "Download the buildkit release tarball for your platform from https://github.com/moby/buildkit/releases \u2014 it contains buildctl and buildkitd \u2014 and extract to PATH", | ||
| "Or: brew install buildkit", | ||
| "Verify: buildctl --version (requires a reachable buildkitd for build/prune commands)", | ||
| "supercli plugins install ./plugins/buildctl --on-conflict replace --json" | ||
| ], | ||
| "note": "buildctl talks to a buildkitd daemon (--addr, defaults to the containerd socket or BUILDKIT_HOST). Builds use frontends like dockerfile.v0 and can export to OCI tarballs, registries or local dirs." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| { | ||
| "description": "buildctl is the low-level CLI for BuildKit: run reproducible image builds with pluggable frontends (dockerfile.v0), control cache (prune, du), and emit LLB \u2014 the engine behind docker buildx.", | ||
| "tags": [ | ||
| "buildctl", | ||
| "buildkit", | ||
| "containers", | ||
| "docker", | ||
| "oci", | ||
| "image-build", | ||
| "moby", | ||
| "cache", | ||
| "cli", | ||
| "devops" | ||
| ], | ||
| "has_learn": true | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift
🔎 Supported by static analysis
🏁 Script executed:
Repository: javimosch/supercli
Length of output: 181
🏁 Script executed:
Repository: javimosch/supercli
Length of output: 2394
🌐 Web query:
GHSA-g644-9gfx-q4q4 vm2 affected versions fixed 3.10.3💡 Result:
🏁 Script executed:
Repository: javimosch/supercli
Length of output: 768
Replace
vm2; do not rely on a version bump.package-lock.jsonresolvesvm2to3.9.19. The CLI and server adapter paths instantiateNodeVM, so this vulnerable version is used to execute adapter code. GHSA-g644-9gfx-q4q4 affects versions through3.9.19and provides no patch or workaround. The lockfile also marksvm2as discontinued with critical security issues.Replace
vm2with a supported isolation mechanism and update bothNodeVMcall sites. Do not treat3.10.3as the fix for this advisory.🤖 Prompt for AI Agents