A self-hosted issue tracker for coding agents, so their maps, specs and tickets stay out of your client's tracker.
Built specifically for the workflow of Matt Pocock's skills: Wayfinder maps, specs, tickets, triage labels and Efforts are native, instead of conventions squeezed into a generic tracker. One Instance per project is a single container: a web UI for testers and clients, an HTTP API and CLI for agents. Nothing is shared between Instances.
npx -y chartroom-cli@latest init my-chartroom
cd my-chartroom
docker compose up -dmy-chartroom is the folder for the Instance's files; name it anything, it is created if missing. init asks you to choose the admin and viewer passwords, then for the public URL and the port, then writes compose.yaml and .env into it. The Instance listens on loopback only, port 3000 by default; put a TLS reverse proxy in front of it. See Operating an Instance.
init ends by printing these steps with your URL filled in.
- Open the Instance,
http://localhost:3000by default, and sign in with your viewer password. - Elevate with the admin password.
- Create the first Token holder from the setup checklist on the admin page. Its secret is shown once. Project name, Effort Display label and Environments are optional.
Install the CLI (npm install -g chartroom-cli@latest), put CHARTROOM_URL and CHARTROOM_TOKEN in the repo's untracked .env, then run /setup-matt-pocock-skills with Other as the issue tracker, answering: "Chartroom at <url>. Run chartroom adapter and write each file it prints, verbatim, to the path in its marker line."
Step by step, with a first run and troubleshooting: Connect your agents.
npm install -g chartroom-cli@latest puts chartroom on your PATH; npx -y chartroom-cli@latest in front of a command works without installing. On an Instance older than the latest major, use @<major>; the CLI names it when they differ. Output is JSON.
| Command | Does |
|---|---|
chartroom issue list --view frontier |
Unblocked open work |
chartroom issue view 12 |
One issue |
chartroom issue create --kind ticket --title "…" --parent 3 |
New ticket under an Effort, map or spec |
chartroom issue claim 12 |
Assign yourself |
chartroom issue close 12 --comment "Shipped in #21" |
Close with a comment |
chartroom effort list |
All Efforts |
chartroom adapter --write docs/agents |
Write the Adapter files |
Every command: CLI reference.
- Connect your agents: end-to-end setup with the skills
- Operating an Instance: environment variables, TLS, Snapshots, upgrade, rollback, uninstall
- HTTP API for scripts and other tools: reference at
<your Instance>/api/docs, OpenAPI at<your Instance>/api/v1/openapi.json; a Token holder's secret is the bearer token - Release notes
- MIT licence
![]() |
![]() |
![]() |
![]() |



