Roadmap
Eight phases. Seven are essentially finished — three items have been moved back out of Done after an audit found them unreachable from the running app — and the eighth is what stands between an unsigned disk image and one macOS will open without an argument.
Done
1 · Foundation
- Electron, React and TypeScript, built with electron-vite
- Process ownership, with scrollback replayed across tab switches
- Provider layer — Claude, Codex and Gemini detection, login-shell
PATH - Sidebar, tab bar, status dots, empty state
- Design tokens in dark and light, self-hosted open-licensed fonts
- Atomic JSON store; projects and window bounds persist
- Content-security policy set from the main process
2 · Session intelligence
- Status detection in the main process, so unrendered tabs stay accurate
- Provider picker — per session, per project, global default
- Session resume
- Preferences, and live re-theming that recolours terminals without a restart
- Desktop notifications and sounds —
renderer/notifications.tsexists but is imported only by the Notifications settings section, so the only banner that fires is its Test button. Nothing notifies when a session finishes. Listed under Done until this audit; it was not true. - Session titles derived from the task, and unread indicators —
pty-manager.tshardcodestitle: basename(cwd)andCreateSessionInputhas no title field;renderer/unread.tshas no importers at all. Listed under Done until this audit; neither was true.
3 · Cost, context and telemetry
- Transcript watcher
- Cost tracking per session, project and day
- Token and context-window monitoring with a bloat warning
- Session inspector — timeline, cost breakdown, tool-usage statistics
- Deep search across past transcripts
- Smart alerts for missing tools, context bloat and session health
4 · Project workspace
- Git status watcher and git panel
- File tree and viewer with syntax highlighting
- Quick open and command palette
- GitHub integration through
gh - AI readiness score with one-click fixes
.deckignorewith gitignore semantics, read by the file tree — quick open and the watchers still do not consult it
5 · Dashboard and board
- Customisable project overview on a drag-and-drop widget grid
- Widgets for readiness, kanban, sessions, cost, git and GitHub
- Kanban board per project, with search and tag filtering
- Board and session linked — a card spawns or resumes a session
6 · Many sessions at once
- Swarm mode
- Multiple agent profiles with isolated logins
- Full keymap and a shortcut reference sheet
7 · Integrations
- Hooks installed into each provider's settings, namespaced so they never collide with another tool's
- MCP client and inspector
- Embedded browser with element inspect
- Chrome configuration import
Not done
8 · Ship
- Code signing and notarisation. The packaging itself is done —
npm run dist:macwrites a.dmgand a.zipfor arm64, and CI writes an x64 installer and a portable executable for Windows — butidentity: nullis set deliberately and there is no Windows certificate either, so nothing is signed: Gatekeeper needs the right-click step and SmartScreen needs the More info override. - Split panes — the layout code and the
⌘D/⌘⇧S/⌘⇧Wchords exist in the repository, but nothing in the app renders the split view, so it cannot be reached. Listed under Done until this audit; it was not true. - Updating in place, on Windows. Pointed at our own releases, and done on macOS: the app reads the feed, and on your say-so downloads the archive, verifies its SHA-512 and swaps the bundle — which is how an unsigned build updates at all, since Squirrel.Mac refuses one. Run end to end, through to the relaunch. The Windows side is wired to electron-updater's installer and has never been exercised, and a portable executable cannot be replaced in place by anything.
- Peer-to-peer session sharing — read-only or read-write, with PIN auth. The single biggest remaining feature, and the only one that would need infrastructure.
- Translations. The app is English only.
Linux is not on this list because it is not scheduled — electron-builder has no target configured for it. Windows does have one, and 0.1.2 ships an x64 installer and a portable executable. Both have now been run on Windows 11 x64: they install and open, and then 0.1.2 cannot start a session — every agent CLI is reported missing and New Session fails. Fixes for both are open on a pull request and are not in a release yet, and part of the test suite still does not pass there.
Known follow-ups
Two things are tracked in the repository as debts rather than features:
- The chunked transcript reader is written three times over — once each for cost, insights and search. All three are tested and working, so lifting them into one helper carries regression risk for no user-facing gain, and it waits.
- Escape-to-close on dialogs is correct in code but has never been confirmed by a real keypress, because synthetic key events were not delivered during testing.
Open questions
- The name is provisional. It lives in one file, so changing it is one edit.
- Whether peer-to-peer sharing is wanted at all.