name: codebase-summarizer
codebase_summarizer in the project root after any structural changes.A CLI tool that extracts a concise summary of a codebase — public symbols, their types, signatures, and documentation — into codebase_summary.md.
Available at: codebase_summarizer (installed globally) or cargo run --release from the project directory.
Before reading multiple files to understand a codebase, check if codebase_summary.md already exists. If it doesn't, or if the project has changed significantly, run:
codebase_summarizer --directory <project-root>
Use the summary to identify which files contain the logic you need, then deep-dive into those specific files.
Re-run the tool when you've changed any of the following:
From the project root:
codebase_summarizer
If codebase_summary.md already exists, the tool updates it in place. It also creates or updates AGENTS.md with navigation instructions.
codebase_summary.md is organized by file. Each section lists the symbols in that file with their kind, name, signature, and documentation. Use it to:
target/, node_modules/, .git/, and other build/generated directoriescodebase_summary.md with the file tree and symbol documentationAGENTS.md with navigation protocol (if it doesn't exist)Go, Rust, Python, Dart, R, TypeScript/JavaScript, Java, C, C++, C#, Ruby, PHP, Swift, Kotlin, and more.
The tool generates a markdown file with this structure:
# Codebase Architecture Map
## File: src/main.rs
### func main
**Doc:**
Entry point for the application.
### struct Config
**Doc:**
Configuration for the application.
Each symbol shows its kind (func, struct, method, etc.), name, and any associated doc comments.