Skip to content

Repository files navigation

FractalCode

A living map of one repository and the parallel Claude Code agent sessions working in it — rendered as a precise, ink-toned hanging structure. Higher-level parts at the top, finer parts flowing downward; sessions as colored wisps; every layer read from the workflow you already have, never interfering with it.

What it shows

  • The code skeleton — directories as orthogonal arms in descending tiers, files as solid boxes on hairline stems. Hover a file to light up its dependency traces: cyan arcs to what it imports, amber arcs from what imports it.
  • Live sessions — every Claude Code session working in the repo (or its worktrees) appears as a colored wisp hovering over the code it touches; its edits travel as same-colored light pulses along the structure. Attribution comes from metadata-only transcript tailing: conversation content is never read, stored, or shipped.
  • Worktrees — each git worktree is a satellite structure tethered by a right-angle trace, showing only its diff (green added / blue modified / red deleted), with GitHub PR state as glow behavior (steady = passing, breathing = pending, flicker = failing, dimmed = draft).
  • .coord/ coordination — intents become territory claims; the bulletin feed streams with status tokens badged.
  • Docs & ideas — workflow documents (running logs, session prompts, plans) hang as lanterns anchored to the code they reference; stale docs gutter, and a hygiene panel lists findings (dead references, done prompts) with confirmed archive/delete actions. POST /api/notes (or the UI) drops ideas into IDEAS.md, parsed live.
  • History — a timeline scrubber grows the structure commit-by-commit; layout never re-flows, so your spatial memory survives time travel.

Quick start

Install once, then run it from any repo:

npm install && npm link       # once, in this checkout
cd <your-repo> && fractalcode # builds the client on first run, opens the browser

fractalcode [path] [--port N] [--no-open] — path defaults to the current directory. (From this checkout, npm run start -- <repo> and npm run dev still work for development.) Everything is headlessly verifiable: curl localhost:7743/api/snapshot.

Using it

Keep it open on a second monitor while your Claude Code sessions work — they appear as wisps, their edits as colored pulses, unprompted.

  • Hover a file — tooltip + its dependency web lights along the structure itself: cyan routes to what it imports, amber routes from what imports it.
  • Click a file — fly to it and hold it: routes stay lit, pulses stream, and the inspector panel lists every import/importer as a clickable path.
  • Ctrl+K or / — fuzzy file finder. Esc — release / zoom out.
  • I — capture an idea into IDEAS.md without leaving the viz, anchored to the file you were on.
  • HISTORY (bottom left) — scrub the repo growing commit by commit, with a date · commit · sha readout. ? — the full legend, shown once on first run.

Configuration

All tunables live in packages/shared/src/config.ts defaults, overridable per repo via fractalcode.config.json and CLI flags (--port, --default-branch). Visual tunables live in packages/client/src/config.ts.

Architecture

npm workspaces: packages/shared (the typed protocol contract), packages/server (git scanning, transcript tailing, coord/docs/deps readers, watchers, http+ws), packages/client (pure layout core + Three.js scene + plain-DOM panels). Strict TypeScript throughout; npm run check is the gate (typecheck + eslint zero-warnings + vitest). Degradation is data: anything unavailable (gh, .coord, history) surfaces as an explicit payload, never a silent fallback.

The next horizon — spawning and corresponding with sessions from inside the tool — is designed in docs/WORKFLOW_DESIGN.md.

License

Apache-2.0. See LICENSE.

About

A living 3D map of one git repo and the parallel Claude Code agent sessions working in it

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages