Skip to content

Repomix

Pack your codebase into AI-friendly formats

Output Format

Include Patterns (using glob patterns)

Ignore Patterns

Output Options

Quick Start

Once you've generated a packed file (repomix-output.txt) using Repomix, you can send it 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.

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

Power User Guide

For advanced users who need more control, Repomix offers extensive customization options through its CLI interface.

Quick Start

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

bash
npx repomix

Or install globally for repeated use:

bash
# Install using npm
npm install -g repomix

# Alternatively using yarn
yarn global add repomix

# Alternatively using Homebrew (macOS)
brew install repomix

# Then run in any project directory
repomix

That's it! Repomix will generate a repomix-output.txt file in your current directory, containing your entire repository in an AI-friendly format.

Usage

To pack your entire repository:

bash
repomix

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

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

bash
repomix --init

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/**"]
  }
}

More Examples

TIP

💡 Check out our GitHub repository for complete documentation and more examples!

Released under the MIT License.