Warble helps you author and reuse an agent's harness: its instructions, behaviors, tool requirements, and constraints. Keep those choices in a reviewable profile, compose reusable components, and emit the native artifacts for a supported runtime. Data agents are the main use case; the first tutorial simply summarizes text supplied by the user.
profile + components + optional context ──► warble compile ──► IR ──► warble dispatch ──► native agent
Your prompts are authored assets. The compiler's IR is the intermediate contract that lets back-ends reuse them; understanding its schema is not a prerequisite for writing a harness. Portability covers each target's supported semantics, not identical model behavior.
For CLI file targets, Warble checks requirements and writes native instructions and settings; the coding agent owns the conversation and agent loop. Prompt instructions such as "retry three times" do not by themselves enforce a counter. Unsupported safety-critical or unknown capabilities fail before executable artifacts are emitted; explicitly supported best-effort degradation is reported. Warble does not add a general workflow runner for arbitrary loops, branches or checkpoints. Existing SDK/local integrations retain their bounded contracts. See settings and guarantees.
New here? Read the introduction. The
authoritative contract lives in docs/spec/.
Warble is pre-1.0 (0.x), and any 0.x bump may BREAK any public API, CLI flag, or file
format. See RELEASING.md for the pre-1.0 policy and
CHANGELOG.md for what has already changed.
The local Codex dispatcher now requires explicit --transport exec|turn|orchestrate and
caller-owned --step-tool / --require-tool bindings, without legacy flag aliases.
See its transport and isolation contract.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Canner/Warble/releases/latest/download/warble-cli-installer.sh | shInstalls the warble binary into ~/.cargo/bin — no Rust toolchain needed. macOS and Linux only;
there are no Windows or musl builds. If you already have Rust, cargo install warble-cli --locked
works as well. Prebuilt tarballs and checksum verification are covered in
Installation.
git clone https://github.com/Canner/Warble.git
cd Warble
just release
export PATH="$PWD/target/release:$PATH"just release is a thin wrapper around cargo build --release --locked -p warble-cli.
Start with a local text-summary harness. From a source checkout, compile and emit its native files:
warble check examples/first-harness --target claude-code:headless
warble preview examples/first-harness --target claude-code:headless
warble build examples/first-harness --target claude-code:headless --out agentcheck, preview and build manage the intermediate IR for authors. Preview shows exact native
instructions, author sources and generated permissions; build requires a new output directory.
The lower-level compile and dispatch commands remain available for backend/host integrations.
This one-file profile needs no context binding. Inline-only and locally resolved projects compile
offline without fetching the Hub, and these commands do not run a model. Read agent/RUN.md
before starting the native agent; this example needs Claude Code but no database or wren CLI.
IR 0.9 represents absent context explicitly. Upgrade readers together and recompile old 0.8 IR.
The Quickstart walks through the files and optional run,
and the CLI reference covers the other commands (render,
manifest, eval, blast-radius, mcp-serve).
- Getting started — introduction, installation, quickstart, your first profile
- Concepts — how Warble works, profiles, components, capabilities, blast radius
- Specs — the authoritative contract: authoring, IR schema, capability model, binding
- Roadmap — what is built, what is deferred, and what each behavior tier unlocks
CONTRIBUTING.md has the project layout, the build and test flows, and the design rules a change has to fit. Bugs and feature requests go to GitHub Issues.
just build, just test, just lint, and just doc cover the Rust workspace, and the two
TypeScript back-ends have their own recipes (just --list); the docs site builds with plain npm
scripts. Pointing a coding agent at Warble? See
AI resources.