Coding agent

Aerix.

Aerix is a coding agent for small models running on your own machine. It works in your terminal, in your repository, and every part of its loop is built around what a small model needs.

install
curl -fsSL https://caldrix.ai/install-aerix.sh | sh
aerix

How it works

One request, many short contexts.

  1. Route

    A decision model picks answer, edit, investigate or plan.

  2. Plan

    For edits the root holds briefs and results, not files.

  3. Delegate

    Each piece runs in a subagent that starts from the shared prefix and its brief.

  4. Verify

    A separate agent on a fresh context answers pass or fail, and a fail reruns the piece.

  5. Show the diff

    The request ends with what changed since it started.

How a request runs, end to end

Design

Built around the small model, not pointed at it.

A general agent assumes a model that writes free-form tool calls, holds one long conversation and recovers on its own. Aerix assumes none of that.

Every turn parses

Each turn is one JSON object, either calls or a final answer, with no tool markup from a chat template. The pool constrains each turn when the member runs unbatched, which is Aerix's default; a turn that still fails to parse goes back to the model to be asked again.

The turn

A small model decides the shape

Before any work starts, a decision model picks whether the request is an answer, an edit, an investigation or a plan. Routing picks the shape of the task, never the model that does it.

A request, end to end

A verifier that did not do the work

Each piece is checked by an agent on a fresh context that did not write it, answering pass or fail with a reason. A fail reruns the piece with that reason, up to a retry limit you can set.

Delegation

Context is a tool, and the runtime owns it

The model can list, drop, summarize, pin and note what is in its context, and before every turn the runtime compacts what is unpinned when it runs over its limit. If an agent still has no room, it ends with a named failure its parent sees, not a hang.

Context management

Subagents keep each context short

For edits and plans the root only plans: it holds briefs and results, not files. Each piece runs in a subagent on a fork of the shared prefix plus its brief, and sees none of the caller's conversation.

Delegation

Profiles per model, tuned from your sessions

Prompts, tool descriptions and overlays live in a git profile with a branch per model, and aerix tune commits a proposed revision from your sessions to that branch. Nothing measures whether a revision is better; read it before relying on it.

aerix tune

Your Claude Code setup, read only

Aerix reads the CLAUDE.md and AGENTS.md files, memory, hooks, skills, agent definitions and plugins you already have, and from Claude Code's settings only hooks, env, plugins and attribution. It never writes to ~/.claude; permissions, model settings and MCP are not read.

Settings files and precedence

Caldrix underneath

The pool keeps every context resident.

Aerix talks to caldrix pool over a Unix socket, in a protocol built for agents. A context is a list of segments Aerix appends, edits, forks and drops, and the pool keeps each model's computed prefixes. A later turn, a subagent's fork, a verifier or the next request in the same directory resumes from the stored prefix when that costs less than computing it again, and the pool says where each generation resumed. Constrained decoding and logprobs, which an OpenAI-shaped API hides, are part of the same protocol.

The protocol and resident prefixesHow Caldrix runs the model

FAQ

Straight answers before you run it.

Does Aerix call a hosted model?
No: every generation comes from a caldrix pool on your machine; there are no remote models, keys or provider adapters.
Does it sandbox what it runs, or let me undo it?
No. It runs every command and edit in place in your working tree, with no permission prompts, checkpoints or undo, in the live screen and headless alike. Each request ends with the diff against the state it started from, and in the live screen you accept the root's first plan before work starts. Run it in a git repository, where you accept that.
Which models and hardware does it run on?
Linux x86_64, and macOS 14.0 or newer on Apple silicon; it runs the models caldrix runs, named once in your settings. caldrix pool has been run on the CPU lane and on Metal. AMD GPUs have not been run with the pool.
Do I need Claude Code?
No. If you have its configuration, Aerix reads it; it never writes to ~/.claude.
Does aerix tune make it better?
Nothing measures that. Each run is a commit on your model's branch that you read with aerix profile diff and revert with aerix profile edit; text in your sessions reaches the reflection model, so review what a run committed.
Is Aerix open source?
No: it ships as a binary; its public repository holds the docs, the releases and the issue tracker.
Can I use it at work?
Yes: one person using it on a single system, for work or not, needs no licence; deploying it for use by many users does.

Get started

Run it in your repository.

One line installs Aerix, and Caldrix with it when you don't have it. Name a model once, then run aerix.

$ curl -fsSL https://caldrix.ai/install-aerix.sh | sh
$ aerix -p "explain what src/main.rs does"