Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions plugins/b3sum/install-guidance.json
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."
}
5 changes: 5 additions & 0 deletions plugins/b3sum/meta.json
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
}
107 changes: 107 additions & 0 deletions plugins/b3sum/plugin.json
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"],
Comment on lines +63 to +65
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Forward stdin for the stdin hashing command

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 uses stdin: "ignore" for captured commands, and the Zig adapter similarly captures output without inheriting stdin. As a result, b3sum --no-names receives 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 👍 / 👎.

"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": []
}
]
}
58 changes: 58 additions & 0 deletions plugins/b3sum/skills/quickstart/SKILL.md
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
```
12 changes: 12 additions & 0 deletions plugins/d2/install-guidance.json
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."
}
6 changes: 3 additions & 3 deletions plugins/d2/meta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"description": "D2modern 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": "d2declarative 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
}
109 changes: 72 additions & 37 deletions plugins/d2/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "d2",
"version": "0.1.0",
"description": "D2modern diagram scripting language that turns text to SVG, PNG, or PDF",
"description": "d2declarative 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" }
Expand All @@ -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": [
{
Expand All @@ -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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Mark wrapped positionals for sc-zig

In the sc-zig path, adapterConfig.positionalArgs is not used when executing exact commands; only args marked with "positional": true are emitted as bare CLI arguments (executor.parseArgDefs/buildFlagArgs). Because these D2 inputs are only listed in adapterConfig.positionalArgs, sc-zig d2 compile svg input.d2 output.svg drops input.d2 and output.svg and runs just d2, even though the D2 CLI manual expects input/output as positional operands. Please add positional: true to these args (and the same pattern in the other new positional wrappers) or make the commands passthrough.

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": []
Expand Down
Loading
Loading