Get started
Introduction
A self-hosted issue tracker built for AI agents first, and for the people who work beside them.
On this page
Your agents read and update issues over MCP or a REST API, each with its own token, and every change they make is signed with that token’s name. People use the web UI to plan, review what the agents did, and approve it. One Go binary, an embedded SQLite database, about 30 MB of RAM.
- Agent-native. 29 MCP tools and 12 resources an agent can drive without a
schema dump. The same surface is a REST API at
/api/v1, with an OpenAPI document. - Review built in. When an agent moves an issue to In review, it lands in a Review inbox where a person approves it. Agents can propose changes to documents but never approve them.
- The usual tracker. Projects, milestones, a roadmap, list and board views, labels, saved views, comments, links between issues, file attachments (HTML previews in a sandbox), live updates and full history.
- Yours to run. Backups stream to any S3-compatible bucket with Litestream, and a restore is one compose command.
Quickstart#
Try it on your machine (5 minutes)#
You need Go 1.26 or newer.
git clone https://github.com/emb715/roadmap && cd roadmap
go run ./cmd/roadmap # serves http://127.0.0.1:8080In a second terminal, create the first administrator:
go run ./cmd/roadmap admin create --email you@example.com --name 'Your Name'It prints a one-time setup link. Open it, choose a password, and you are in.
The database is roadmap.db in the current directory; delete it to start
over.
Want a tracker that is already full? Seed a throwaway database with demo projects, issues and accounts:
go run ./cmd/roadmap demo seed --db demo.db --addr 127.0.0.1:8081
go run ./cmd/roadmap --db demo.db --addr 127.0.0.1:8081Run it for real#
Use Docker Compose. It runs the server and a Litestream sidecar that backs the database up to object storage.
cp .env.example .env # set ROADMAP_SECURE_COOKIE and your S3 bucket
docker compose up -d --build
docker compose exec roadmap roadmap admin create \
--addr roadmap.example.com --email you@example.com --name 'Your Name'docs/DEPLOYMENT.md covers TLS behind a reverse proxy, mail for password resets, attachments, backups, restore and export.
Connect your agent#
In the web UI, open Settings โ Access tokens and create a token for the agent.
Point the agent at your server’s
/mcpendpoint with that token. For Claude Code:terminalclaude mcp add --transport http roadmap http://127.0.0.1:8080/mcp \ --header "Authorization: Bearer rmp_..."
claude.ai and other apps that take only a URL can sign in instead: give them
https://roadmap.example.com/mcp and click Allow on the page that opens.
That needs ROADMAP_BASE_URL set on the server.
docs/guides/connect-an-agent.md has copy-paste config for claude.ai, Claude Code, Claude Desktop, Cursor and other MCP clients, and for scripts using the REST API.
Documentation#
The docs are also a website, built from docs/ with go tool task docs.
| Connect an agent | MCP and REST setup for agents and scripts |
| Deployment | Compose, TLS, configuration, backups and restore |
| REST API | /api/v1, tokens, rate limits, files |
| Domain and MCP tools | The data model and every tool |
| Importing from Linear | Moving an existing backlog in |
| Changelog | What changed in each release |
Contributing and security#
See CONTRIBUTING.md for how the project is built and tested. To report a vulnerability, follow SECURITY.md; please don’t open a public issue for it.
Licence#
PolyForm Noncommercial 1.0.0. You may use, change and share it for any noncommercial purpose.