Apron Agents
A local, one-command tool that breaks a coding task into small independent issues, hands them to worker agents that each work in an isolated sandbox, and merges their work one chunk at a time behind a human review gate.
The name comes from the airport apron: the staging area where aircraft are prepped and checked before they ever reach the runway. Apron Agents does the same with code before it reaches your real remote.
How it works
- An orchestrator agent splits your task into small, file-independent issues.
- Worker agents each claim an issue and work in an isolated clone of a disposable, fully local sandbox repository (a bare repo in a temp dir acting as a "fake GitHub"). Your real remote is never touched.
- A merge controller merges one branch at a time, running tests on every candidate merge.
- A dashboard gives you a live view of every agent plus a chunk-by-chunk review-and-merge control surface. In supervised mode, nothing merges without your approval; in autonomous mode, green tests are enough.
- When everything is merged and green, the final result is copied into your working directory and the tool stops. You test locally and run any real git operations yourself.
Install
pip install apronagents
Then, from the project directory you want the agents to work on:
apron start
This boots the orchestrator, workers, merge controller, and dashboard server, and opens the dashboard in your browser. Enter a task, review the diffs, and approve merges chunk by chunk; when everything is green the result lands in your working directory and the tool stops.
No account? Try the whole flow with fake agents:
apron start --runner demo
Common flags:
apron start [--mode supervised|autonomous] [--runner ...] [--test-command 'pytest -q']
apron task "add dark mode" # dispatch to a running apron from your terminal
Quick start from a clone
For hacking on Apron itself:
git clone https://github.com/Ut8v/apronagents && cd apronagents
./run start
This sets up the environment with uv and launches everything the same way.
Agent backends
Workers run on whatever you already use — pick with --runner or let
auto-detection choose:
| Runner | Powered by | Needs |
|---|---|---|
claude-code |
The claude CLI, headless |
Any Claude plan (Pro/Max) or API login — whatever Claude Code already uses |
codex |
The codex CLI, headless |
A ChatGPT plan or OpenAI key — whatever Codex already uses |
api |
The Anthropic API directly | ANTHROPIC_API_KEY or an ant auth login profile |
demo |
Fake in-process agents | Nothing — try the whole flow with no account |
Any other headless agent CLI can be plugged in as a CliProfile
(src/apron/workers/cli_runner.py).
Customizing agents
Agent behavior lives in editable markdown definitions, not code. Apron ships
defaults, discovers your existing .claude/agents/ definitions read-only,
and writes any edits you make in the dashboard to a .apron/ overlay that
hot-reloads on the next issue.
Contributing
See CONTRIBUTING.md — setup, workflow, and the invariants every change must respect. CI runs the test suite (Python 3.11–3.13), the dashboard typecheck/build, and a wheel install smoke test on every push and pull request.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apronagents-0.1.2.tar.gz.
File metadata
- Download URL: apronagents-0.1.2.tar.gz
- Upload date:
- Size: 410.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26fb64ba832525c00fdae11b9d4e4e1655a8bbab9f2c4aaad922bf1468b14c84
|
|
| MD5 |
f82bf6841154168e854873eac488bbf6
|
|
| BLAKE2b-256 |
e89a045f4a8e66ea236b49b66b1e358eb04c45fffedf198dabeef6d93681af64
|
File details
Details for the file apronagents-0.1.2-py3-none-any.whl.
File metadata
- Download URL: apronagents-0.1.2-py3-none-any.whl
- Upload date:
- Size: 129.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d2cd09de29f064ea0d3c3d62baa7b70a0527f694597ab6e3808aa55cd04b8ce
|
|
| MD5 |
942a4802ea112965f8eead4dcb356ddc
|
|
| BLAKE2b-256 |
7366de8503626d4263f21943e7fd616e591480bde54ecbb2044be64654e6fb2f
|