Codebase Navigation
Before modifying unfamiliar code, build a mental model.
Exploration strategy:
-
Start with entry points: main.py , init.py , index.ts , App.tsx .
-
Follow imports to understand dependency structure.
-
Find the data model first — it shapes everything else.
-
Read tests: they document expected behavior better than comments.
-
Check git log: recent commits explain why things are the way they are.
Efficient search:
-
Use file pattern search (glob) to find files by name/extension.
-
Use content search (grep) to find where a function/class is defined vs. called.
-
Search for the error message text to find the source location directly.
Anti-patterns:
-
Modifying code without reading it first.
-
Assuming file structure from another codebase.
-
Grepping without a clear hypothesis of what you are looking for.