-
Notifications
You must be signed in to change notification settings - Fork 2
automaintainer: search for and add new CLI tools as bundled plugins to supe… #2
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| { | ||
| "plugin": "b3sum", | ||
| "binary": "b3sum", | ||
| "check": "which b3sum", | ||
| "install_steps": [ | ||
| "cargo install b3sum", | ||
| "Verify: b3sum --version", | ||
| "Test: b3sum /etc/hostname", | ||
| "supercli plugins install ./plugins/b3sum --on-conflict replace --json" | ||
| ], | ||
| "note": "Requires Rust/Cargo. Also available via: brew install b3sum. b3sum is the CLI component of the BLAKE3 hash project — BLAKE3 is the fastest of the standardized hash functions, significantly faster than SHA-256 and SHA-512." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| { | ||
| "description": "b3sum — compute BLAKE3 cryptographic hashes from the command line. Multi-threaded, secure hashing for files and streams. Supports check mode and raw output. Non-interactive, scriptable.", | ||
| "tags": ["b3sum", "blake3", "hash", "crypto", "checksum", "hashing", "rust"], | ||
| "has_learn": true | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| { | ||
| "name": "b3sum", | ||
| "version": "0.1.0", | ||
| "description": "b3sum — compute BLAKE3 cryptographic hashes from the command line. Fast, secure hashing for files and streams. Supports multi-threaded hashing, checked mode, and raw output. Non-interactive, scriptable, suitable for CI/CD pipelines.", | ||
| "source": "https://github.com/BLAKE3-team/BLAKE3", | ||
| "checks": [ | ||
| { "type": "binary", "name": "b3sum" } | ||
| ], | ||
| "install_guidance": { | ||
| "plugin": "b3sum", | ||
| "binary": "b3sum", | ||
| "check": "which b3sum", | ||
| "install_steps": [ | ||
| "cargo install b3sum", | ||
| "Verify: b3sum --version", | ||
| "Test: b3sum /etc/hostname", | ||
| "supercli plugins install ./plugins/b3sum --on-conflict replace --json" | ||
| ] | ||
| }, | ||
| "learn": { | ||
| "file": "skills/quickstart/SKILL.md" | ||
| }, | ||
| "commands": [ | ||
| { | ||
| "namespace": "b3sum", | ||
| "resource": "self", | ||
| "action": "version", | ||
| "description": "Print b3sum version", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "b3sum", | ||
| "baseArgs": ["--version"], | ||
| "missingDependencyHelp": "Install b3sum: cargo install b3sum" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "b3sum", | ||
| "resource": "hash", | ||
| "action": "file", | ||
| "description": "Compute BLAKE3 hash of one or more files", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "b3sum", | ||
| "baseArgs": [], | ||
| "positionalArgs": ["files"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install b3sum: cargo install b3sum" | ||
| }, | ||
| "args": [ | ||
| { "name": "files", "type": "string", "required": true, "description": "File paths to hash (space-separated, can use glob patterns)" }, | ||
| { "name": "--no-mmap", "type": "boolean", "required": false, "description": "Disable memory-mapped files" }, | ||
| { "name": "--num-threads", "type": "number", "required": false, "description": "Number of threads to use (default: number of CPUs)" }, | ||
| { "name": "--raw", "type": "boolean", "required": false, "description": "Output raw hash bytes instead of hex" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "b3sum", | ||
| "resource": "hash", | ||
| "action": "stdin", | ||
| "description": "Compute BLAKE3 hash of data piped to stdin", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "b3sum", | ||
| "baseArgs": ["--no-names"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install b3sum: cargo install b3sum" | ||
| }, | ||
| "args": [ | ||
| { "name": "--raw", "type": "boolean", "required": false, "description": "Output raw hash bytes to stdout" }, | ||
| { "name": "--num-threads", "type": "number", "required": false, "description": "Number of threads to use" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "b3sum", | ||
| "resource": "hash", | ||
| "action": "check", | ||
| "description": "Check BLAKE3 hashes against a hash list file (similar to sha256sum --check)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "b3sum", | ||
| "baseArgs": ["--check"], | ||
| "positionalArgs": ["hashfile"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install b3sum: cargo install b3sum" | ||
| }, | ||
| "args": [ | ||
| { "name": "hashfile", "type": "string", "required": true, "description": "Path to file containing hashes to check (format: <hash> <filename>)" }, | ||
| { "name": "--no-mmap", "type": "boolean", "required": false, "description": "Disable memory-mapped files" }, | ||
| { "name": "--num-threads", "type": "number", "required": false, "description": "Number of threads to use" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "b3sum", | ||
| "resource": "_", | ||
| "action": "_", | ||
| "description": "Passthrough to b3sum CLI for advanced options", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "b3sum", | ||
| "passthrough": true, | ||
| "missingDependencyHelp": "Install b3sum: cargo install b3sum" | ||
| }, | ||
| "args": [] | ||
| } | ||
| ] | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| --- | ||
| name: b3sum | ||
| description: Use this skill when the user wants to compute BLAKE3 hashes of files, verify file integrity, or generate checksums. Fast, multi-threaded cryptographic hashing from the command line. | ||
| --- | ||
|
|
||
| # b3sum Plugin | ||
|
|
||
| Compute BLAKE3 cryptographic hashes for files and streams. The fastest standardized hash function. | ||
|
|
||
| ## Commands | ||
|
|
||
| ### Hash | ||
| - `b3sum hash file document.pdf` — Compute hash of a file | ||
| - `b3sum hash file file1.txt file2.txt` — Hash multiple files | ||
| - `b3sum hash stdin` — Hash data piped to stdin | ||
| - `b3sum hash file large.iso --num-threads 8` — Multi-threaded hashing | ||
|
|
||
| ### Check | ||
| - `b3sum hash check checksums.txt` — Verify hashes against a list | ||
|
|
||
| ### Options | ||
| - `--raw` — Output raw bytes instead of hex | ||
| - `--num-threads N` — Use N threads (default: all CPUs) | ||
| - `--no-mmap` — Disable memory mapping | ||
|
|
||
| ### Full Access | ||
| - `b3sum _ _` — Passthrough for advanced options | ||
|
|
||
| ## Usage Examples | ||
| - "Get the BLAKE3 hash of this ISO file" | ||
| - "Verify the integrity of downloaded files using checksums.txt" | ||
| - "Pipe a file through b3sum and get the hash" | ||
| - "Hash multiple files at once with multi-threading" | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| cargo install b3sum | ||
| ``` | ||
|
|
||
| ## Key Features | ||
| - **Blazing fast**: BLAKE3 is the fastest standardized hash | ||
| - **Multi-threaded**: Automatically uses all CPU cores | ||
| - **Streaming**: Can hash data piped from stdin | ||
| - **Check mode**: Verify file integrity from hash lists | ||
| - **Raw output**: Output raw bytes for further processing | ||
| - **Non-interactive**: All operations are one-shot CLI commands | ||
|
|
||
| ## Comparing Hashes | ||
|
|
||
| ```bash | ||
| # Generate hash | ||
| b3sum myfile.bin | ||
|
|
||
| # Check against stored hash | ||
| echo "abc123... myfile.bin" > myhash | ||
| b3sum --check myhash | ||
| ``` |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| { | ||
| "plugin": "d2", | ||
| "binary": "d2", | ||
| "check": "which d2", | ||
| "install_steps": [ | ||
| "curl -fsSL https://d2lang.com/install.sh | sh -s --", | ||
| "Verify: d2 version", | ||
| "Test: d2 --help", | ||
| "supercli plugins install ./plugins/d2 --on-conflict replace --json" | ||
| ], | ||
| "note": "Also available via: brew install d2, or go install oss.terrastruct.com/d2@latest. Requires a layout engine: dagre (default, bundled), elk, or tala. Output formats: SVG, PNG, PDF. Fonts can be embedded via --font-* flags." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| { | ||
| "description": "D2 — modern diagram scripting language that turns text to diagrams. Compile .d2 files to SVG, PNG, or PDF with auto-layout (dagre, ELK, TALA), themes, and live reload. Open-source alternative to PlantUML and Mermaid.", | ||
| "tags": ["d2", "diagram", "diagrams", "svg", "architecture", "go", "visualization", "text-to-diagram"], | ||
| "has_learn": false | ||
| "description": "d2 — declarative diagram scripting language. Compile text-based diagrams into SVG, PNG, or PDF. Supports flowcharts, sequence diagrams, class diagrams, network topologies, and more. Non-interactive, scriptable.", | ||
| "tags": ["d2", "diagram", "diagramming", "svg", "flowchart", "sequence-diagram", "visio", "go"], | ||
| "has_learn": true | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| { | ||
| "name": "d2", | ||
| "version": "0.1.0", | ||
| "description": "D2 — modern diagram scripting language that turns text to SVG, PNG, or PDF", | ||
| "description": "d2 — declarative diagram scripting language. Compile text-based diagrams into SVG, PNG, or PDF. Supports flowcharts, sequence diagrams, class diagrams, network topologies, and more. Non-interactive, scriptable, suitable for CI/CD pipelines.", | ||
| "source": "https://github.com/terrastruct/d2", | ||
| "checks": [ | ||
| { "type": "binary", "name": "d2" } | ||
|
|
@@ -12,11 +12,13 @@ | |
| "check": "which d2", | ||
| "install_steps": [ | ||
| "curl -fsSL https://d2lang.com/install.sh | sh -s --", | ||
| "Or: go install oss.terrastruct.com/d2@latest", | ||
| "Verify: d2 --version", | ||
| "Verify: d2 version", | ||
| "Test: d2 --help", | ||
| "supercli plugins install ./plugins/d2 --on-conflict replace --json" | ||
| ], | ||
| "note": "Source: https://github.com/terrastruct/d2 (24k stars). Written in Go." | ||
| ] | ||
| }, | ||
| "learn": { | ||
| "file": "skills/quickstart/SKILL.md" | ||
| }, | ||
| "commands": [ | ||
| { | ||
|
|
@@ -27,94 +29,127 @@ | |
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "baseArgs": ["--version"], | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| "baseArgs": ["version"], | ||
| "missingDependencyHelp": "Install d2: https://d2lang.com/install" | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "d2", | ||
| "resource": "compile", | ||
| "action": "svg", | ||
| "description": "Compile .d2 file to SVG diagram", | ||
| "description": "Compile a .d2 file to SVG", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "positionalArgs": ["input"], | ||
| "baseArgs": [], | ||
| "positionalArgs": ["input", "output"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install d2" | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| }, | ||
| "args": [ | ||
| { "name": "input", "type": "string", "required": true, "description": "Path to .d2 file" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output path (default: input.svg)" }, | ||
| { "name": "watch", "type": "boolean", "required": false, "description": "Watch and live-reload on changes" } | ||
| { "name": "input", "type": "string", "required": true, "description": "Input .d2 file path" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output SVG file path (default: input.svg)" }, | ||
|
Comment on lines
+51
to
+52
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.
In the sc-zig path, Useful? React with 👍 / 👎. |
||
| { "name": "--theme", "type": "number", "required": false, "description": "Theme ID (0-6). Default: 0" }, | ||
| { "name": "--dark-theme", "type": "number", "required": false, "description": "Dark theme ID" }, | ||
| { "name": "--pad", "type": "number", "required": false, "description": "Padding in pixels (default: 100)" }, | ||
| { "name": "--layout", "type": "string", "required": false, "description": "Layout engine: dagre (default), elk, tala" }, | ||
| { "name": "--scale", "type": "number", "required": false, "description": "Canvas scale factor (default: 1)" }, | ||
| { "name": "--bundle", "type": "boolean", "required": false, "description": "Bundle dependency icons as base64 data URIs" }, | ||
| { "name": "--font-regular", "type": "string", "required": false, "description": "Path to .ttf regular font" }, | ||
| { "name": "--font-italic", "type": "string", "required": false, "description": "Path to .ttf italic font" }, | ||
| { "name": "--font-bold", "type": "string", "required": false, "description": "Path to .ttf bold font" }, | ||
| { "name": "--font-bold-italic", "type": "string", "required": false, "description": "Path to .ttf bold-italic font" }, | ||
| { "name": "--target", "type": "string", "required": false, "description": "Export format: svg (default), png, pdf" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "d2", | ||
| "resource": "compile", | ||
| "action": "png", | ||
| "description": "Compile .d2 file to PNG diagram", | ||
| "description": "Compile a .d2 file to PNG", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "baseArgs": ["--format", "png"], | ||
| "positionalArgs": ["input"], | ||
| "baseArgs": [], | ||
| "positionalArgs": ["input", "output"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install d2" | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| }, | ||
| "args": [ | ||
| { "name": "input", "type": "string", "required": true, "description": "Path to .d2 file" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output path" } | ||
| { "name": "input", "type": "string", "required": true, "description": "Input .d2 file path" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output PNG file path (default: input.png)" }, | ||
| { "name": "--theme", "type": "number", "required": false, "description": "Theme ID (0-6)" }, | ||
| { "name": "--dark-theme", "type": "number", "required": false, "description": "Dark theme ID" }, | ||
| { "name": "--pad", "type": "number", "required": false, "description": "Padding in pixels (default: 100)" }, | ||
| { "name": "--layout", "type": "string", "required": false, "description": "Layout engine: dagre (default), elk, tala" }, | ||
| { "name": "--scale", "type": "number", "required": false, "description": "Canvas scale factor" }, | ||
| { "name": "--bundle", "type": "boolean", "required": false, "description": "Bundle dependency icons as base64 data URIs" }, | ||
| { "name": "--font-regular", "type": "string", "required": false, "description": "Path to .ttf regular font" }, | ||
| { "name": "--font-italic", "type": "string", "required": false, "description": "Path to .ttf italic font" }, | ||
| { "name": "--font-bold", "type": "string", "required": false, "description": "Path to .ttf bold font" }, | ||
| { "name": "--font-bold-italic", "type": "string", "required": false, "description": "Path to .ttf bold-italic font" }, | ||
| { "name": "--target", "type": "string", "required": false, "description": "Export format: svg, png (default), pdf" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "d2", | ||
| "resource": "compile", | ||
| "action": "pdf", | ||
| "description": "Compile .d2 file to PDF diagram", | ||
| "description": "Compile a .d2 file to PDF", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "baseArgs": ["--format", "pdf"], | ||
| "positionalArgs": ["input"], | ||
| "baseArgs": [], | ||
| "positionalArgs": ["input", "output"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install d2" | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| }, | ||
| "args": [ | ||
| { "name": "input", "type": "string", "required": true, "description": "Path to .d2 file" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output path" } | ||
| { "name": "input", "type": "string", "required": true, "description": "Input .d2 file path" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output PDF file path (default: input.pdf)" }, | ||
| { "name": "--theme", "type": "number", "required": false, "description": "Theme ID (0-6)" }, | ||
| { "name": "--dark-theme", "type": "number", "required": false, "description": "Dark theme ID" }, | ||
| { "name": "--pad", "type": "number", "required": false, "description": "Padding in pixels" }, | ||
| { "name": "--layout", "type": "string", "required": false, "description": "Layout engine" }, | ||
| { "name": "--scale", "type": "number", "required": false, "description": "Canvas scale factor" }, | ||
| { "name": "--bundle", "type": "boolean", "required": false, "description": "Bundle dependency icons as base64 data URIs" }, | ||
| { "name": "--font-regular", "type": "string", "required": false, "description": "Path to .ttf regular font" }, | ||
| { "name": "--font-italic", "type": "string", "required": false, "description": "Path to .ttf italic font" }, | ||
| { "name": "--font-bold", "type": "string", "required": false, "description": "Path to .ttf bold font" }, | ||
| { "name": "--font-bold-italic", "type": "string", "required": false, "description": "Path to .ttf bold-italic font" }, | ||
| { "name": "--target", "type": "string", "required": false, "description": "Export format: svg, png, pdf (default)" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "d2", | ||
| "resource": "compile", | ||
| "action": "theme", | ||
| "description": "Compile with a specific theme", | ||
| "resource": "watch", | ||
| "action": "start", | ||
| "description": "Watch a .d2 file and recompile on changes (hot reload)", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "baseArgs": ["--theme"], | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install d2" | ||
| "baseArgs": ["--watch"], | ||
| "positionalArgs": ["input"], | ||
| "timeout_ms": 300000, | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| }, | ||
| "args": [ | ||
| { "name": "input", "type": "string", "required": true, "description": "Path to .d2 file" }, | ||
| { "name": "theme", "type": "number", "required": true, "description": "Theme ID (0-300+)" }, | ||
| { "name": "output", "type": "string", "required": false, "description": "Output path" } | ||
| { "name": "input", "type": "string", "required": true, "description": "Input .d2 file to watch" }, | ||
| { "name": "--theme", "type": "number", "required": false, "description": "Theme ID" }, | ||
| { "name": "--layout", "type": "string", "required": false, "description": "Layout engine" }, | ||
| { "name": "--pad", "type": "number", "required": false, "description": "Padding" } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "d2", | ||
| "resource": "_", | ||
| "action": "_", | ||
| "description": "Passthrough to d2 CLI for any command not covered by specific resources", | ||
| "description": "Passthrough to d2 CLI for advanced options", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "d2", | ||
| "cwd": "invoke_cwd", | ||
| "passthrough": true, | ||
| "timeout_ms": 60000, | ||
| "missingDependencyHelp": "Install d2: curl -fsSL https://d2lang.com/install.sh | sh" | ||
| }, | ||
| "args": [] | ||
|
|
||
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.
When callers pipe data to
sc b3sum hash stdin, this wrapper runs in normal captured process mode rather than passthrough/stdin-forwarding mode; the Node process adapter usesstdin: "ignore"for captured commands, and the Zig adapter similarly captures output without inheriting stdin. As a result,b3sum --no-namesreceives EOF and returns the hash of empty input instead of the piped bytes. Please either forward stdin for this command or expose it through passthrough.Useful? React with 👍 / 👎.