✨ Introducing decisionnode ui
A local web UI bundled into the npm package as a third interface alongside the CLI and MCP server. Three views over the same store, with live MCP pulse animations.
decide ui # foreground
decide ui -d # background — returns the terminal
decide ui status # check daemon
decide ui stop # stop daemonThree views
- Graph — force-directed similarity network (Cytoscape + fcose). Decisions are nodes, edges connect decisions whose embeddings exceed an adjustable similarity threshold. Hover-fade highlights neighborhoods.
- Vector Space — UMAP projection of the 3072-dim Gemini embeddings into 2D, drawn as actual vectors radiating from origin. Watch semantic clusters form.
- List — searchable, filterable cards grouped by scope. Each card colored by its creator (CLI / claude-code / cursor / windsurf / etc).
Live MCP pulse
When an MCP client (Claude Code, Cursor, Windsurf, Antigravity, Cline, …) calls search_decisions, matched nodes pulse in real time in that client's attribution color via Server-Sent Events. CLI mutations (add / edit / delete) animate live too. New lightweight append-only pulses.jsonl log avoids polluting the main activity log with read-only events.
Other 0.6.0 additions
- Detached daemon mode —
decide ui -druns the UI server in the background and returns your terminal.ui statusandui stopfor daemon management. - PNG export — download or copy the current view to clipboard at 3× DPI for sharing.
- Project switcher modal — searchable, sortable, paginated picker (replaces the old dropdown).
- Shared filter bar — text + status filters apply to all three views simultaneously.
- Side panel with full per-decision activity timeline, color-coded by source.
- First-run tour + info modal explaining each view.
- Brand-aligned colors — single yellow for CLI-added decisions, per-client colors for MCP-added (centralized in
src/ui/client/lib/colors.ts). - New module
src/pulse.tsfor lightweight read-only event logging.
Tech notes
- New devDependencies:
esbuild,preact,cytoscape,cytoscape-fcose,umap-js,tailwindcss,@tailwindcss/cli. All bundled at build time — zero new runtime dependencies. - New build step:
scripts/build-ui.mjs(esbuild + tailwindcss + asset copy). - Bundled UI ships in
dist/ui/inside the npm tarball. - HTTP server uses Node's built-in
httpmodule — no Express.
Docs updated across README, CLI reference page, decisionnode-docs.md, llms.txt, docs intro, quickstart, workflows, and the homepage feature grid.