Repomix

4 months ago 8

Sponsors

🏆 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!

If Repomix has helped you analyze or pack codebases for AI tools, we'd be grateful for your vote in the Powered by AI category.

What is Repomix?

Repomix is a powerful tool that packages your entire codebase into a single AI-friendly file. Whether you're working on code reviews, refactoring, or getting AI assistance with your project, Repomix makes it easy to share your entire repository context with AI tools.

Quick Start

Once you've generated a packed file (repomix-output.xml) using Repomix, you can send it to an AI assistant (like ChatGPT, Claude) 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.

The AI will analyze your entire codebase and provide comprehensive insights:

Repomix File Usage 1

When discussing specific changes, the AI can help generate code. With features like Claude's Artifacts, you can even receive multiple interdependent files:

Repomix File Usage 2

Happy coding! 🚀

Repomix can be used as a command-line tool, offering powerful features and customization options.

The CLI tool can access private repositories as it uses your locally installed git.

Quick Start

You can try Repomix instantly in your project directory without installation:

Or install globally for repeated use:

bash

# 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.

Usage

To pack your entire repository:

To pack a specific directory:

bash

repomix path/to/directory

To pack specific files or directories using glob patterns:

bash

repomix --include "src/**/*.ts,**/*.md"

To exclude specific files or directories:

bash

repomix --ignore "**/*.log,tmp/"

To pack a remote repository:

bash

# Using shorthand format npx repomix --remote yamadashy/repomix # Using full URL (supports branches and specific paths) npx repomix --remote https://github.com/yamadashy/repomix npx repomix --remote https://github.com/yamadashy/repomix/tree/main # Using commit's URL npx repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1

To initialize a new configuration file (repomix.config.json):

Once you have generated the packed file, you can use it with Generative AI tools like Claude, ChatGPT, and Gemini.

Docker Usage

You can also run Repomix using Docker 🐳
This is useful if you want to run Repomix in an isolated environment or prefer using containers.

Basic usage (current directory):

bash

docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix

To pack a specific directory:

bash

docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directory

Process a remote repository and output to a output directory:

bash

docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomix

Output Formats

Choose your preferred output format:

bash

# XML format (default) repomix --style xml # Markdown format repomix --style markdown # Plain text format repomix --style plain

Customization

Create a repomix.config.json for persistent settings:

json

{ "output": { "style": "markdown", "filePath": "custom-output.md", "removeComments": true, "showLineNumbers": true, "topFilesLength": 10 }, "ignore": { "customPatterns": ["*.test.ts", "docs/**"] } }

Power Users Guide

Repomix offers powerful features for advanced use cases. Here are some essential guides for power users:

More Examples

Need more help? 💡

Check out our comprehensive documentation in the Guide or explore the GitHub Repository for more examples and source code.

Read Entire Article