↑ subaud · local-first · source-available

Guide

One round, start to finish.

galley opens a document in your browser so you and an agent can work on it together. You edit it directly and leave instructions on the passages you want the agent to change; the agent revises the same file, and galley shows you what changed. The diagram below plays one round through, and the rest of the page follows it — then shows the same loop over an HTML page and with any agent you already use.

the round

You edit and instruct; the agent revises the file.

A round is one pass of the work. You send your edits and your instructions together, the agent revises the file, and galley shows you the result next to what you asked for. Watch it play once below, and read the caption as each step lights up.

you in the browser galley holds the document the agent works in the file you edit the document directly you highlight a passage and leave an instruction on it press Revise the round — your edits and instructions the agent revises the file galley ack — answered galley compares the two versions what changed, beside your instruction you read it and send another round or you approve, and the file on disk is the finished document you ↔ galley · in the browser galley ↔ the agent · through the file
1 · edit — you edit the document directly in the browser

galley computes the difference between the two versions itself, sentence by sentence, so a rewrite reads as a single change and sits next to the instruction that asked for it. Each version is kept under .galley/versions/ for you to look back on, and the file on disk is only ever the document itself.

whole-document instructions

Instruct the whole document, not just a passage.

Most instructions point at a passage: you select the text and describe the change. Some ask for something the whole document has to answer — a shift in tone, a section that should exist, a term to use throughout. Leave those on the document itself. Add an instruction with nothing selected: click + Instruction in the bar, or right-click the prose with no selection. Same gesture as a passage instruction, no mode to switch — galley reads the empty selection as “the whole document” and scopes it there. It rides the round like any other, and the agent answers it across the file.

html pages

Review the writing on a web page.

Point galley at an .html page and it opens the writing on that page for review, in a round like any other. galley pulls the text out for you to edit and instruct on, keeps the layout, styles, and scripts aside, and rebuilds the page after every save, so what you read in the browser is the real page, styled as it ships.

You change the words the same way you change any document: edit them directly, or leave an instruction on a passage. Changing the layout itself is an edit to the .html, and galley reads the page again and carries the writing across.

any agent

Use the agent you already have.

galley never calls a model itself. It works with a coding agent — one that reads and edits files as it works — and there are two ways to connect one, so pick the one that fits how your agent already runs.

the channel

galley channel is an MCP server that delivers each Revise straight into a running agent session, so the agent answers without leaving what it was doing. It needs a harness that supports galley's channel — Claude Code and the pi extension do today — and where it runs, this is the smoothest way to work.

a shell loop

An agent runs galley wait <doc> and it blocks until a round arrives, then prints your instructions. It answers, waits again, and needs nothing set up in advance.

Ready to try it? curl -fsSL https://galley.tools/install.sh | sh, then ask your agent to open a document for review — through the channel where it has one, over a wait loop where it doesn't. You review in the browser; the agent runs galley.