Interactive Map
trurlic map opens an interactive graph visualization in the browser. Components, connections, decisions, patterns — explorable, editable, and live-synced with the filesystem.
Starting the map
Section titled “Starting the map”trurlic mapThis starts a local web server and opens the browser. The map shows the decision graph with components as nodes, connections as edges, and decisions as annotations.
Options
Section titled “Options”trurlic map --port 8080 # bind to a specific port (default: OS-assigned)trurlic map --no-open # start server without opening browsertrurlic map --detach # background the server; print URL and exitFeatures
Section titled “Features”Force-directed layout — components are arranged automatically with a physics-based layout engine. Drag nodes to reposition them.
Level of detail — zoom in to see individual decisions and their metadata. Zoom out to see the high-level component graph.
Live sync — the map watches .trurlic/ via WebSocket. Changes from the CLI, MCP server, or manual edits appear in real time without refreshing.
Search — find components, decisions, and patterns by name or content.
Selection — click a component to see its decisions, connections, and concern coverage in a side panel.
Agent attribution — decisions recorded in agent mode (bootstrap, autonomous implementation) are flagged ⚠ so you can spot which ones still need review. Promote or revise them via update_decision.
Under the hood
Section titled “Under the hood”The map is a TypeScript frontend embedded into the binary at build time (rust-embed), served by an axum HTTP server: a REST API for graph queries under the read lock, a WebSocket endpoint that pushes diffs when the file watcher fires, and a bearer token (generated on startup, passed to the browser via the URL). No runtime dependencies — it’s fully self-contained.