codebase-documenter
Generates comprehensive documentation explaining how a codebase works, including architecture, key components, data flow, and development guidelines. Use when user wants to understand unfamiliar code, create onboarding docs, document architecture, or explain how the system works.
When & Why to Use This Skill
This Claude skill automates the generation of comprehensive codebase documentation, including architecture overviews, component interactions, and development guidelines. It streamlines the creation of technical manuals and onboarding materials by analyzing source code and synthesizing it into structured Markdown files with Mermaid diagrams.
Use Cases
- New Developer Onboarding: Automatically generate 'Getting Started' guides and project overviews to help new hires understand the codebase and development environment quickly.
- Legacy Code Analysis: Analyze and document unfamiliar or undocumented legacy systems to map out data flows, dependencies, and architectural patterns.
- Architecture Visualization: Create detailed ARCHITECTURE.md files featuring Mermaid diagrams to visualize high-level system components and design decisions.
- Standardizing Documentation: Ensure consistent documentation across multiple repositories by generating standardized README, API, and CONTRIBUTING files following best practices.
| name | codebase-documenter |
|---|---|
| description | Generates comprehensive documentation explaining how a codebase works, including architecture, key components, data flow, and development guidelines. Use when user wants to understand unfamiliar code, create onboarding docs, document architecture, or explain how the system works. |
Codebase Documenter
Generates comprehensive documentation for codebases - architecture, components, data flow, development guidelines.
When to Use
- "explain this codebase"
- "document the architecture"
- "how does this code work"
- "create developer documentation"
- "generate codebase overview"
- "create onboarding docs"
What It Documents
1. Project Overview
- Purpose & vision
- Target users
- Key features
- Technology stack
- Project status
2. Architecture
- High-level structure
- Design patterns
- Data flow
- Control flow
- Diagrams (Mermaid)
- Architectural decisions
3. Directory Structure
- Organization purpose
- Naming conventions
- Entry points
- Core modules
- Configuration locations
4. Key Components
- Major modules
- Classes & functions
- Responsibilities
- Interactions
- Extension points
- Code examples
5. External Integrations
- APIs consumed
- Databases & schemas
- Authentication
- Caching
- Message queues
- File storage
6. Data Models
- Database schema
- Data structures
- Validation
- Migrations
- Data transformations
7. Development Setup
- Prerequisites
- Installation steps
- Configuration
- Running the app
- Testing
- Debugging
- Troubleshooting
8. Development Guidelines
- Coding conventions
- Testing approach
- Error handling
- Logging
- Security practices
- Performance patterns
9. Deployment
- Build process
- Deployment steps
- Environments
- Monitoring
- Rollback procedures
10. Contributing
- Development workflow
- Code review guidelines
- Testing requirements
- Documentation updates
Approach
- Explore using Explore agent (thorough)
- Map structure with Glob
- Read critical files (README, entry points, core modules)
- Identify patterns with Grep (imports, exports)
- Trace execution paths
- Extract knowledge from docs, comments, tests
- Synthesize into cohesive documentation
Output
Creates markdown documentation:
docs/
├── README.md # Overview and quick start
├── ARCHITECTURE.md # System architecture
├── DEVELOPMENT.md # Development guide
├── API.md # API documentation
├── DEPLOYMENT.md # Deployment guide
└── CONTRIBUTING.md # Contribution guidelines
Or single comprehensive doc if preferred.
Depth Levels
- Quick: High-level overview (15-30 min)
- Standard: Comprehensive coverage (30-60 min)
- Deep: Exhaustive with examples (60+ min)
Visual Elements
- Mermaid diagrams (architecture, flow charts, sequence)
- Code examples from codebase
- Specific file:line references
- Tables for structured info
- Lists for guidelines
Tools Used
- Task (Explore agent): Codebase exploration
- Glob: Map directory structure
- Grep: Find patterns, imports, exports
- Read: Analyze key files
- Write: Create documentation
- Bash: Extract metadata (git log, versions)
Success Criteria
- Complete coverage of all areas
- Clear explanations with examples
- Visual diagrams for complex concepts
- Specific file:line references
- Actionable setup/development instructions
- New developer can onboard using only docs
- Organized, navigable structure
- Accurate and current information
Integration
- code-auditor: Includes quality/security context
- project-bootstrapper: Documents bootstrap decisions
- visual-html-creator: Create visual diagrams