Skip to content

Getting started

Diffo turns any git changeset into a live review in your browser, whether that's uncommitted agent output, a branch, or a commit range. Your comments go straight to the agent that wrote the code, and its fixes land in the diff while you keep reading. It's entirely local: no config, no accounts, nothing leaves your machine.

Requirements

  • Node >= 24
  • git on your PATH

Install

There are two ways in: paste a prompt and let your agent handle it, or run the install yourself. Both end in the same place.

Have your agent set it up

Paste this into Claude Code, Cursor, Codex, or whichever agent you already use:

text
Run `npx skills add DiffoHQ/diffo --skill diffo -g` and open the diffo review

That installs the skill globally, so it is there in every repo, and the review of your current changeset opens in the browser. There is nothing to configure afterwards.

Install the skill yourself

bash
npx skills add DiffoHQ/diffo --skill diffo

That's the whole install: project-local by default, -g for everywhere. There is no CLI to set up: the skill runs diffo through npx, so it comes along on demand. Then, in any session, just say:

"open a code review"

The agent opens a live review of its own work and hands you the URL. Your comments arrive in its context, its replies land inline in your threads, and its fixes update the diff live while you read.

And the plain diff viewer needs no install at all: npx -y @diffohq/diffo inside any repo opens the browser on your working tree vs HEAD.

Running from a clone instead

Contributors (or anyone avoiding npx) can run the CLI straight out of a checkout:

bash
git clone https://github.com/DiffoHQ/diffo.git && cd diffo
pnpm install && pnpm build
node dist/cli.mjs setup   # or `node dist/cli.mjs` from any repo to review it

One setup, every agent

Installing the skill covers the agent you installed it from. diffo setup goes wider: it detects every coding agent on the machine and registers with all of them at once, including the plugin form for Cursor, VS Code, and Copilot CLI. It never touches an agent that isn't installed, never overwrites anything that isn't Diffo's, and is safe to re-run any time:

AgentHow it's wired
Claude Codeskill installed at ~/.claude/skills/diffo
Codex · Gemini CLI · Amp · Goose · OpenCodeone shared copy in the cross-tool ~/.agents/skills dir
Cursorplugin linked into ~/.cursor/plugins/local
VS Code (Copilot Chat)plugin registered in chat.pluginLocations
Copilot CLIcopilot plugin install

And it stays set up: npx -y @diffohq/diffo resolves a fresh CLI on every review, and the CLI carries the installed skill forward, so there is no re-running setup after upgrades.

Prefer to wire an agent by hand?

setup does nothing magical: each row above is one step you can do yourself instead:

AgentManual equivalent
Claude Codecopy skills/diffo/SKILL.md to ~/.claude/skills/diffo/SKILL.md
Codex · Gemini CLI · Amp · Goose · OpenCodethe same file to ~/.agents/skills/diffo/SKILL.md
Cursorsymlink the diffo package directory into ~/.cursor/plugins/local/diffo
VS Code (Copilot Chat)add the package path to "chat.pluginLocations" and set "chat.plugins.enabled": true in your user settings.json
Copilot CLIcopilot plugin install <path-to-the-diffo-package>

Hand-wired skill copies don't self-refresh, so re-copy after upgrading.

Next steps

Released under the Apache-2.0 License.