repomix
Packs an entire code repository into a single AI-friendly file for feeding to language models.
Claude Code
> /plugin marketplace add yamadashy/repomix
Codex
$ codex mcp add repomix -- npx -y repomix@latest --mcp
Cursor
{ "mcpServers": { "repomix": { "command": "npx", "args": [ "-y", "repomix@latest", "--mcp" ] } } }
Add it to mcp.json.
Gemini CLI
{ "mcpServers": { "repomix": { "command": "npx", "args": [ "-y", "repomix@latest", "--mcp" ] } } }
Add it to settings.json.
GitHub Copilot
$ copilot mcp add repomix -- npx -y repomix@latest --mcp
OpenCode
{ "mcp": { "repomix": { "type": "local", "command": [ "npx", "-y", "repomix@latest", "--mcp" ] } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "repomix": { "command": "npx", "args": [ "-y", "repomix@latest", "--mcp" ] } } }
Add it to mcp_config.json.
From the README
What can you do with repomix?
AI-Optimized
Formats your codebase in a way that's easy for AI to understand and process.
Token Counting
Provides token counts for each file and the entire repository, useful for LLM context limits.
Simple to Use
You need just one command to pack your entire repository.
Customizable
Easily configure what to include or exclude.
Git-Aware
Automatically respects your .gitignore, .ignore, and .repomixignore files.
Security-Focused
Incorporates Secretlint to detect files matching known credential formats and leave them out of the output.
Code Compression
The --compress option uses Tree-sitter to extract key code elements, reducing token count while preserving structure.
Security report
Low risk
Known flaws
None known
Signed build
Yes
Build provenance published
Maintained
Nov 1, 2026
Last push
Licence
MIT
Runs as
npx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 13, 2026.
repomix README
Special thanks to:
Warp, built for coding with multiple AI agents
Available for MacOS, Linux, & Windows

CodeRabbit | AI Code Reviews
Cut code review time & bugs in half, instantly.
Pack your codebase into AI-friendly formats
Use Repomix online! 👉 repomix.com
Need discussion? Join us on Discord! Share your experience and tips Stay updated on new features Get help with configuration and usage
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file.
It is 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.
Please consider sponsoring me.
🏆 Open Source Awards Nomination
We're honored! Repomix has been nominated for the Powered by AI category at the JSNation Open Source Awards 2025.
This wouldn't have been possible without all of you using and supporting Repomix. Thank you!
🎉 New: Repomix Website & Discord Community!
- Try Repomix in your browser at repomix.com
- Join our Discord Server for support and discussion
We look forward to seeing you there!
🌟 Features
- AI-Optimized: Formats your codebase in a way that's easy for AI to understand and process.
- Token Counting: Provides token counts for each file and the entire repository, useful for LLM context limits.
- Simple to Use: You need just one command to pack your entire repository.
- Customizable: Easily configure what to include or exclude.
- Git-Aware: Automatically respects your
.gitignore,.ignore, and.repomixignorefiles. - Security-Focused: Incorporates Secretlint to detect files matching known credential formats and leave them out of the output.
- Code Compression: The
--compressoption uses Tree-sitter to extract key code elements, reducing token count while preserving structure.
🚀 Quick Start
Using the CLI Tool >_
You can try Repomix instantly in your project directory without installation:
npx repomix@latest
Or install globally for repeated use:
# Install using npm
npm install -g repomix
# Alternatively using yarn
yarn global add repomix
# Alternatively using bun
bun add -g repomix
# Alternatively using Homebrew (macOS/Linux)
brew install repomix
# Then run in any project directory
repomix
That's it! Repomix will generate a repomix-output.xml file in your current directory, containing your entire
repository in an AI-friendly format.
You can then send this file to an AI assistant with a prompt like:
This file contains all the files in the repository combined into one.
I want to refactor the code, so please review it first.

When you propose specific changes, the AI might be able to generate code accordingly. With features like Claude's Artifacts, you could potentially output multiple files, allowing for the generation of multiple interdependent pieces of code.

Happy coding! 🚀
Using The Website 🌐
Want to try it quickly? Visit the official website at repomix.com. Simply enter your repository name, fill in any optional details, and click the Pack button to see your generated output.
Available Options
The website offers several convenient features:
- Customizable output format (XML, Markdown, or Plain Text)
- Instant token count estimation
- Much more!
Using The Browser Extension 🧩
Get instant access to Repomix directly from any GitHub repository! Our Chrome extension adds a convenient "Repomix" button to GitHub repository pages.

Install
- Chrome Extension: Repomix - Chrome Web Store
- Firefox Add-on: Repomix - Firefox Add-ons
Features
- One-click access to Repomix for any GitHub repository
- More exciting features coming soon!
Using The VSCode Extension ⚡️
A community-maintained VSCode extension called Repomix Runner (created by massdo) lets you run Repomix right inside your editor with just a few clicks. Run it on any folder, manage outputs seamlessly, and control everything through VSCode's intuitive interface.
Want your output as a file or just the content? Need automatic cleanup? This extension has you covered. Plus, it works smoothly with your existing repomix.config.json.
Try it now on the VSCode Marketplace! Source code is available on GitHub.
Alternative Tools 🛠️
If you're using Python, you might want to check out Gitingest, which is better suited for Python ecosystem and data
science workflows:
https://github.com/cyclotruc/gitingest
📊 Usage
To pack your entire repository:
repomix
To pack a specific directory:
repomix path/to/directory
To pack specific files or directories using glob patterns:
repomix --include "src/**/*.ts,**/*.md"
To exclude specific files or directories:
repomix --ignore "**/*.log,tmp/"
To pack a remote repository:
repomix --remote https://github.com/yamadashy/repomix
# You can also use GitHub shorthand:
repomix --remote yamadashy/repomix
# You can specify the branch name, tag, or commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Or use a specific commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Another convenient way is specifying the branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
# Commit's URL is also supported
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
To pack files from a file list (pipe via stdin):
# Using find command
find src -name "*.ts" -type f | repomix --stdin
# Using git to get tracked files
git ls-files "*.ts" | repomix --stdin
# Using grep to find files containing specific content
grep -l "TODO" **/*.ts | repomix --stdin
# Using ripgrep to find files with specific content
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Using ripgrep (rg) to find files
rg --files --type ts | repomix --stdin
# Using sharkdp/fd to find files
fd -e ts | repomix --stdin
# Using fzf to select from all files
fzf -m | repomix --stdin
# Interactive file selection with fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Using ls with glob patterns
ls src/**/*.ts | repomix --stdin
# From a file containing file paths
cat file-list.txt | repomix --stdin
# Direct input with echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
The --stdin option allows you to pipe a list of file paths to Repomix, giving you ultimate flexibility in selecting which files to pack.
When using --stdin, the specified files are effectively added to the include patterns. This means that the normal include and ignore behavior still applies - files specified via stdin will still be excluded if they match ignore patterns.
Note When using
--stdin, file paths can be relative or absolute, and Repomix will automatically handle path resolution and deduplication.
To include git logs in the output:
📦 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.
More MCP servers from other plugins.
Questions about repomix.
- Which coding agents can use repomix?
- repomix works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
- How do I add repomix to Claude Code?
- Run this in claude code: /plugin marketplace add yamadashy/repomix
- Is repomix safe to install?
- Low risk. Signals from public registries, not an audit.




