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.

terminal
git clone https://github.com/emb715/roadmap && cd roadmap
go run ./cmd/roadmap                     # serves http://127.0.0.1:8080

In a second terminal, create the first administrator:

terminal
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:

terminal
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:8081

Run it for real#

Use Docker Compose. It runs the server and a Litestream sidecar that backs the database up to object storage.

terminal
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#

  1. In the web UI, open Settings โ†’ Access tokens and create a token for the agent.

  2. Point the agent at your server’s /mcp endpoint with that token. For Claude Code:

    terminal
    claude 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 agentMCP and REST setup for agents and scripts
DeploymentCompose, TLS, configuration, backups and restore
REST API/api/v1, tokens, rate limits, files
Domain and MCP toolsThe data model and every tool
Importing from LinearMoving an existing backlog in
ChangelogWhat 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.