Pack your entire codebase into a single AI-friendly file for analysis by LLMs like Claude, ChatGPT, and Gemini.
Repomix is a command-line tool that packages an entire code repository into a single, AI-friendly file. It transforms complex codebases into structured formats (XML, Markdown, JSON, or plain text) that are optimized for ingestion by Large Language Models like Claude, ChatGPT, and Gemini. This solves the problem of feeding large projects to AI assistants while respecting token limits and maintaining code context.
Developers and teams using AI coding assistants (Claude Code, Cursor, GitHub Copilot) who need to analyze entire codebases, conduct code reviews, generate documentation, or refactor projects with LLM support.
Repomix offers a secure, git-aware, and highly configurable way to prepare code for AI analysis. Unlike manual file concatenation, it provides token optimization, security scanning, remote repository support, and multiple output formats—making it the most comprehensive tool for AI-powered codebase workflows.
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.
Structures code in XML, Markdown, JSON, or plain text specifically for LLM comprehension, as the README highlights outputs designed for tools like Claude and ChatGPT with clear separators and metadata.
Integrates Secretlint to detect and prevent inclusion of sensitive data like API keys, ensuring secure code sharing with AI tools without manual filtering.
Can directly clone and pack public Git repos via URL or shorthand (e.g., user/repo) without local cloning, enabling quick analysis of external codebases from the command line.
Supports multiple config file formats (JSON, TypeScript) and extensive CLI options for precise control over file inclusion, output styles, and token optimization, as shown in the detailed configuration section.
The --compress option using Tree-sitter is labeled experimental in the README, which may lead to unstable or incomplete code extraction in some languages or edge cases.
By default, config files from remote repositories are not loaded for security reasons (mentioned in the README), potentially limiting customization and requiring manual overrides for trusted repos.
With over 50 command-line options and nuanced configuration, casual users may find it overwhelming to leverage advanced features like MCP integration or skill generation without significant trial and error.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.