Skip to content

Demo mode

coli demo

A populated board with nothing behind it: no Claude session, no git, no gh, no network, nothing billed. It writes a demo context — a local sqlite tracker with "demo": true — and launches into it, so it can't touch your real config, state or repos.

What you get

The fiction is Cadence, a team productivity and process-tracking app, mid-week with several agents deep:

The demo board: Cadence mid-week, with a blocked task, an agent at work, one waiting on a decision, three open PRs and one merged

Every screenshot in these docs is demo mode — so anything you see here, you can reproduce.

Deliberately, that board covers every state worth seeing: a tracking parent with two sub-issues, a blocked task waiting on its schema issue, an agent mid-work with subtask progress, one waiting on a decision, a PR that's approved, one with failing CI, one conflicting with a rebase running (the blinking dot), and one merged.

:reviews has two PRs awaiting you — one untouched, one already pre-reviewed with findings, so you can see the review document, the discussion pane and what posting would send.

:issues has a real backlog in the sqlite tracker. Dispatch one and watch it move: triage runs, the work pass "reads" and "tests", a draft PR appears, and the card lands in PR Open. It takes a few seconds and costs nothing.

What it refuses to do

Demo mode fails loudly rather than half-working, because a demo that quietly calls gh api against a made-up PR is a demo that can surprise someone:

  • agent sessions are scripted — the SDK is never called
  • no worktree is created; git is never run
  • PR and review polling are off — they'd ask gh about branches that don't exist
  • starting a pre-review, posting one, approving or requesting changes all decline, and say so

Using it for your own work

The two halves are independent, and both are useful on their own:

what it's for
"provider": "sqlite" alone a real local tracker — issues, sub-issues, blockers — with real agents
"demo": true alone scripted agents against any tracker, if you want the UI without the spend

The seed only fires when the board is empty, so anything you dispatch in the demo context sticks around until you delete ~/.local/state/colinear/contexts/demo/.