perbo · free and open source

Only what needs you reaches you.

perbo plans a piece of work with you, runs it in its own worktree, reviews it independently and brings back only the decisions a person has to make. Everything else it closes itself.

Free and open source, Apache-2.0. Desktop app and CLI, built from source. No account.

The perbo mark: a hand-drawn takeaway coffee cup with a bite out of it.

Agents produce more than anyone can hold in their head: plans, diffs, transcripts, findings, rounds. perbo holds it instead. You see the spec you wrote, the graph you approved, and the one decision that is yours.

Works with Claude Code Codex GitHub macOS Terminal (CLI)
Planning mode in the works

Plan it once, with your own agent.

Create opens planning mode for one piece of work: four panes and the interview docked beside them. When you approve, the plan can't change under you.

Create Spec Explorer Graph Impact Home Settings
Planning · Retry a failed check once, then stop perbo · main waiting for your approval
Spec specs/retry-failed-check/

Retry a failed check once, then stop

retry-failed-check · 3 requirements · a page per node

R1A check that fails is retried exactly once before the attempt stops.
R2The stop carries its reason and the failing check's name.
R3The retry counter resets at the start of every attempt.

committed first · read-only to the executor

a folder in your repository · an id on every requirement · a page per node

A spec is a folder in your repository, with an id on every requirement and a generated page per node, so a node reads on its own. The loop commits it first, as the branch's first commit, and the executor may read it and never write to it. This is the executable spec: the plan is drafted from it, and what it says is what runs.

Create Interview Generate plan (once) Refine by editing Approve (once) Run Pull request

nothing is generated again unless you start over from the spec

The app

One window. The loop as it runs.

Desktop app and CLI over the same local store, .focrux/ in your repository.

Home Spec Explorer Graph Settings
perbo — ~/Developer/perbo
Execution graph · attempt 1 · round 2 approved
retry counter 2 criteria · 3 paths reviewed stop reason 1 criterion · 2 paths reviewed checks wiring 2 criteria · 4 paths running docs and tests 1 criterion · 2 paths queued

A node's state comes from the sealed change set, the checks and the review, never from what the executor said.

What it does

Three things, in order.

Create · Plan in the works

You write the spec first

You write the spec in an interview with your own agent, curate the execution graph and approve once. After that it can't change under you.

Loop · Reliability

The reviewer is independent

It sees the approved plan, the diff and your repository's own checks, never the agent's transcript. Findings it can close go back to the agent, round after round.

Build · Refine

It fixes what it can

You see what's left. perbo opens the pull request. Merging it stays yours.

Run it anywhere

Desktop app, CLI, your machine.

Desktop app

One window, your repositories, the loop as it runs. Built from source for now.

build it from the repository →

CLI

$ focrux run --repo .

the CLI keeps the repository's name, focrux, for now

The same loop over the same .focrux/ store.

Your machine

No perbo server. Your checkout, your tools, your login.

Get perbo for free View on GitHub

Apache-2.0. Desktop app and CLI, built from source.

FAQ

Questions

in the works Create's surface for one piece of work: Spec, Explorer, Graph and Impact panes with the interview docked beside them. You approve the graph once; the loop runs it per node.