Mission control for agents.

You are the bottleneck now. Agents run tens at a time; you still read one diff at a time.

All downloads: macOS, Linux AppImage, Linux .deb, Windows. Free beta for personal, non commercial evaluation: licence.

AK-1503 · build me a snake game window
The rev0 board: two agents at work on their own branches, a plan waiting for sign-off, and the whale plugin swimming across.
rev0 recorded this itself, driving its own board. The waiting is sped up; nothing else is. A Loop reviews a repo three ways at once, an agent signs in to a dashboard with your help, and one ticket becomes a working Snake game, shipped through one reviewed merge.

Plans

The plan is a page you can click, not a wall of prose.

Click any element, leave a note, and it goes back to the agent pinned to that element. The one below is live.

SPA plan · awaiting sign-off
Goal Move sessions out of the app process and into Redis
Option A Redis, with a dual-write window. Two days, no downtime.
Option B Postgres table plus an index. Half a day, slower reads.
Rollout
Risk Sessions issued before the cut over will not carry the new claim

    Click any part of the plan above.

    Three shapes of plan

    Markdown when that is enough, a graph of steps you can rearrange, or a full interactive page when the decision is visual.

    Reject one part, keep the rest

    You argue with one step, the agent answers that step, and the rest of the plan stands.

    The shape of the thing

    A ticket crosses the board, and you are in the middle of it.

    Every lane is a place you can stop it, read what it did, and change your mind.

    Todo

    You write a ticket: a title, a paragraph, and whether it plans first.

    In Progress

    An agent claims it and opens its own git worktree and branch.

    Pending Action

    It reaches outside the allow-list, stops, and asks you.

    In Review

    A branch, a diff, and graded findings, for you to sign off.

    Done

    One reviewed merge reaches your base branch. Nothing else does.

    Quality

    You never see the first draft.

    Set the budgets once; the agent fixes what it broke before the ticket reaches you.

    AK-16 · agent work log

    • 1wrote parse_manifest()CRAP 38
    • 2gate: over budget, 30 is the limitrejected
    • 3split it, added two testsCRAP 21

    It corrected itself. You get the version that passes.

    Your numbers, only on what it touched

    File length, complexity, coverage, per language and yours to change. Debt you did not write is left alone, so you can switch it on today.

    Engines

    A harness for your harness.

    It drives Claude Code or Codex, not a model API, on the subscription you already pay for. Pick the engine per ticket.

    Board · engine per ticket

    • AK-16build me a snake gameClaude Code
    • AK-21rewrite the token parserCodex
    • AK-24bump the changelogClaude Code

    Three tickets, two engines, one board.

    Bring your own subscription

    No API key and no per-token meter: five agents at once cost what your Claude or Codex plan already costs.

    The agent is a setting, not the product

    Whichever engine ran it, what lands is a branch, a diff, graded findings and one merge.

    Containment

    It does not run on trust.

    Anything outside the allow-list stops the run and asks you, reasoning attached.

    Pending Action · needs permission

    I'm requesting set_plugin_source(state="loaded") because that is the last step the ticket asks for. Expected effect: a new Snake tile becomes clickable in App Space. To undo: call it again with state = "unloaded".

    Go on, click one. Nothing happens here. On a real board this is the moment the run stops and waits for you.

    Deny always wins

    Allow-lists, deny-lists and ask-lists per board; a ban is absolute and an ask always reaches a human.

    The agent argues its own case

    Every request arrives with what it wants, why, and how to undo it.

    Breadth

    A pipeline you can see before it runs.

    A Loop is a graph you edit and approve, and it runs in exactly that order.

    Loop · pipeline

    trigger subticket subticket gate

    Two nodes with no path between them run at the same time.

    Real parallelism, one reviewed merge

    Every ticket gets its own git worktree and branch, and everything reaches your base branch through a single merge.

    Gates in the graph

    A human approval before anything irreversible, or a reviewer from a different model family that has to sign off first.

    Extend

    Teach it new tricks.

    Point the board at a folder or a repo. The Snake game in the demo arrived this way.

    What a plugin can add

    • A command you can run on any ticket
    • A panel on the board, your own UI
    • A tool the agent can reach for mid-run
    • Code that runs on the boardasks first

    Only the last one runs anything, and it asks you first.

    It stays out of your project

    A plugin is cloned into a directory the board owns, never into yours.

    Its UI cannot reach your data

    Panels run sandboxed: no cookies, no storage, no board data, and you approve any network host.

    Anywhere

    It runs on your phone. Today.

    The same board, installed like an app, not a cut-down companion.

    Answer from anywhere

    The gate, plan sign-off and the merge button all work at phone width.

    It comes to you

    Your phone buzzes when an agent stops to ask, so supervising a run is not a tab you refresh.

    In progress

    rev0 is trying things nobody else is.

    An experiment in what supervising agents should feel like. Being built now:

    exploring

    Agents that teach, not just deliver

    A ticket can end with a short quiz on what changed, so you do not go deskilled.

    shipping

    Plans stopped being documents

    A graph you rearrange or a page you click, and approval became a conversation.

    exploring

    Loops that are fully deterministic

    Pipelines that run the same way every time, so you rely on them rather than re-read them.

    exploring

    A hosted version

    The board without running it yourself; local-first stays the default.

    Every ticket starts at rev 0.

    Provenance

    Built by itself.

    Every line of this page and the tool behind it was written by agents on this board, merged through the gate you just clicked. It runs on your machine, on your own repos.

    Download for Apple SiliconmacOS Read the tutorial

    All downloads: macOS, Linux AppImage, Linux .deb, Windows.