AI-powered code summarization tool that generates markdown documentation from your codebase.
# Install from PyPI (recommended)
pip install codectx
# Or install from source
git clone https://github.com/RMLaroche/codectx.git
cd codectx
pip install .
# Set API key
export CODECTX_API_KEY="your-mistral-api-key"
# Run on current directory
codectx
codectx # Update changed files only (default)
codectx --scan-all # Process all files
codectx --mock-mode # Test without API calls
codectx --copy-mode # Copy content without AI
codectx --status # Show file status
- Scans your directory for code files
- Only processes files that changed since last run (checksum-based)
- Small files (<200 tokens) → copied as-is
- Large files (≥200 tokens) → AI summarized
- Generates
codectx.md
with structured summaries
export CODECTX_API_KEY="your-mistral-api-key"
Create .codectxignore
:
node_modules/
*.log
build/
codectx [directory] # Process directory (default: current directory)
codectx --help # Show all options
codectx --version # Show version
# Processing modes
codectx --scan-all # Process all files (not just changed)
codectx --mock-mode # Test without API calls
codectx --copy-mode # Raw content only (no AI)
codectx --status # Show file status without processing
# Configuration
codectx --api-key KEY # Override API key
codectx --token-threshold 100 # Files ≥N tokens get AI summary (default: 200)
codectx --timeout 60 # API timeout seconds (default: 30)
codectx --retry-attempts 5 # API retry count (default: 3)
codectx --max-file-size 20 # Skip files >N MB (default: 10)
codectx --output-file summary.md # Output filename (default: codectx.md)
# API settings
codectx --api-url URL # Custom API endpoint
codectx --model mistral-7b # AI model (default: codestral-latest)
export CODECTX_API_KEY="your-key" # Required for AI mode
export CODECTX_API_URL="custom-endpoint" # Override API URL
export CODECTX_MODEL="custom-model" # Override AI model
Note: CLI arguments always override environment variables.
Creates codectx.md
with:
## src/main.py
Summarized on 2024-01-15 14:30:22 (checksum: abc123...)
- **Role**: Main application entry point
- **Classes**: App, Config
- **Functions**: main(), setup()
- **Dependencies**: requests, click
- Python 3.8+
- Mistral API key (free tier available)
MIT License