Watch Claude Code explore your repo as a live pixel dungeon. Folders are rooms, unread code is fog, failing tests are monsters. Local, open source.
TypeScript
7
1 commits
updated Oct 6, 2026
Folders are rooms · unread code is fog · failing tests are monsters · your agents are the party
Quick start · How it maps · The party · Timelapse · Videos · Privacy
You need Node 20+ and Claude Code. In any repo where you use Claude Code:
npx github:dbl8005/repos-and-dungeons
A browser tab opens with your repo's dungeon, and every Claude Code session running in that repo walks in as a hero — live. The first run takes about a minute while it builds; after that it starts in seconds.
No agent running right now? Watch the built-in demo:
npx github:dbl8005/repos-and-dungeons --demo # a small app
npx github:dbl8005/repos-and-dungeons --demo-large # a ~2,500-file monorepo
The map is built from your actual file tree, and it's deterministic: the same repo always gives the same dungeon.
| When your agent… | …in the dungeon |
|---|---|
| 📜 reads a file | the hero walks there, the fog lifts, the crate opens into a scroll |
| 🔨 edits or creates a file | the tile is forged into a glowing gem, sparks fly |
| 🔦 searches (Grep / Glob) | a torch flash |
| 🟥 runs failing tests (vitest, jest, pytest, go, …) | slimes spawn in the failing file's room — and taunt you |
| ✅ gets the tests green again | the slimes die, gold bursts, victory fanfare |
| 🔥 fills its context window | the torch meter burns down; compaction brings the fog back |
| 🧭 spawns subagents | new party members walk in |
The fog is the useful part: at a glance you can see which parts of the codebase your agent never looked at.

Every model gets its own Claude. And they talk: heroes comment on what they're doing in a D&D voice —
OPUS — "By Helm's beard! A bug in token.ts betrays us." HAIKU — "Architecture here's well-drawn, but whoever penned these sessions was surely mad." SLIME — "Your tests are MINE!"
Lines are written live by Haiku through your own Claude Code login (about one short call per hero every 15 seconds while active, which counts toward your plan usage), plus built-in lines for big moments. Prefer quiet? --no-narrator.
🔊 Sound is off by default. Click the speaker or press M for dungeon music and effects — the music shifts to drums while monsters are alive.
![]() |
Click ▶ Timelapse to replay everything since you started, squeezed into 30 seconds — idle stretches are skipped and the camera follows the exploration. Click ⤓ Export to save it:
Everything renders in your browser. Sessions are also recorded to |
|
A huge monorepo still makes a readable map:
100,000 files map in under a second and render at 60 fps. | ![]() |
| Clip | Length | |
|---|---|---|
| ▶ | A live session — heroes read, forge, fight slimes and banter | 18 s |
| ▶ | An exported timelapse — made with the built-in exporter | 30 s |
| ▶ | A big monorepo — overview, then diving into the party | 14 s |
| Input | Action |
|---|---|
| drag · scroll | pan · zoom |
F | overview of the whole dungeon |
/ | jump to a folder |
Esc | follow the action again (or stop a timelapse) |
| click a hero card | follow that hero |
M | sound on / off |
repos-and-dungeons [repo-path] [--port n] [--no-open] [--no-narrator] [--demo | --demo-large]
Everything runs on your machine.
127.0.0.1 only and needs a random key in the URL.~/.claude/projects) and your file list (git ls-files) — never file contents.Repos & Dungeons tails Claude Code's session transcripts (no hooks or settings needed), turns each line into game events, and streams them over a WebSocket to a PixiJS renderer. The art and music are generated in code. The full design lives in docs/SPEC.md.
/dungeon command as a Claude Code pluginnpx repos-and-dungeonsIdeas welcome in Discussions and Issues.
npm install
npm test # unit tests
npm run test:e2e # browser tests (uses your GPU)
npm run build && node dist/cli.js --demo
MIT · Not affiliated with Anthropic; Claude is a trademark of Anthropic · All art and sound are made in code for this project.
![]()
Watch Claude Code explore your repo as a live pixel dungeon. Folders are rooms, unread code is fog, failing tests are monsters. Local, open source.
TypeScript
7
1 commits
updated Oct 6, 2026
Folders are rooms · unread code is fog · failing tests are monsters · your agents are the party
Quick start · How it maps · The party · Timelapse · Videos · Privacy
You need Node 20+ and Claude Code. In any repo where you use Claude Code:
npx github:dbl8005/repos-and-dungeons
A browser tab opens with your repo's dungeon, and every Claude Code session running in that repo walks in as a hero — live. The first run takes about a minute while it builds; after that it starts in seconds.
No agent running right now? Watch the built-in demo:
npx github:dbl8005/repos-and-dungeons --demo # a small app
npx github:dbl8005/repos-and-dungeons --demo-large # a ~2,500-file monorepo
The map is built from your actual file tree, and it's deterministic: the same repo always gives the same dungeon.
| When your agent… | …in the dungeon |
|---|---|
| 📜 reads a file | the hero walks there, the fog lifts, the crate opens into a scroll |
| 🔨 edits or creates a file | the tile is forged into a glowing gem, sparks fly |
| 🔦 searches (Grep / Glob) | a torch flash |
| 🟥 runs failing tests (vitest, jest, pytest, go, …) | slimes spawn in the failing file's room — and taunt you |
| ✅ gets the tests green again | the slimes die, gold bursts, victory fanfare |
| 🔥 fills its context window | the torch meter burns down; compaction brings the fog back |
| 🧭 spawns subagents | new party members walk in |
The fog is the useful part: at a glance you can see which parts of the codebase your agent never looked at.

