MULTIPLE PROVIDERS · ONE CLOSED LOOP

Different agents.
A single loop.
Real engineering.

Claude, Codex, Cursor, Cline, Antigravity — each in its own card, all talking to one another through the board. One orchestrates, others implement, another reviews, and the report goes back to whoever asked. The loop only closes once an agent that did not write the code has judged it.

  • 01Contract before codeterritory, gate and report shape
  • 02One agent per territoryno two writing to the same file
  • 03Whoever writes does not approvethe verdict comes from another provider
  • 04Commit only after the verdictone slice per task, in a clean worktree
runs local · no account · no server · GPL-3.0
Every pass is a recorded event — contract, spawn, report, verdict. Nothing is lost in a closed window.
HOW IT WORKS · ONE TASK FROM REQUEST TO COMMIT

Six moments. One board you see whole.

Scroll and the board beside it advances. Or click a note to jump to it. What appears here is what the app does — same states, same colors.

board · retry-queue1 task written · no agentorchestrator writing the contract2 implementers runningdiff growing · browser openreviewer reading 62 lines2 tasks done · 2 commits
01 · THE REQUEST

It all starts in the Queue.

You write what you need, not for whom. A task is a unit of delivery: the measured defect, the territory it may touch, the gate that proves it and the shape of the report.

The task outlives the card and the app restart. It can be born with no agent at all.
02 · THE CONTRACT

One card orchestrates the others.

The orchestrator reads the Queue and writes the contract. It does not implement: it briefs, reads the diff, verifies and integrates.

Whoever decides on the commit is it — and only it.
03 · THE DISPATCH

One implementer per territory.

Two agents, two providers, two files. The cyan connector is the spawn: a recorded fact, not a drawing. Each is born with allowCommit: false.

Two cards writing to the same file is collision, not parallelism.
04 · IN PLAIN SIGHT

Nothing happens off-screen.

The terminals run side by side, the diff grows in Changes and the canvas browser shows the screen running. Opening a new URL goes through your consent.

The agent writes in your tree; you see what changed before any commit.
05 · WHO JUDGES

Whoever wrote does not approve their own work.

A third card, from another provider, reads the diff and writes the verdict. With review: wanted, only it can close the task — not even the orchestrator.

An ok: true with empty gates is not delivery. Ask for the command, the output, the line.
06 · THE RETURN

Green only comes from another card.

The reports come back through the faded connector — the answer to the request. The orchestrator verifies in a clean worktree and commits one slice per task.

Verdicts are append-only: one line per round, forever.
WHAT LIVES ON THE BOARD

Not every card is an agent.
Every card is visible.

Live processes, real pages, documents and notes share the same plane. An agent can read and write in almost all of them — and opening something new goes through you.

terminal
A real agent CLI running — claude, cursor, codex, cline or antigravity. The scrollback stays in the card.
queue
Tasks with role, state and dependencies. It is what the orchestrator reads and what automatic dispatch follows.
changes
The diff of your tree, file by file, before any commit.
browser
A real page inside the canvas. Its snapshot becomes evidence in the report.
media
An image or PDF copied into the board assets, with its own zoom and rotation.
note
A note with a color category: annotation, done, in progress, bug. A person or an agent writes it.
files
The explorer of the directory the work touches, without leaving the board.
drawing
A freehand stroke to mark the board without stopping your reasoning.
USE CASES · END TO END

Six real jobs, assembled on the board.

THE SITUATION
Four tasks that do not touch the same files, and you do not want to be the copy-paste between four terminals.
ON THE BOARDqueueorchestrator · claudeimpl · clineimpl · cursorimpl · codexchanges
  1. 1Write the four tasks in the QueueEach with a contract: the measured defect, the territory, the gate and the shape of the report.
  2. 2The orchestrator dispatchesOne implementer per territory, each with allowCommit: false. The spawn connector stays recorded on the board.
  3. 3The terminals run side by sideYou follow without switching windows; everyone's diff shows up in Changes.
  4. 4The reports come backWith gates and evidence — command, output, line. Progress does not count as delivery.
  5. 5One slice per taskThe orchestrator verifies in a clean worktree at HEAD and commits each task separately.
IN THE ENDFour separate commits, each with who did it and who checked it — and a board that shows the whole path.
YOUR MACHINE, YOUR RULES

What lives here. And what we do not promise.

files · ~/.config/stellar
boards/sprints, cards, tasks
board-assets/images and PDFs pasted in
agent-canvas.dbthe record of everything
relatorios/what each agent reported
OS keychainyour keys, encrypted
Nothing leaves here unless you send it. The only external request is the new-version check on GitHub — a request, not telemetry.
WHAT WE DO NOT PROMISE

An agent terminal runs with your permissions — no sandbox. What is confined is the gate: it runs in bubblewrap on Linux and is refused where it does not exist, instead of pretending it confined something.

No account. No server.You install it, open it, and the board lives on your machine.
Your providers, your accounts.Claude, Codex, Cursor, Antigravity, OpenCode, Cline, Command Code or a plain shell — each card runs the CLI you already use.
Nothing updates on its own.The app tells you there is a new version; you are the one who clicks.

Assemble your first board.

When you open it, you do not land on an empty canvas: you land on your sessions, grouped by project, ready to resume.

$ sudo dnf install ./Stellar-0.8.4-x86_64.rpm
$ sudo apt install ./Stellar-0.8.4-amd64.deb
# .rpm and .deb update through the system manager; the AppImage replaces itself
only systems with a published build appear · macOS Intel has no build