{"slug": "show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase", "title": "Show HN: Mindwalk – Replay coding-agent sessions on a 3D map of your codebase", "summary": "A developer released Mindwalk, an open-source visualization tool that replays coding-agent sessions on a 3D map of a codebase, allowing users to see where an AI agent searched, read, and edited code. The tool runs locally, supports Claude Code and Codex session logs, and is available via GitHub.", "body_md": "A visualization tool that replays coding-agent sessions on a 3D map of your codebase.\n\nA session log records what an agent did, but not how it understood the task: which parts of the repo it treated as relevant, where it explored before it acted, whether its footprint matched the scope you had in mind. Reading the raw JSONL line by line doesn't answer any of that.\n\nDraw the repository as a night map, and play the session back as light moving through it: where the agent searched, read, and edited, the map glows — everything else stays dark. The agent's understanding of the task becomes a shape you can see at a glance. One Go binary reads Claude Code and Codex session logs, fully local; no session data leaves your machine.\n\n```\ncurl -fsSL https://raw.githubusercontent.com/cosmtrek/mindwalk/master/scripts/install.sh | sh\nexport PATH=\"$HOME/.local/bin:$PATH\"\nmindwalk\n```\n\nThe installer verifies the binary against `checksums.txt`\n\nand installs to\n`~/.local/bin`\n\n(override with `INSTALL_DIR`\n\n; pin a release with `VERSION`\n\n).\nWindows archives are on [GitHub Releases](https://github.com/cosmtrek/mindwalk/releases).\nTo build from source: `make setup && make build`\n\n→ `bin/mindwalk`\n\n.\n\nWith no arguments, mindwalk scans `~/.claude/projects`\n\nand `~/.codex/sessions`\n\n,\nserves the UI on a random local port, and opens a browser:\n\n```\nmindwalk serve [--port N] [--no-open] [--claude-dir DIR] [--codex-dir DIR]\nmindwalk open [--no-open] <session.jsonl>   open one specific session\nmindwalk build <repo> [-o out]              write the repository citymap JSON\nmindwalk trace <session> [-o out]           write the normalized trace JSON\n```\n\n**Tree / Terrain views**— the repo as a radial tree or a treemap plain; glow ∝ how deeply and how often a file was touched.** Touch states**— each file keeps its deepest touch: seen (moss green), read (moon white), edited (warm amber), unvisited (dark). The HUD folds friction signals — error rate, churned files, edits after the last verify — into a review strip.**Playback deck**— scrub or play the session over a bucketed histogram of the run. Bars sit on a cool/warm spectrum: observation stays cool (search, read, exec), mutation glows warm (edit, verify), so editing phases jump out at a glance.**Timeline marks**—`◇`\n\ncontext compactions,`○`\n\nsubagent launches,`›`\n\nuser turns; every mark is a click-to-jump target.**Inspector**— click a file to pin its visit history; click a visit row to jump the playhead to that moment.\n\nKeyboard: `Space`\n\nplay/pause · `←`\n\n/`→`\n\nstep (`⇧`\n\n×10) · `Home`\n\n/`End`\n\nends ·\n`S`\n\nspeed · `E`\n\nnext edit · `X`\n\nnext error · `M`\n\nnext mark · `⌘B`\n\nsession rail.\n\nTwo artifacts, kept deliberately separate:\n\n- a\n**trace**— the session log normalized into an ordered stream of file-touch events (`internal/adapter`\n\n, one adapter per agent format); - a\n**citymap**— a deterministic layout of the repository (`internal/citymap`\n\n); the same tree always produces the same map, so replays are comparable across sessions.\n\nA local Go server (`internal/server`\n\n) joins the two and serves the\nReact/Three.js frontend (`web`\n\n). `schema/`\n\nmirrors the exported JSON contracts.\n\nIssues and pull requests are welcome. To get a working dev setup:\n\n```\nmake setup   # install frontend dependencies\nmake serve   # dev server on :8765, serving web/dist from the working tree\nmake test    # go test + frontend build — run before sending a PR\nmake build   # regenerate embedded assets and bin/mindwalk\n```\n\nGround rules (see [AGENTS.md](/cosmtrek/mindwalk/blob/master/AGENTS.md) for the full architecture notes):\n\n- Keep the boundaries: adapters don't know about rendering, citymap generation doesn't depend on playback, the server just connects the two.\n- Keep Go code\n`gofmt`\n\n-ed; never hand-edit`internal/server/static`\n\n— regenerate it with`make build`\n\n. - When trace or citymap JSON shapes change, update\n`schema/`\n\nand the relevant tests in the same change.", "url": "https://wpnews.pro/news/show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase", "canonical_source": "https://github.com/cosmtrek/mindwalk", "published_at": "2026-07-12 05:51:32+00:00", "updated_at": "2026-07-12 06:05:12.200488+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["Mindwalk", "Claude Code", "Codex", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase", "markdown": "https://wpnews.pro/news/show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase.md", "text": "https://wpnews.pro/news/show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase.txt", "jsonld": "https://wpnews.pro/news/show-hn-mindwalk-replay-coding-agent-sessions-on-a-3d-map-of-your-codebase.jsonld"}}