pathlight

Watch your agent walk your architecture.

Your agent writes most of the code now, and Pathlight gives you back a view of it, a map of your system in a pane beside the conversation where each part lights up as the agent reads and edits it.

Thy word is a lamp unto my feet,
and a light unto my path.
Psalm 119:105

I spent years tuning Neovim and caring about the craft of programming, and then the models and the harnesses around them got good enough that I hardly open my editor anymore. What I missed was less the typing than the sense of knowing my code, its shape and where things live and what leans on what, and neither output scrolling past in a terminal nor a diff a thousand lines long gives that back.

A map of the architecture comes much closer, so that is what Pathlight draws: your system as boxes and the connections between them, with the light moving across it while your agent works, from what it read to what it changed. When you ask for a change to the spec, you get to watch it take shape in the system rather than in the text.

How it works

See the shape

Pathlight draws a first map from your code’s imports, so there’s nothing to write before you start. If you already keep a LikeC4 model, it uses that instead and checks it against the code.

Follow the light

Each read and edit lights the box it belongs to and adds to its count, and the view can glide to wherever the agent is working. Afterwards, p replays the session one call at a time.

Ask from the map

Select a box and press t to ask your agent about it with its files and connections attached, or d to have it trace how something works from there and draw the route.

In the terminal

It runs in a tmux pane beside your agent and draws the boxes, groups and connections as terminal text, with no browser tab, GPU or image protocol involved.

 ◆ pathlight / Parcel / Checkout detail                                                                                 ⠋ live claude:demo   parcel/checkout · 8 nodes                                                 now  ■ edit services/checkout/src/payment.ts in Checkout API now ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────                                                                                                 │ Checkout API                    service         ·           ╭─Parcel─────────────────────────────────╮    ·           ·           ·       │ TypeScript / HTTP                                           │                                        │                                    │ Validates carts, reserves stock, and                        │                       ╭─── ✓ done ─╮   │                                    │ authorizes payment.                                         │                       │ webapp  r1 │   │                                    │ o opens Parcel / Service architecture                       │                       │ Storefront │──╮│                                    │                                                 ·           │          ·           ·╰────────────╯  ││    ·           ·           ·       │ ▾ 1 Now ───────────────────────────── 3                     │                                       ││                                    │ ⠋ edit payment.ts                   now                     │                                       ││                                    │ ✓ edit routes.ts                    now                     │ ╭─Commerce────────────────────────────╮│                                    │ ✓ read routes.ts                    <1m                     │ │                   ╭╭───── ■ edit ─╮─││                                    │                                                             │ │                   ││        r1 e2 │ ││                                    │ ▾ 2 Connects ──────────────────────── 4         ·           │ │        ·          ▶│ Checkout API │─││    ·           ·           ·       │   ← Storefront        Submits checkout                      │ │                    ╰──────────────╯ ││                                    │   → Inventory         Reserves stock                        │ │                                     ││                                    │   → Orders            Commits order an…                     │ │                                     ││                                    │   → Payment provider  Authorizes payme…                     │ │                                     ││                                    │                                                             │ │╭───────────────────┬────────────────││                                    │                                                 ·           │ ││╭──── ✓ done ─╮    │╭──── ✓ done ─╮ ││  ╭─────────────╮           ·       │                                                             │ │││ service  r1 │    ││          r1 │ ││  │ external    │                   │                                                             │ │▶│ Inventory   │─╮  ▶│ Orders      │ ││─▶│ Payment pr… │                   │                                                             │ │ ╰─────────────╯ ┊   ╰─────────────╯ ││  ╰─────────────╯                   │                                                             │ │                 ┊                   ││                                    │                                                             │ │                 ┊                   ││                                    │                                                 ·           │ │        ·        ┊  ·           ·    ││    ·           ·           ·       │                                                             │ │╭╭──── ✓ done ─╮┈╯                   ││                                    │                                                             │ │┊│          r1 │                     ││                                    │                                                             │ │▶│ Stock       │                     ││                                    │                                                             │ │ ╰─────────────╯                     ││                                    │                                                             │ ╰─────────────────────────────────────╯│                                    │ ────────────────────────────────────────        ·           ╰────────────────────────────────────────╯    ·           ·           ·       │ e files 2   c session   p replay                                                                                                          │ › ask about Checkout API…              t  diagram   Selected: parcel.commerce.api                                                                                zoom 73%  │  ? help 

Install

You’ll need tmux. Pathlight is built and tested on Linux x64, and the macOS builds are published but haven’t been tried yet.

npm i -g @dumbbunnyio/pathlight

Then add it to your agent once, and it’s there for every project. In Claude Code:

claude plugin marketplace add dumbbunnyio/pathlight
claude plugin install pathlight@pathlight

In OpenCode:

pathlight init --global

After that, start your agent inside tmux and type /pathlight. It draws a map if the project doesn’t have one yet, checks it, and opens the viewer beside the conversation. If something is missing, pathlight doctor tells you how to fix it.