Getting started
Install Altitude, adopt it into an app, map your code, connect your agent, and open the board.
1. Install
Altitude is a single native binary — no Node, no runtime. On macOS or Linux:
curl -fsSL https://getaltitude.dev/install.sh | sh
On Windows, download the binary manually. See the install page for per-platform downloads and checksum verification.
Check it is on your PATH:
altitude --version
2. Adopt Altitude into an app
Make your app however you like, then run Altitude from inside it:
cd my-app
altitude init
altitude init adds:
.altitude/— config plus the starter Templates (codeandmarkdown, both plaintemplate.yamldata files).- A guarded
## Altitudesection in yourCLAUDE.md— a language-neutral, file-first guide for the agent working in this repo. - A git pre-commit guard that runs
altitude check, so a board that would not render can’t be committed unnoticed.
It never touches package.json and creates no scopes. Everything it adds is plain files under .altitude/ that you (or your agent) can read, edit, and diff.
3. Map your code into scopes
A scope is a typed, labelled unit of your codebase — a UI component, an API route, a state store. You define scopes and the connections between them; the map is committed YAML under .altitude/.
You can author these by hand, or have your coding agent do it following the guide init wrote to CLAUDE.md. Altitude is language-agnostic — the map renders the same on a Python, Go, or Rust repo as on a JavaScript one.
Read the whole map at any time — scopes, connections, and any drift — with:
altitude map
This is the exact CLI twin of the get_map tool your agent calls.
4. Connect your coding agent
Altitude is agent-agnostic. Point whatever agent you use at Altitude over the Model Context Protocol:
claude mcp add altitude -- altitude mcp --allow-ui-control
Or add it to your agent’s MCP config directly:
{
"mcpServers": {
"altitude": {
"command": "altitude",
"args": ["mcp", "--cwd", "/abs/path/to/your/worktree", "--allow-ui-control"]
}
}
}
--allow-ui-control lets the agent write to the board (propose scopes, report work built) and drive your open tab. Drop it for read-only access — the agent can still read the catalogue, the map, and your view.
See Agent integration for the full tool surface.
5. Open the board
altitude ui
The board is your codebase as a live map. It runs cloud-free by default — it renders entirely off your committed .altitude/ files, with no login or account. Add --cloud to turn on catalogue search sync.
The loop, in one line
Your agent proposes scopes and connections on the board (each born in blueprint state), you review and keep the ones you want, the agent builds them and reports each built — turning solid on your board, live. Read more in Core concepts.