Installation
Quick install
curl -fsSL https://go-exponential.dev/install.sh | bash
Detects your OS and architecture, downloads the latest binary from GitHub, and installs it to /usr/local/bin (or ~/.local/bin if not writable).
Binary download
Grab the latest release for your platform from GitHub Releases and put it on your PATH.
From source
Requires Go 1.26+ and bun.
git clone https://github.com/palarix/exponential.git
cd exponential
make && make install
make builds the frontend assets and the Go binary. make install copies the resulting xpo executable to /usr/local/bin/xpo (it will ask for sudo permission).
Initialize a project
Run this once, inside your project's git repository:
cd path/to/your/project
xpo init
Exponential needs git — issues live in the repo and every issue is worked in its own git worktree. If the directory isn't a repository yet, xpo init offers to run git init for you.
init is a short wizard:
- Issue prefix — suggested from the folder name (e.g.
paygives IDs likepay-a1b2c3). - Agents — pick the coding agents you use: Claude Code, GitHub Copilot, Cursor, Codex, OpenCode, or a generic
AGENTS.md. - Change plan — a list of every file it will create or update (
.xpo/, MCP config, agent instructions, skills). - Confirm — nothing is written until you approve.
It creates the .xpo/ directory, wires up the MCP server for each selected agent, and installs agent instruction files and workflow skills. Commit the result to share it with your team.
For CI or scripted setup, skip the prompts:
xpo init --yes --prefix pay --agents claude,codex
| Flag | Description |
|---|---|
--yes | Apply without prompting (required when not running interactively) |
--prefix | Issue ID prefix |
--agents | Comma-separated agents to set up, by name or binary (claude, cursor, codex, opencode, "GitHub Copilot", "Generic Agent") |
--force, -f | Re-initialize even if .xpo/ already exists |
Running xpo init again later is safe: it tells you when everything is up to date, and refreshes agent instructions and skills when a newer xpo ships different ones.
Run the doctor
Validate your setup at any time:
xpo doctor
The doctor reports in four sections — xpo, Project, Integrations, and This machine — covering config, the issue log, MCP configuration, and whether agent instructions and skills are current.
xpo doctor --fix # fix what it can; asks before touching committed files
xpo doctor --strict # exit non-zero on warnings (for CI)
Upgrading
Install the new version the same way you installed xpo, then run xpo init or xpo doctor --fix in each project. That refreshes the agent instructions and skills, so your agents learn the new behaviour; until you do, xpo doctor reports them as out of date.
From 1.3.x to 1.4.0 there are no migration steps, but one change can affect scripts and integrations: two issues can now have at most one link between them. link fails on a pair that's already linked unless you pass --overwrite, and add/update reject a links set with two entries for the same issue. See One link per pair.
From 1.4.x to 1.5.0 there are no migration steps, but:
- xpo is local-only.
xpo serve,xpo loginandxpo logoutare gone, and theremote.*settings are ignored. Share the backlog by committing.xpo/with your code. - Blockers resolve only when DONE. A CANCELED or DUPLICATE
blocked_byblocker now still blocks. Remove the link or point it at another issue. See Blocked issues. - Building from source needs Go 1.26.
Configure for AI agents
xpo init already sets up the agents you selected. To go further:
- MCP Server — the tools agents get and how to reduce permission prompts
- AI Agents — agent instructions, identity, and the autonomous drive loop
Shell completion
Generate autocompletion for your shell:
xpo completion bash # also: zsh, fish, powershell
Follow the printed instructions to install the completion script. This gives you tab-completion for commands, flags, and issue IDs.