Skip to main content

Apron Agents

Apron Agents

PyPI Python versions CI MIT license

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

Commands

apron start — boot everything and open the dashboard

apron start                          # supervised, auto-detected runner, current dir
apron start "add dark mode"          # dispatch this task as soon as apron is up
Flag What it does
--mode supervised|autonomous Supervised gates the plan and every merge behind your click; autonomous merges on green tests (default: supervised)
--runner claude-code|codex|api|demo Agent backend (default: auto-detect — claude CLI, then codex CLI, then API credentials, then demo)
--workers N Number of worker agents (default: 3)
--test-command 'pytest -q' Shell command run against every candidate merge
--dir PATH Project directory to work on (default: current directory)
--port N Dashboard port (default: 4650)
--with-session-context Summarize your most recent interactive Claude session for this project and give it to the planner and workers
--no-browser Don't open the dashboard in a browser

apron task — dispatch to a running apron from your terminal

apron task "add dark mode"                 # dispatch a task
apron task "add dark mode" --follow        # ...and narrate the run right here
apron task --from-issue 42                 # dispatch a GitHub issue of this repo
apron task --from-issue 42 --from-issue 43 # several issues as one task

apron report — run history and shareable reports

apron report            # list past runs of this project
apron report 8a645bde   # print one run's markdown report (a unique prefix works)

The report is the run's full audit trail — the task, the plan and whether it passed the plan gate, every review with its send-back reasons and line notes, what merged when, and exactly which files the handoff copied. Pipe it into a file or paste it into a PR.

Every setting is also an environment variable: APRON_MODE, APRON_RUNNER, APRON_WORKERS, APRON_PORT, APRON_TEST_COMMAND, APRON_SESSION_CONTEXT=1.

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

MIT

Metadata

Release files for apronagents 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apronagents 0.1.3
File Size Uploaded
apronagents-0.1.3.tar.gz 422.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apronagents 0.1.3
File Interpreter ABI Platform
apronagents-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 559.3 kB

Release files / apronagents-0.1.3.tar.gz

Download URL apronagents-0.1.3.tar.gz
Size 422.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b0787e4702d416e43cf7594f9aff2ec08cf0c67e63f172688123b689a145ee63
BLAKE2b-256 checksum
How to use checksums
aefd1f883c0dfe72c069ebdc561fe7428f1caf1731759e51be8dfd27a4bbbde1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

Release files / apronagents-0.1.3-py3-none-any.whl

Download URL apronagents-0.1.3-py3-none-any.whl
Size 137.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ca4c06209253a7ec08c0eba5dec50f24e5de1f2a74962c73865bb5ca73ea36e
BLAKE2b-256 checksum
How to use checksums
ec2b2a9e0555e35ae6eed86880b1c64b6f5cfe4b4a085aba057c31b6091c69cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page