Codebase Analyzer
Analyze project structure and generate CLAUDE.md files interactively.
Guidelines
MANDATORY: All rules below must be followed exactly. Violations produce incorrect CLAUDE.md content.
@../shared/references/guidelines.md
Algorithm
1. Check Existing CLAUDE.md
If CLAUDE.md already exists, ask the user how to handle it:
- Migrate: Convert to auto-managed format (add markers)
- Backup: Create CLAUDE.md.backup and generate fresh
- Merge: Keep manual sections, add auto-managed sections
- Cancel: Abort initialization
2. Scan Directory Structure
Detect frameworks and build systems:
package.json- Node.js/JavaScriptpyproject.toml,setup.py- PythonCargo.toml- Rustgo.mod- GoMakefile- Make-based buildsDockerfile- Container builds
Extract build/test/lint commands from config files.
3. Identify Subtree Candidates
Look for framework boundaries that warrant separate CLAUDE.md files:
src/with 10+ source fileslib/directorypackages/*(monorepo packages)apps/*(monorepo applications)
4. Detect Code Patterns
Analyze source files for conventions:
- Naming: PascalCase, camelCase, snake_case usage
- Imports: ES6 modules, CommonJS, ordering patterns
- Architecture: Feature-based, layered, MVC patterns
- Style: Indentation, quotes, semicolons
5. Fetch Memory Guidelines (Optional)
If network available, fetch from https://code.claude.com/docs/en/memory:
- Use WebFetch tool
- Extract relevant sections for context
- Reference official guidelines above as primary source
6. Present Findings
Use AskUserQuestion to confirm:
- Detected framework and commands
- Suggested subtree locations
- Detected patterns
7. Generate Memory Files
Read .claude/auto-memory/config.json to determine which files to generate based on memoryFiles:
memoryFiles value |
Files to generate |
|---|---|
absent or ["CLAUDE.md"] |
CLAUDE.md only (full content) |
["AGENTS.md"] |
AGENTS.md only (full content) |
["CLAUDE.md", "AGENTS.md"] |
AGENTS.md (full content) + CLAUDE.md (redirect) |
Generate full-content files using the EXACT template structure. Follow these steps precisely:
- Copy template skeleton - Use the appropriate template (CLAUDE or AGENTS) as the base structure
- Use exact marker format - See Marker Syntax section below
- Replace placeholders - Substitute
{{PLACEHOLDER}}with detected content - Include all required sections - Even if content is minimal, include the section
- Add MANUAL section at the end for user notes
- Size limits: Root 150-200 lines, Subtrees 50-75 lines
When both CLAUDE.md and AGENTS.md are configured, also generate redirect files:
- At the root: write
CLAUDE.mdusingCLAUDE.redirect.md.template(static pointer, no markers) - For each subtree that gets an
AGENTS.md: write a matchingCLAUDE.mdredirect alongside it
Marker Syntax
CRITICAL: Use the EXACT marker format below. Do NOT use variations.
<!-- AUTO-MANAGED: section-name -->
## Section Heading
Content goes here
<!-- END AUTO-MANAGED -->
For user-editable content:
<!-- MANUAL -->
## Custom Notes
Add project-specific notes here. This section is never auto-modified.
<!-- END MANUAL -->
Common mistakes to avoid:
<!-- BEGIN AUTO-MANAGED: name -->- WRONG (no BEGIN prefix)<!-- END AUTO-MANAGED: name -->- WRONG (no name in closing tag)<!-- AUTO-MANAGED section-name -->- WRONG (missing colon)
Section Definitions
Root CLAUDE.md Sections
Generate these sections in order:
| Section Name | Heading | Required | Placeholder | Content |
|---|---|---|---|---|
project-description |
## Overview | Yes | {{DESCRIPTION}} |
Project name, tagline, key features |
build-commands |
## Build & Development Commands | Yes | {{BUILD_COMMANDS}} |
Build, test, lint, run commands |
architecture |
## Architecture | Yes | {{ARCHITECTURE}} |
Directory tree, key files, data flow |
conventions |
## Code Conventions | Yes | {{CONVENTIONS}} |
Naming, imports, formatting rules |
patterns |
## Detected Patterns | Yes | {{PATTERNS}} |
AI-detected recurring code patterns |
git-insights |
## Git Insights | No | {{GIT_INSIGHTS}} |
Key commits, design decisions |
best-practices |
## Best Practices | No | {{BEST_PRACTICES}} |
From official Claude Code docs |
Subtree CLAUDE.md Sections
Generate these sections in order:
| Section Name | Heading | Required | Placeholder | Content |
|---|---|---|---|---|
module-description |
## Purpose | Yes | {{DESCRIPTION}} |
Module purpose and responsibility |
architecture |
## Module Architecture | Yes | {{ARCHITECTURE}} |
Module structure, key files |
conventions |
## Module-Specific Conventions | Yes | {{CONVENTIONS}} |
Module-specific rules |
dependencies |
## Key Dependencies | Yes | {{DEPENDENCIES}} |
Module dependencies |
Templates
Reference the template files for exact structure:
CLAUDE.md Root Template
@templates/CLAUDE.root.md.template
CLAUDE.md Subtree Template
@templates/CLAUDE.subtree.md.template
AGENTS.md Root Template
@templates/AGENTS.root.md.template
AGENTS.md Subtree Template
@templates/AGENTS.subtree.md.template
CLAUDE.md Redirect Template (when both files configured)
@templates/CLAUDE.redirect.md.template
User Interactions
Use AskUserQuestion for:
- Existing CLAUDE.md handling (migrate/backup/merge/cancel)
- Subtree location confirmation
- Final approval before writing files
Output
After generating files, report:
- Files created/modified
- Sections populated
- Any warnings or suggestions