rune

Apache-2.0 · open source · native, no runtime

A tiny coding agent
harness in Rust.

About 3 MiB and 2 ms to start, with a build that fails if either grows. Ask where a limit came from and it names the file that set it.

$ brew install aadixc0de/tap/rune

rune is taken in Homebrew core by an unrelated language, so the tap is named explicitly. Then connect a provider, because a fresh install has none.

rune doctor

$ rune doctor

rune 0.1.0

ok workspace /Users/you/project

ok state root ~/.local/state/rune

ok configuration every layer parsed

? provider no provider connected

run 'rune connect' to choose one

ok sandbox seatbelt restricts every command

$ rune "why does the build fail on CI?"

binary
about 3 MiB
startup
about 2 ms
runtime
none, one binary
license
Apache-2.0
telemetry
none

what it does differently

Tiny, and held there

About 3 MiB and 2 ms to start, measured on every run against a ceiling of 8 MiB and 5 ms. A build fails when either is crossed, and the argument and configuration paths never load the agent runtime.

Model and provider agnostic

Any OpenAI-compatible endpoint, the Responses API, Anthropic, or one you name yourself. Connect it once and it is remembered.

Every decision names its source

A limit, a permission, a setting: each one reports where it came from, so rune permissions and rune config answer the question rather than restating the value.

Sandboxed execution

Commands run under the platform sandbox where one exists, so an agent cannot write outside your workspace. rune doctor reports what your host can enforce.

Sessions you can resume

Every turn is written as it runs. Interrupt anything and pick the session back up, or copy a damaged one into a new one rather than losing it.

Local by default

Sessions, usage, and credentials stay on your machine. --offline refuses every outbound request, and a test proves it makes none.

the surface

CommandWhat it does
runeStart an interactive session.
rune ask "..."One request, prints the answer. Pipe it, script it, read it as JSON.
rune reviewReview the pending changes in this repository.
rune resume lastContinue the most recent session in this workspace.
rune connectConnect a provider and remember the choice.
rune permissionsSee the rules, and why one of them decided what it did.
rune doctorCheck what this machine supports.
rune acpServe the Agent Client Protocol so an editor can drive a session.

Custom slash commands live in .rune/commands/*.md in a repository, so a team can ship a workflow alongside the code.