install & quickstart

one command sets up a checkout end to end. everything below happens in the repository you actually want to work on.

prerequisites

install and start

npm install -g crosscode-cli
cd your-repo
crosscode start

the package is crosscode-cli on npm. it installs two binaries: crosscode, the cli, and crosscode-mcp, the mcp server and pre-edit hook.

crosscode start does the whole setup and is safe to re-run. it signs you in with github, attaches this checkout to a project, starts the background daemon, and installs the mcp server, the crosscode skill, and the pre-edit hooks for your coding agent.

sign-in is a device-code handshake: it prints a url and a short confirmation code, opens the url, and waits. you sign in with github and type the code into the page. nothing listens on your machine and nothing is pasted back into the terminal, so the browser does not have to be on the same machine. pass --no-browser on a remote shell or in ci to print the url instead of opening one.

restart your coding agent afterwards, or reconnect its mcp servers, so it picks up the new crosscode server.

bring in a teammate

crosscode invite

that prints a link. they open it, sign in with github, and the page checks they actually have access to the repository before giving them two lines to paste:

git clone git@github.com:acme/app.git && cd app
crosscode join CC-7F3A-9C2E

join redeems the code and then sets the checkout up exactly as start would. that is the entire onboarding. from there both checkouts are in sync.

day to day

nothing. that is the intended experience: edits move between checkouts on their own, and a conflict goes to your coding agent rather than to you. the two remaining commands exist for when you want to look:

crosscode status     # branch, connected, paused, who else is on this branch
crosscode stop       # stop syncing this checkout

what syncs

your commits, branches, index, stash, and remotes are never touched, and nothing here pushes. to undo anything crosscode wrote:

git checkout refs/crosscode/shadow -- <path>

hand the setup to your agent

there is a ready-made prompt that runs the same steps and wires up the mcp config itself. paste the install prompt into claude code, codex cli, opencode, cursor, or any mcp-capable agent. codex cli's config is toml and start does not write it, so codex users add a three-line entry by hand: see mcp client setup.

running from a clone

for working on crosscode itself, or for running the cli before it is on npm:

pnpm install
pnpm build          # typecheck + bundle
pnpm test           # vitest
pnpm crosscode -- status --json

contribution setup, the workspace layout, and the postgres-backed test path are in CONTRIBUTING.md.