DocsGetting StartedInstallation
Back
Getting Started

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:

  1. Issue prefix — suggested from the folder name (e.g. pay gives IDs like pay-a1b2c3).
  2. Agents — pick the coding agents you use: Claude Code, GitHub Copilot, Cursor, Codex, OpenCode, or a generic AGENTS.md.
  3. Change plan — a list of every file it will create or update (.xpo/, MCP config, agent instructions, skills).
  4. 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
FlagDescription
--yesApply without prompting (required when not running interactively)
--prefixIssue ID prefix
--agentsComma-separated agents to set up, by name or binary (claude, cursor, codex, opencode, "GitHub Copilot", "Generic Agent")
--force, -fRe-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 login and xpo logout are gone, and the remote.* settings are ignored. Share the backlog by committing .xpo/ with your code.
  • Blockers resolve only when DONE. A CANCELED or DUPLICATE blocked_by blocker 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.