The review layer for agentic coding
Everyone is racing to spawn more agents. Porcelain stands on the other side of the pile: a place to focus and review, not another place to run everything. Your agents keep running where they already run. Porcelain is where you review what they built as a story, not a file list. On your Mac, or any browser.
Why Porcelain exists
Coding agents generate faster than anyone can trust. The pile of unreviewed diffs just grows. The tools around agents still assume writing is the hard part. It is not.
Built for authoring: LSP, extensions, refactors. Heavy when you only need to read, annotate, and decide.
Diffs as an alphabetical list of files, with no sense of how a change actually runs through your stack.
Race to spawn more agents in more worktrees. The pile grows. None of them help you trust what came out.
Porcelain is the fourth path: a review companion. Not an editor. Not an agent host. Agents publish into it. You read, comment, and sign off. They resolve. That loop is why it exists.
What you download it for
The Review
Intent, Execution, Evidence for every unit of work. A document your agent authors, not a dump of every dirty path.
Flow for your repo
Changes grouped by agent-managed layers for this tree. Not a fixed React stack. Entry point toward data.
Two-way loop
Comments become agent context. Resolutions come back. Board, layers, hide/pin: agents connect to the product.
Focus
Hide what you will never touch. Pin what you live in. Large trees stay fast: nothing indexed until you open it.
Anywhere
Share over LAN or Tailscale. Mac app, remote window, or any browser. Terminals and review state stay on the host.
Companion
Keep the tools you already prefer. Run any agent CLI next to the review, or outside the app. Same Review either way.
The Review
Your agent does not just hand you a diff. It publishes the Review: the one active story for this repo (feature, bug, chore, investigation). You read a document. You mark files reviewed. You clear when the unit is done.
Intent
What is this, and what's the idea? Thesis and walkthrough prose. Optional freeform board when the shape of the idea needs space.
Execution
What did the agent touch, and is the code right? Only the files it listed, in the order the change runs, with notes. Includes unchanged code a plain diff would hide.
Evidence
Did it actually work? Proof the agent verified its own work: HTML, checks, screenshots. Not a claim without a trail.
Agent-shaped flow
Even without a published Review, the Changes tab groups the working tree along flow layers. Those layers are not a fixed stack (no assumed components → hooks → routes). Your agent learns how this project is laid out and groups entry-point toward data. Alphabetical is never the real story.
The human ↔ agent loop
Most harnesses host an agent and stop there. Porcelain is the product agents write into and read back from: Review, comments, board, layers, hide/pin. On machines you control. No account. No telemetry.
Comments as context
Select a line range or right-click a file. Leave a note. Comments travel as review context so it fixes the right thing and marks each one resolved.
A board your agent drives
A per-repo To Do / Doing / Done board. Agents read it and move cards as they work. Queue the next job without spelling every step in conversation. Board is the queue; Review is the one active story.
Focus
Works on large repos and monorepos alike. Right-click to hide a folder: it dims and stops loading. Pin the paths you care about. Your agent can set that up for you. Nothing is indexed until you open it.
Anywhere is the same place
Run the daemon on the machine that holds your code, then reach it over your LAN, private Tailscale network, or public HTTPS with Tailscale Funnel. Each Mac, phone, or tablet gets its own revocable access. Terminals and review state live on the host, so reconnects pick up where you left off.
Local app
Native macOS app on a local daemon. Full chrome, auto-updates, the everyday seat.
Remote environment
Point a window at a saved remote. Per-window: local monorepo in one window, remote power in another.
Any browser
The same client the app ships, served by the daemon. Start when you work, Ctrl+C when done.
Terminal next to review
Porcelain does not host agents of its own. Run yours in the terminal you already use, or in the one embedded here. On a remote environment you can open shells on the host and on This device, and each saved Action chooses which side it runs on.
Also in the window
Ship without leaving the seat. Search and history when you need them. Still not an IDE: autocomplete, rename, and multi-file refactors stay in your real editor.
Finish where you read
When the read is done, finish the job without bouncing to another app. Conventional-commit chips, suggested commands, open comments still in view. Nice when you live in the Review. Not the moat.
Files, folders, saved commands, and commits in one bar.
Full messages, then open the diff behind any commit.
Install
Pick a seat, then connect your agent. The skill is required either way: without it, agents never publish the Review.
Seat · Mac
macOS on Apple Silicon. Auto-updating. No account. No telemetry. Free forever.
Seat · Browser
Linux, Windows, iPad, phone: no app install. Start the daemon on the machine that holds your code and open the URL in any browser. Same client as the Mac app.
Everyone · required
Whether you use the Mac app or a browser, teach your agents the Porcelain workflow with one companion skill. Global install so every project sees it: