Repomix
Overview
Repomix packages entire code repositories into a single AI-friendly file. Ideal for feeding codebases to LLMs like Claude, ChatGPT, and Gemini for analysis, code review, security audits, and documentation generation.
When to Use
- Packaging codebases for AI analysis
- Creating repository snapshots for LLM context
- Analyzing third-party libraries
- Preparing security audits
- Generating documentation context
- Investigating bugs across large codebases
- Creating AI-friendly code representations
Quick Start
Check Installation
repomix --version
Install
# npm
npm install -g repomix
# Homebrew (macOS/Linux)
brew install repomix
Basic Usage
# Package current directory (generates repomix-output.xml)
repomix
# Specify output format
repomix --style markdown
repomix --style json
# Package remote repository
npx repomix --remote owner/repo
# Custom output with filters
repomix --include "src/**/*.ts" --remove-comments -o output.md
Core Capabilities
Repository Packaging
- AI-optimized format with clear delimiters
- Multiple output formats: XML, Markdown, JSON, plain text
- Git-aware processing (respects .gitignore)
- Token counting for LLM context management
- Security checks for sensitive information
Remote Repository Support
Process remote repositories without cloning:
# Shorthand
npx repomix --remote yamadashy/repomix
# Full URL
npx repomix --remote https://github.com/owner/repo
# Specific commit
npx repomix --remote https://github.com/owner/repo/commit/hash
Comment Removal
Strip comments from supported languages (HTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell, YAML):
repomix --remove-comments
Common Use Cases
Code Review Preparation
# Package feature branch for AI review
repomix --include "src/**/*.ts" --remove-comments -o review.md --style markdown
Security Audit
# Package third-party library
npx repomix --remote vendor/library --style xml -o audit.xml
Documentation Generation
# Package docs and code
repomix --include "src/**,docs/**,*.md" --style markdown -o context.md
Bug Investigation
# Package specific modules
repomix --include "src/auth/**,src/api/**" -o debug-context.xml
Implementation Planning
# Full codebase context
repomix --remove-comments --copy
CLI Reference
File Selection
# Include specific patterns
repomix --include "src/**/*.ts,*.md"
# Additional ignore patterns
repomix -i "tests/**,*.test.js"
# Disable .gitignore rules
repomix --no-gitignore
Output Options
# Output format
repomix --style markdown # Or xml, json, plain
# Output file path
repomix -o output.md
# Remove comments
repomix --remove-comments
# Copy to clipboard
repomix --copy
Configuration
# Use custom config file
repomix -c custom-config.json
# Initialize new config
repomix --init # Creates repomix.config.json
Token Management
Repomix automatically calculates token counts for individual files, the entire repository, and each output format.
Typical LLM context limits:
- Claude Sonnet 4.5: ~200K tokens
- GPT-4: ~128K tokens
- GPT-3.5: ~16K tokens
Security Considerations
Repomix uses Secretlint to detect sensitive data (API keys, passwords, credentials, private keys, AWS keys).
Best practices:
- Always review output before sharing
- Use
.repomixignorefor sensitive files - Enable security checks for unknown codebases
- Avoid packaging
.envfiles - Check for hardcoded credentials
To disable security checks:
repomix --no-security-check
Implementation Workflow
When a user requests repository packaging:
Assess requirements
- Identify target repository (local/remote)
- Determine required output format
- Check for sensitive data concerns
Configure filters
- Set include patterns to match relevant files
- Add ignore patterns to exclude unnecessary files
- Enable/disable comment removal
Execute packaging
- Run repomix with appropriate options
- Monitor token count
- Verify security checks
Validate output
- Review generated file
- Confirm no sensitive data included
- Check token limits for target LLM
Deliver context
- Provide packaged file to user
- Include token count summary
- Note any warnings or issues
Reference Documentation
For detailed information, see:
- Configuration Reference - Config files, include/exclude patterns, output formats, advanced options
- Usage Patterns - AI analysis workflows, security audit preparation, documentation generation, library evaluation
Additional Resources
- GitHub: https://github.com/yamadashy/repomix
- Documentation: https://repomix.com/guide/
- MCP Server: Available for AI assistant integration