XSV/DEV
Cartograph turns a project folder into one markdown map, so your coding agent reads the map instead of wandering the repo like a guy looking for his car in the Assembly Row garage. It never changes your files. It's free.
Windows 10 & 11 · 64-bit · v1.0.2 · MIT license
Ten calls. Tomorrow it does all ten again.
Two calls. Also tomorrow.
The file names are made up. The pattern isn't. If you've watched an agent work, you've watched the left side, and you paid for every line of it.
I build most things now with Claude Code sitting next to me. It's brilliant. It also shows up to every session like it's never seen the place before. "Let me start by exploring the project structure." Buddy, you explored it an hour ago. You explored it yesterday. Nothing moved.
It's a contractor who's great with a saw but needs the full house tour every morning. Yes, the kitchen is still there. No, we didn't add a wing overnight. And the tour isn't free: every ls, every glob that wanders into node_modules, every "let me read this file to see if it's the right one" costs tokens and time before any work happens.
So I made the house a floor plan. One file with every folder, every dependency and every function, sitting in the repo. One line in CLAUDE.md tells the agent to read the plan first. Then it walks straight to the room it needs, like a person who has been here before.
The first desktop version started a dev server from a hardcoded path on my own Desktop. It worked perfectly for exactly one human being on Earth. This one works for you too.
node_modules, .git, build output and whatever your .gitignore says get named in the map with a file count, so the agent knows they exist, but they're never opened. .env files and keys are listed by name and never read.



1 fileout of 118
I pointed it at one of my own projects and got a map of a single file. Python virtual environments ship a .gitignore that just says *, meaning "ignore everything in here." Cartograph applied that to the whole project. A nested .gitignore now only counts inside its own folder, like git does, and the same project maps all 118 files.
−80%and a lie
An early version bragged that the map was 80% smaller than the source. It was counting node_modules as source, which is like saying you saved money on groceries by not buying the store. Measured honestly, the tiny sample project's map was bigger than its code. So the sample is now Cartograph's own source, and the 90%-plus is real.
Zone capital letter
Rust dependencies vanished from the map whenever [dependencies] was the last section of Cargo.toml, which is basically always. The parser ended the section at \Z, which means "end of file" in most regex flavors and "a capital Z" in JavaScript. No Z, no dependencies. There's a test for it now.
1 userworldwide
The first desktop build ran a web server out of a folder on my Desktop, by full path. Released as-is, everyone else would have downloaded a very nice blank window. It's now one self-contained app that needs nothing installed.
.env, keys, certificates and .npmrc are listed by name so the agent knows they exist. Their contents are never read into memory, let alone into the map.Windows 10 and 11, 64-bit. Grab Cartograph-Setup-1.0.2.exe to install it, or Cartograph-1.0.2-portable.exe, which is the whole app in one file.
The builds aren't code-signed yet, so Windows may say "Windows protected your PC" the first time. Click More info, then Run anyway.
Open source under the MIT license. Built with Tauri, Rust, React and TypeScript. Built with help from Claude, which was also its first customer.