wxKanban Dev Cockpit
A read-only VS Code sidebar that shows the current wxKanban project's remaining
work per scope — incomplete tasks grouped by scope, active scope pinned — so you
can see what's left to finish without leaving the editor.
What it does
- Dev Cockpit view in the Activity Bar: in-flight scopes (active scope pinned)
→ their incomplete tasks, each with a remaining count and status.
- Click a task to open a read-only detail panel (title, description, status, scope).
- Open the related spec/file for a scope from its context menu.
- Reads through the project-scoped MCP; the token lives in VS Code SecretStorage.
Linking
The cockpit activates when the open folder contains a .wxkanban-project.json.
On first run it bootstraps the project's API token from the kit's locations
(.wxai/project.json → .env → legacy file) into SecretStorage. If no token is
found, use wxKanban: Sign In / Relink Project to enter one.
Live refresh
The view stays current without manual action:
- Primary — emitted command. After a
dbpush or implement completes, the
kit pings vscode://wxperts.wxkanban-dev-cockpit/refresh (via code --open-url) and the cockpit re-queries MCP immediately. Set
WXKANBAN_NO_COCKPIT_REFRESH=1 to disable the ping.
- Fallback — light poll. While the view is visible it re-queries every 30s
and repaints only when the remaining-work signature actually changed, so work
changed outside this IDE still surfaces. (Hosted-MCP streamable-HTTP push
was evaluated per T022 and not adopted for v1 — the poll is the fallback.)
- Manual. The refresh button in the view title bar forces a re-query.
Install / update
Primary — VS Code Marketplace. Open the Extensions panel, search
"wxKanban Dev Cockpit" (publisher wxperts), and click Install. VS Code
keeps it up to date automatically — new versions install in the background with
no action needed. This is the recommended path for all customers.
Fallback — bundled .vsix (offline / locked-down machines). The extension
also ships as a .vsix inside the kit download payload and can be installed by
scripts/init.mjs when the Marketplace is unavailable:
- Fresh kit init runs
code --install-extension for the bundled .vsix, then
prompts you to reload the window to activate it.
- A kit upgrade re-runs
init.mjs, which reinstalls only when the bundled
version differs from what's installed (an unchanged version is a no-op).
- If the
code CLI isn't on PATH the install is skipped with a manual-install
hint — it never fails the kit init.
Recording themes (wxDark / wxLight)
The cockpit bundles a matched pair of self-contained color themes tuned for
screen recording — wxDark and wxLight (a warm gruvbox look: editor
background #201e1b, tan #d4be98 text, teal #7daea3 accents on dark; a warm
paper tone on light). They ship complete, so they render correctly with no other
extension and no settings.json customizations.
Opt-in only. Installing the cockpit never changes your color theme. The
themes apply only when you choose them — either from the VS Code theme picker
(Preferences: Color Theme → wxDark / wxLight) or via the toggle command.
Toggle command. wxKanban: Toggle Recording Theme (wxLight / wxDark)
(command id wxkanban.cockpit.toggleTheme) flips between the two. From any other
active theme it selects wxDark. It writes workbench.colorTheme at the user
(Global) scope, so your choice follows you across projects.
Optional F9 keybinding. No keybinding is bound by default. To toggle with a
key, add this to your own keybindings.json (Preferences: Open Keyboard
Shortcuts (JSON)):
{
"key": "f9",
"command": "wxkanban.cockpit.toggleTheme"
}
Building
npm run build — esbuild bundle to dist/extension.js.
npm run check-types — tsc --noEmit.
npm test — vitest unit suite (project resolution, token bootstrap, MCP
client). The remaining-work read + cross-project isolation are covered on the
server side in mcp-server/tests/cockpit-summary.test.ts. Install/activate and
the live-refresh round-trip are verified manually in an Extension Development
Host (they require the code CLI + a running editor).
npm run package — produce the .vsix (what the kit ships).
Spec: specs/042-vscode-dev-cockpit/spec.md (charter:
specs/Project-Scope/042-vscode-dev-cockpit.md).