Skip to content
Closed
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
42 changes: 23 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,6 @@ the answer on stdout, diagnostics on stderr, a verdict in the exit code. Speaks
to any OpenAI-compatible endpoint. Sibling binary `clank-jev` routes and gates;
compose them — do not fold chat/agent UX into `clank`.

```sh
cargo build --release
export CLANK_BASE_URL=http://127.0.0.1:8080/v1 # your server — no laptop-only default
export CLANK_MODEL=$(curl -s "$CLANK_BASE_URL/models" | jq -r '.data[0].id')
./target/release/clank -m 'reply with exactly: pong' # -> pong, exit 0
```

![clank in a shell](docs/images/clank-demo.gif)

Recorded against a live server by `scripts/record-demo.sh`: observers, pipe as
Expand Down Expand Up @@ -86,23 +79,18 @@ two variables plus the flags in [Configuration](#configuration) are the whole
configuration: no config file, no state on disk. Container instead of a
toolchain: [In a container](#in-a-container).

## What it is for

Ask a model about text you already have, and get back something your shell can
act on:
## 30s smoke

After install, point at your OpenAI-compatible server and prove the pipe:

```sh
rg -n -C3 "userData" src/ | clank --thinking off -m "what does this do?"
git diff | clank --thinking off --max-tokens 400 -m "review this diff, one line per issue"
rg -n "TODO" src/ | clank --each --thinking off -m "one line: actionable now, or not?"
clank --json-schema @schema.json -m "extract the findings" | jq -er .
clank --jsonl -m "summarize" | clank -m "what did you say?"
clank --system @prompts/review-sh.md -c script.sh -m "review the script"
export CLANK_BASE_URL=http://127.0.0.1:8080/v1
export CLANK_MODEL=$(curl -s "$CLANK_BASE_URL/models" | jq -r '.data[0].id')
clank -m 'reply with exactly: pong' # -> pong, exit 0
```

## Keeping it fast

### Harness cost (dated)
## Harness cost (dated)

**2026-09-22** one-shot on the same Go model (`opencode-go/glm-5.3-flash`),
tools off, prompt `→ pong`. This is **pipe vs agent CLI**, not a quality
Expand All @@ -118,6 +106,22 @@ benchmark — agent harnesses still pay TUI/runtime tax with `--no-tools`.
Full method, caveats, and runs:
[docs/history/clank-vs-agents-2026-09-22.md](docs/history/clank-vs-agents-2026-09-22.md).

## What it is for

Ask a model about text you already have, and get back something your shell can
act on:

```sh
rg -n -C3 "userData" src/ | clank --thinking off -m "what does this do?"
git diff | clank --thinking off --max-tokens 400 -m "review this diff, one line per issue"
rg -n "TODO" src/ | clank --each --thinking off -m "one line: actionable now, or not?"
clank --json-schema @schema.json -m "extract the findings" | jq -er .
clank --jsonl -m "summarize" | clank -m "what did you say?"
clank --system @prompts/review-sh.md -c script.sh -m "review the script"
```

## Keeping it fast

The model is the constraint (clank's own share is 1 ms of startup), so the lever
is the tokens you pay for:

Expand Down
Loading