--- name: ck:repomix description: Pack repositories into AI-friendly files with Repomix (XML, Markdown, plain text). Use for codebase snapshots, LLM context preparation, security audits, third-party library analysis. argument-hint: "[path] [--style xml|markdown|plain|json]" metadata: author: claudekit version: "1.0.0" --- # Repomix Skill Repomix packs entire repositories into single, AI-friendly files. Perfect for feeding codebases to LLMs like Claude, ChatGPT, and Gemini. ## When to Use Use when: - Packaging codebases for AI analysis - Creating repository snapshots for LLM context - Analyzing third-party libraries - Preparing for security audits - Generating documentation context - Investigating bugs across large codebases - Creating AI-friendly code representations ## Quick Start ### Check Installation ```bash repomix --version ``` ### Install ```bash # npm npm install -g repomix # Homebrew (macOS/Linux) brew install repomix ``` ### Basic Usage ```bash # 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 formatting with clear separators - 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: ```bash # 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): ```bash repomix --remove-comments ``` ## Common Use Cases ### Code Review Preparation ```bash # Package feature branch for AI review repomix --include "src/**/*.ts" --remove-comments -o review.md --style markdown ``` ### Security Audit ```bash # Package third-party library npx repomix --remote vendor/library --style xml -o audit.xml ``` ### Documentation Generation ```bash # Package with docs and code repomix --include "src/**,docs/**,*.md" --style markdown -o context.md ``` ### Bug Investigation ```bash # Package specific modules repomix --include "src/auth/**,src/api/**" -o debug-context.xml ``` ### Implementation Planning ```bash # Full codebase context repomix --remove-comments --copy ``` ## Command Line Reference ### File Selection ```bash # Include specific patterns repomix --include "src/**/*.ts,*.md" # Ignore additional patterns repomix -i "tests/**,*.test.js" # Disable .gitignore rules repomix --no-gitignore ``` ### Output Options ```bash # 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 ```bash # Use custom config file repomix -c custom-config.json # Initialize new config repomix --init # creates repomix.config.json ``` ## Token Management Repomix automatically counts tokens for individual files, total repository, and per-format output. Typical LLM context limits: - Claude Sonnet 4.5: ~200K tokens - GPT-4: ~128K tokens - GPT-3.5: ~16K tokens ### Token Count Optimization Understanding your codebase's token distribution is crucial for optimizing AI interactions. Use the --token-count-tree option to visualize token usage across your project: ```bash repomix --token-count-tree ``` This displays a hierarchical view of your codebase with token counts: ``` 🔢 Token Count Tree: ──────────────────── └── src/ (70,925 tokens) ├── cli/ (12,714 tokens) │ ├── actions/ (7,546 tokens) │ └── reporters/ (990 tokens) └── core/ (41,600 tokens) ├── file/ (10,098 tokens) └── output/ (5,808 tokens) ``` You can also set a minimum token threshold to focus on larger files: ```bash repomix --token-count-tree 1000 # Only show files/directories with 1000+ tokens ``` This helps you: - Identify token-heavy files that might exceed AI context limits - Optimize file selection using --include and --ignore patterns - Plan compression strategies by targeting the largest contributors - Balance content vs. context when preparing code for AI analysis ## Security Considerations Repomix uses Secretlint to detect sensitive data (API keys, passwords, credentials, private keys, AWS secrets). Best practices: 1. Always review output before sharing 2. Use `.repomixignore` for sensitive files 3. Enable security checks for unknown codebases 4. Avoid packaging `.env` files 5. Check for hardcoded credentials Disable security checks if needed: ```bash repomix --no-security-check ``` ## Implementation Workflow When user requests repository packaging: 1. **Assess Requirements** - Identify target repository (local/remote) - Determine output format needed - Check for sensitive data concerns 2. **Configure Filters** - Set include patterns for relevant files - Add ignore patterns for unnecessary files - Enable/disable comment removal 3. **Execute Packaging** - Run repomix with appropriate options - Monitor token counts - Verify security checks 4. **Validate Output** - Review generated file - Confirm no sensitive data - Check token limits for target LLM 5. **Deliver Context** - Provide packaged file to user - Include token count summary - Note any warnings or issues ## Reference Documentation For detailed information, see: - [Configuration Reference](./references/configuration.md) - Config files, include/exclude patterns, output formats, advanced options - [Usage Patterns](./references/usage-patterns.md) - 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