Document Any Codebase You Inherited with Claude
TL;DR
Inheriting an undocumented codebase is one of the worst parts of the job - you cannot change what you cannot understand. Claude can read the whole thing and write the docs for you: a README that explains what it is, an architecture map of how it fits together, and inline docs where the logic is not obvious. These are the prompts, in the order that turns a black box into a map.
You cannot work in what you cannot understand
An inherited codebase with no docs is a black box, and every change is a gamble. The fix is not to read all 40,000 lines yourself - it is to have Claude read them and write the map. Done in the right order, you go from 'I have no idea what this does' to a real README and an architecture map in an afternoon.
Step 1: The README - what is this and how do I run it
markdownRead this codebase and write a README.md that covers:
1. What this project does, in two sentences.
2. The tech stack.
3. How to install and run it locally.
4. The main folders and what each is for.
Base every line on what the code actually shows - if you
are unsure about something, mark it TODO rather than
guessing.Step 2: The architecture map - how it fits together
markdownNow map the architecture. Explain:
1. The main entry points and the flow of a typical request
or action from start to finish.
2. How the major pieces talk to each other.
3. External services and where they are wired in.
4. The files a new developer should read first, in order.Step 3: Inline docs where the logic is not obvious
Do not document everything - that just adds noise. Have Claude add comments only where the logic is genuinely non-obvious.
markdownGo through the most complex files and add short comments
ONLY where the logic is not self-evident - tricky
conditionals, non-obvious workarounds, and anything a new
dev would misread. Do not comment code that already speaks
for itself. Show me the diff before applying.Common questions
Will Claude just make things up about the code?
It can, if you let it. The prompts above tell it to base every claim on what the code actually shows and to mark anything uncertain as TODO. Confident wrong docs are worse than none, so the anti-guessing instruction is the important part.
Should I document every file?
No. Document top-down - the README and architecture map first - then add inline comments only where the logic is genuinely non-obvious. Commenting self-evident code just adds noise you will have to maintain.
The codebase is huge. Can Claude handle it?
Work in the order above rather than dumping everything at once. Start with structure and entry points so Claude builds a mental model, then drill into specific files. If it is very large, do the architecture map by area.
How do I keep the docs from going stale?
Add a rule to your CLAUDE.md to update the README and architecture notes when the structure changes. See our Ultimate CLAUDE.md File guide.
Want Claude to keep your docs current automatically?
Get the other 17 in the starter stack, plus 5,000+ builders - $9/mo, cancel anytime.
Join the Club