Every model gets its own Claude. And they talk: heroes comment on what they're doing in a D&D voice —
OPUS — "By Helm's beard! A bug in token.ts betrays us." HAIKU — "Architecture here's well-drawn, but whoever penned these sessions was surely mad." SLIME — "Your tests are MINE!"
Lines are written live by Haiku through your own Claude Code login (about one short call per hero every 15 seconds while active, which counts toward your plan usage), plus built-in lines for big moments. Prefer quiet? --no-narrator.
🔊 Sound is off by default. Click the speaker or press M for dungeon music and effects — the music shifts to drums while monsters are alive.
![]() |
Click ▶ Timelapse to replay everything since you started, squeezed into 30 seconds — idle stretches are skipped and the camera follows the exploration. Click ⤓ Export to save it:
Everything renders in your browser. Sessions are also recorded to |
|
A huge monorepo still makes a readable map:
100,000 files map in under a second and render at 60 fps. | ![]() |
| Clip | Length | |
|---|---|---|
| ▶ | A live session — heroes read, forge, fight slimes and banter | 18 s |
| ▶ | An exported timelapse — made with the built-in exporter | 30 s |
| ▶ | A big monorepo — overview, then diving into the party | 14 s |
| Input | Action |
|---|---|
| drag · scroll | pan · zoom |
F | overview of the whole dungeon |
/ | jump to a folder |
Esc | follow the action again (or stop a timelapse) |
| click a hero card | follow that hero |
M | sound on / off |
repos-and-dungeons [repo-path] [--port n] [--no-open] [--no-narrator] [--demo | --demo-large]
Everything runs on your machine.
127.0.0.1 only and needs a random key in the URL.~/.claude/projects) and your file list (git ls-files) — never file contents.Repos & Dungeons tails Claude Code's session transcripts (no hooks or settings needed), turns each line into game events, and streams them over a WebSocket to a PixiJS renderer. The art and music are generated in code. The full design lives in docs/SPEC.md.
/dungeon command as a Claude Code pluginnpx repos-and-dungeonsIdeas welcome in Discussions and Issues.
npm install
npm test # unit tests
npm run test:e2e # browser tests (uses your GPU)
npm run build && node dist/cli.js --demo
MIT · Not affiliated with Anthropic; Claude is a trademark of Anthropic · All art and sound are made in code for this project.
![]()