You signed in with another tab or window. Reload
to refresh your session. You signed out in another tab or window. Reload
to refresh your session. You switched accounts on another tab or window. Reload
to refresh your session. Dismiss alert
Notifications
You must be signed in to change notification settings
📦 Repomix (formerly Repopack) 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.
13.8k stars
595 forks
Branches
Tags
Activity
Notifications
You must be signed in to change notification settings
main
Go to file
Code
| Name | | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| Latest commit
-------------
yamadashy
0.3.1
Mar 28, 2025
30f4770
· Mar 28, 2025
History
-------
1,003 Commits
| | |
| .devcontainer | | .devcontainer | Fixes from linter | Dec 25, 2024 |
| .github | | .github | feat(format): output format defaults to xml | Mar 16, 2025 |
| bin | | bin | test(core): improve test coverage | Nov 21, 2024 |
| src | | src | test(file): Add tests and fix lint | Mar 28, 2025 |
| tests | | tests | test(file): Add tests and fix lint | Mar 28, 2025 |
| website | | website | docs(website): Add description for read_repomix_output | Mar 24, 2025 |
| .clinerules | | .clinerules | chore: Update instructions | Feb 26, 2025 |
| .codecov.yml | | .codecov.yml | chore(ci): Add Codecov integration to CI workflow | Oct 6, 2024 |
| .cursorrules | | .cursorrules | chore: Add .cursorrules | Mar 17, 2025 |
| .dockerignore | | .dockerignore | Add .dockerignore | Dec 30, 2024 |
| .editorconfig | | .editorconfig | feat: Initial implementation of Repopack | Jul 15, 2024 |
| .gitignore | | .gitignore | chore: Update instructions | Feb 26, 2025 |
| .node-version | | .node-version | chore(deps): update Node.js version from 23.1.0 to 23.6.0 | Jan 11, 2025 |
| .npmignore | | .npmignore | chore(npm): Add .memo to .npmignore | Jan 25, 2025 |
| .repomixignore | | .repomixignore | feat(rename): Rename to repomix | Nov 2, 2024 |
| .secretlintrc.json | | .secretlintrc.json | chore(ci): Run secretlint on lint | Jul 23, 2024 |
| .tool-versions | | .tool-versions | chore(deps): update Node.js version from 23.1.0 to 23.6.0 | Jan 11, 2025 |
| CLAUDE.md | | CLAUDE.md | chore(claude): Add CLAUDE.md | Mar 1, 2025 |
| CODE_OF_CONDUCT.md | | CODE_OF_CONDUCT.md | feat(rename): Rename to repomix | Nov 2, 2024 |
| CONTRIBUTING.md | | CONTRIBUTING.md | docs(website): Add local development instructions for website to CONT… | Feb 8, 2025 |
| Dockerfile | | Dockerfile | feat(docker): Separate RUN commands | Dec 30, 2024 |
| LICENSE | | LICENSE | feat: Initial implementation of Repopack | Jul 15, 2024 |
| README.md | | README.md | docs(website): Add description for read_repomix_output | Mar 24, 2025 |
| SECURITY.md | | SECURITY.md | feat(rename): Rename to repomix | Nov 2, 2024 |
| biome.json | | biome.json | docs(readme): Fix broken README | Feb 22, 2025 |
| llms-install.md | | llms-install.md | docs(website): Add description for read_repomix_output | Mar 24, 2025 |
| package-lock.json | | package-lock.json | 0.3.1 | Mar 28, 2025 |
| package.json | | package.json | 0.3.1 | Mar 28, 2025 |
| repomix-instruction.md | | repomix-instruction.md | chore: Update instructions | Feb 26, 2025 |
| repomix.config.json | | repomix.config.json | feat(git): Sort files by git commit frequency | Mar 15, 2025 |
| tsconfig.build.json | | tsconfig.build.json | feat: Initial implementation of Repopack | Jul 15, 2024 |
| tsconfig.json | | tsconfig.json | chore(config): Improve project configuration and linting | Sep 1, 2024 |
| typos.toml | | typos.toml | refactor(website): Fix lint | Jan 16, 2025 |
| vitest.config.ts | | vitest.config.ts | feat(compress): Add comments and import statements to compress. Also … | Mar 1, 2025 |
| View all files | | |
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.
Try Repomix in your browser at repomix.com
Join our Discord Server
for support and discussion
We look forward to seeing you there!
.gitignore
files and .git/info/exclude
.--compress
option uses Tree-sitter>_
You can try Repomix instantly in your project directory without installation:
npx repomix
Or install globally for repeated use:
# Install using npm
npm install -g repomix
# Alternatively using yarn
yarn global add 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! 🚀
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.
The website offers several convenient features:
A community-maintained VSCode extension 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
.
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
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 compress the output:
repomix --compress
# You can also use it with remote repositories:
repomix --remote yamadashy/repomix --compress
To initialize a new configuration file (repomix.config.json
):
repomix --init
Once you have generated the packed file, you can use it with Generative AI tools like ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.
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):
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix
To pack a specific directory:
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directory
Process a remote repository and output to a output
directory:
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomix
Once you have generated the packed file with Repomix, you can use it with AI tools like ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more. Here are some example prompts to get you started:
For a comprehensive code review and refactoring suggestions:
This file contains my entire codebase. Please review the overall structure and suggest any improvements or refactoring opportunities, focusing on maintainability and scalability.
To generate project documentation:
Based on the codebase in this file, please generate a detailed README.md that includes an overview of the project, its main features, setup instructions, and usage examples.
For generating test cases:
Analyze the code in this file and suggest a comprehensive set of unit tests for the main functions and classes. Include edge cases and potential error scenarios.
Evaluate code quality and adherence to best practices:
Review the codebase for adherence to coding best practices and industry standards. Identify areas where the code could be improved in terms of readability, maintainability, and efficiency. Suggest specific changes to align the code with best practices.
Get a high-level understanding of the library
This file contains the entire codebase of library. Please provide a comprehensive overview of the library, including its main purpose, key features, and overall architecture.
Feel free to modify these prompts based on your specific needs and the capabilities of the AI tool you're using.
Check out our community discussion
where users share:
Feel free to join the discussion and share your own experiences! Your insights could help others make better use of Repomix.
Repomix generates a single file with clear separators between different parts of your codebase.
To enhance AI comprehension, the output file begins with an AI-oriented explanation, making it easier for AI models to understand the context and structure of the packed repository.
The XML format structures the content in a hierarchical manner:
This file is a merged representation of the entire codebase, combining all repository files into a single document.
<file_summary>
(Metadata and usage AI instructions)
</file_summary>
<directory_structure>
src/
cli/
cliOutput.ts
index.ts
(...remaining directories)
</directory_structure>
<files>
<file path="src/index.js">
// File contents here
</file>
(...remaining files)
</files>
<instruction>
(Custom instructions from `output.instructionFilePath`)
</instruction>
For those interested in the potential of XML tags in AI contexts:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
When your prompts involve multiple components like context, instructions, and examples, XML tags can be a game-changer. They help Claude parse your prompts more accurately, leading to higher-quality outputs.
This means that the XML output from Repomix is not just a different format, but potentially a more effective way to feed your codebase into AI systems for analysis, code review, or other tasks.
To generate output in Markdown format, use the --style markdown
option:
repomix --style markdown
The Markdown format structures the content in a hierarchical manner:
This file is a merged representation of the entire codebase, combining all repository files into a single document.
# File Summary
(Metadata and usage AI instructions)
# Repository Structure
src/
cli/
cliOutput.ts
index.ts
(...remaining directories)
# Repository Files
## File: src/index.js
// File contents here
(...remaining files)
# Instruction
(Custom instructions from `output.instructionFilePath`)
This format provides a clean, readable structure that is both human-friendly and easily parseable by AI systems.
To generate output in plain text format, use the --style plain
option:
repomix --style plain
This file is a merged representation of the entire codebase, combining all repository files into a single document.
================================================================
File Summary
================================================================
(Metadata and usage AI instructions)
================================================================
Directory Structure
================================================================
src/
cli/
cliOutput.ts
index.ts
config/
configLoader.ts
(...remaining directories)
================================================================
Files
================================================================
================
File: src/index.js
================
// File contents here
================
File: src/utils.js
================
// File contents here
(...remaining files)
================================================================
Instruction
================================================================
(Custom instructions from `output.instructionFilePath`)
-v, --version
: Show tool version-o, --output <file>
: Specify the output file name--style <style>
: Specify the output style (xml
, markdown
, plain
)--parsable-style
: Enable parsable output based on the chosen style schema. Note that this can increase token count.--compress
: Perform intelligent code extraction, focusing on essential function and class signatures to reduce token count--output-show-line-numbers
: Show line numbers in the output--copy
: Additionally copy generated output to system clipboard--no-file-summary
: Disable file summary section output--no-directory-structure
: Disable directory structure section output--remove-comments
: Remove comments from supported file types--remove-empty-lines
: Remove empty lines from the output--header-text <text>
: Custom text to include in the file header--instruction-file-path <path>
: Path to a file containing detailed custom instructions--include-empty-directories
: Include empty directories in the output--no-git-sort-by-changes
: Disable sorting files by git change count (enabled by default)--include <patterns>
: List of include patterns (comma-separated)-i, --ignore <patterns>
: Additional ignore patterns (comma-separated)--no-gitignore
: Disable .gitignore file usage--no-default-patterns
: Disable default patterns--remote <url>
: Process a remote Git repository--remote-branch <name>
: Specify the remote branch name, tag, or commit hash (defaults to repository default branch)-c, --config <path>
: Path to a custom config file--init
: Create config file--global
: Use global config--no-security-check
: Disable security check--token-count-encoding <encoding>
: Specify token count encoding (e.g., o200k_base
, cl100k_base
)--mcp
: Run as a MCP (Model Context Protocol)--top-files-len <number>
: Number of top files to display in the summary--verbose
: Enable verbose logging--quiet
: Disable all output to stdoutExamples:
repomix -o custom-output.txt
repomix -i "*.log,tmp" -v
repomix -c ./custom-config.json
repomix --style xml
repomix --remote https://github.com/user/repo
npx repomix src
To update a globally installed Repomix:
# Using npm
npm update -g repomix
# Using yarn
yarn global upgrade repomix
Using npx repomix
is generally more convenient as it always uses the latest version.
Repomix supports processing remote Git repositories without the need for manual cloning. This feature allows you to quickly analyze any public Git repository with a single command.
To process a remote repository, use the --remote
option followed by the repository URL:
repomix --remote https://github.com/yamadashy/repomix
You can also use GitHub's shorthand format:
repomix --remote yamadashy/repomix
You can specify the branch name, tag, or commit hash:
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Using branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
Or use a specific commit hash:
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Using commit's URL
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
The --compress
option utilizes Tree-sitter
to perform intelligent code extraction, focusing on essential function and class signatures while removing implementation details. This can help reduce token count while retaining important structural information.
repomix --compress
For example, this code:
import { ShoppingItem } from './shopping-item';
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
Will be compressed to:
import { ShoppingItem } from './shopping-item';
⋮----
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
⋮----
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
Note
This is an experimental feature that we'll be actively improving based on user feedback and real-world usage
Repomix supports the Model Context Protocol (MCP)
, allowing AI assistants to directly interact with your codebase. When run as an MCP server, Repomix provides tools that enable AI assistants to package local or remote repositories for analysis without requiring manual file preparation.
repomix --mcp
When running as an MCP server, Repomix provides the following tools:
pack_codebase: Package a local code directory into a consolidated file for AI analysis
Parameters:
directory
: Absolute path to the directory to packcompress
: (Optional, default: true) Whether to perform intelligent code extractionincludePatterns
: (Optional) Comma-separated list of include patternsignorePatterns
: (Optional) Comma-separated list of ignore patternspack_remote_repository: Fetch, clone and package a GitHub repository
Parameters:
remote
: GitHub repository URL or user/repo format (e.g., yamadashy/repomix)compress
: (Optional, default: true) Whether to perform intelligent code extractionincludePatterns
: (Optional) Comma-separated list of include patternsignorePatterns
: (Optional) Comma-separated list of ignore patternsread_repomix_output: Read the contents of a Repomix output file in environments where direct file access is not possible
Parameters:
outputId
: ID of the Repomix output file to readFeatures:
file_system_read_file: Read a file using an absolute path with security validation
Parameters:
path
: Absolute path to the file to readSecurity features:
Implements security validation using Secretlint
Prevents access to files containing sensitive information
file_system_read_directory: List contents of a directory using an absolute path
Parameters:
path
: Absolute path to the directory to list[FILE]
or [DIR]
)To use Repomix as an MCP server with AI assistants like Claude, you need to configure the MCP settings:
For Cline (VS Code extension):
Edit the cline_mcp_settings.json
file:
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [\
"-y",\
"repomix",\
"--mcp"\
]
}
}
}
For Claude Desktop:
Edit the claude_desktop_config.json
file with similar configuration to Cline's config.
Once configured, your AI assistant can directly use Repomix's capabilities to analyze codebases without manual file preparation, making code analysis workflows more efficient.
Create a repomix.config.json
file in your project root for custom configurations.
repomix --init
Here's an explanation of the configuration options:
Option | Description | Default |
---|---|---|
output.filePath |
The name of the output file | "repomix-output.xml" |
output.style |
The style of the output (xml , markdown , plain ) |
"xml" |
output.parsableStyle |
Whether to escape the output based on the chosen style schema. Note that this can increase token count. | false |
output.compress |
Whether to perform intelligent code extraction to reduce token count | false |
output.headerText |
Custom text to include in the file header | null |
output.instructionFilePath |
Path to a file containing detailed custom instructions | null |
output.fileSummary |
Whether to include a summary section at the beginning of the output | true |
output.directoryStructure |
Whether to include the directory structure in the output | true |
output.removeComments |
Whether to remove comments from supported file types | false |
output.removeEmptyLines |
Whether to remove empty lines from the output | false |
output.showLineNumbers |
Whether to add line numbers to each line in the output | false |
output.copyToClipboard |
Whether to copy the output to system clipboard in addition to saving the file | false |
output.topFilesLength |
Number of top files to display in the summary. If set to 0, no summary will be displayed | 5 |
output.includeEmptyDirectories |
Whether to include empty directories in the repository structure | false |
output.git.sortByChanges |
Whether to sort files by git change count (files with more changes appear at the bottom) | true |
output.git.sortByChangesMaxCommits |
Maximum number of commits to analyze for git changes | 100 |
include |
Patterns of files to include (using glob patterns ) |
[] |
ignore.useGitignore |
Whether to use patterns from the project's .gitignore file |
true |
ignore.useDefaultPatterns |
Whether to use default ignore patterns | true |
ignore.customPatterns |
Additional patterns to ignore (using glob patterns ) |
[] |
security.enableSecurityCheck |
Whether to perform security checks on files | true |
tokenCount.encoding |
Token count encoding for AI model context limits (e.g., o200k_base , cl100k_base ) |
"o200k_base" |
The configuration file supports JSON5
syntax, which allows:
Example configuration:
{
"output": {
"filePath": "repomix-output.xml",
"style": "xml",
"parsableStyle": true,
"compress": false,
"headerText": "Custom header information for the packed file.",
"fileSummary": true,
"directoryStructure": true,
"removeComments": false,
"removeEmptyLines": false,
"showLineNumbers": false,
"copyToClipboard": true,
"topFilesLength": 5,
"includeEmptyDirectories": false,
"git": {
"sortByChanges": true,
"sortByChangesMaxCommits": 100
}
},
"include": [\
"**/*"\
],
"ignore": {
"useGitignore": true,
"useDefaultPatterns": true,
// Patterns can also be specified in .repomixignore
"customPatterns": [\
"additional-folder",\
"**/*.log"\
],
},
"security": {
"enableSecurityCheck": true
},
"tokenCount": {
"encoding": "o200k_base"
},
}
To create a global configuration file:
repomix --init --global
The global configuration file will be created in:
%LOCALAPPDATA%\Repomix\repomix.config.json
$XDG_CONFIG_HOME/repomix/repomix.config.json
or ~/.config/repomix/repomix.config.json
Note: Local configuration (if present) takes precedence over global configuration.
Repomix now supports specifying files to include using glob patterns
. This allows for more flexible and powerful file selection:
**/*.js
to include all JavaScript files in any directorysrc/**/*
to include all files within the src
directory and its subdirectories["src/**/*.js", "**/*.md"]
to include JavaScript files in src
and all Markdown filesRepomix offers multiple methods to set ignore patterns for excluding specific files or directories during the packing process:
.gitignore
files and .git/info/exclude
are used. This behavior can be controlled with the ignore.useGitignore
setting or the --no-gitignore
cli option.ignore.useDefaultPatterns
setting or the --no-default-patterns
cli option. Please see defaultIgnore.ts.repomixignore
file in your project root to define Repomix-specific ignore patterns. This file follows the same format as .gitignore
.ignore.customPatterns
option in the configuration file. You can overwrite this setting with the -i, --ignore
command line option.Priority Order (from highest to lowest):
ignore.customPatterns
.repomixignore
.gitignore
and .git/info/exclude
(if ignore.useGitignore
is true and --no-gitignore
is not used)ignore.useDefaultPatterns
is true and --no-default-patterns
is not used)This approach allows for flexible file exclusion configuration based on your project's needs. It helps optimize the size of the generated pack file by ensuring the exclusion of security-sensitive files and large binary files, while preventing the leakage of confidential information.
Note: Binary files are not included in the packed output by default, but their paths are listed in the "Repository Structure" section of the output file. This provides a complete overview of the repository structure while keeping the packed file efficient and text-based.
The output.instructionFilePath
option allows you to specify a separate file containing detailed instructions or context about your project. This allows AI systems to understand the specific context and requirements of your project, potentially leading to more relevant and tailored analysis or suggestions.
Here's an example of how you might use this feature:
repomix-instruction.md
in your project root:# Coding Guidelines
- Follow the Airbnb JavaScript Style Guide
- Suggest splitting files into smaller, focused units when appropriate
- Add comments for non-obvious logic. Keep all text in English
- All new features should have corresponding unit tests
# Generate Comprehensive Output
- Include all content without abbreviation, unless specified otherwise
- Optimize for handling large codebases while maintaining output quality
repomix.config.json
, add the instructionFilePath
option:{
"output": {
"instructionFilePath": "repomix-instruction.md",
// other options...
}
}
When Repomix generates the output, it will include the contents of repomix-instruction.md
in a dedicated section.
Note: The instruction content is appended at the end of the output file. This placement can be particularly effective for AI systems. For those interested in understanding why this might be beneficial, Anthropic provides some insights in their documentation:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips
Put long-form data at the top: Place your long documents and inputs (~20K+ tokens) near the top of your prompt, above your query, instructions, and examples. This can significantly improve Claude's performance across all models. Queries at the end can improve response quality by up to 30% in tests, especially with complex, multi-document inputs.
When output.removeComments
is set to true
, Repomix will attempt to remove comments from supported file types. This feature can help reduce the size of the output file and focus on the essential code content.
Supported languages include:
HTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell, and YAML.
Note: The comment removal process is conservative to avoid accidentally removing code. In complex cases, some comments might be retained.
Repomix includes a security check feature that uses Secretlint
to detect potentially sensitive information in your files. This feature helps you identify possible security risks before sharing your packed repository.
The security check results will be displayed in the CLI output after the packing process is complete. If any suspicious files are detected, you'll see a list of these files along with a warning message.
Example output:
🔍 Security Check:
──────────────────
2 suspicious file(s) detected:
1. src/utils/test.txt
2. tests/utils/secretLintUtils.test.ts
Please review these files for potentially sensitive information.
By default, Repomix's security check feature is enabled. You can disable it by setting security.enableSecurityCheck
to false
in your configuration file:
{
"security": {
"enableSecurityCheck": false
}
}
Or using the --no-security-check
command line option:
repomix --no-security-check
Note
Disabling security checks may expose sensitive information. Use this option with caution and only when necessary, such as when working with test files or documentation that contains example credentials.
We welcome contributions from the community! To get started, please refer to our Contributing Guide
.
--remote
flag to process remote repositories.)
Repomix (both the CLI tool and the website) is provided "as is" without any warranties or guarantees.
We do not take responsibility for how the generated output is used, including but not limited to its accuracy, legality, or any potential consequences arising from its use.
This project is licensed under the MIT License
.
📦 Repomix (formerly Repopack) 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.
nodejs
javascript
typescript
ai
chatbot
devtools
artificial-intelligence
gemini
openai
developer-tools
llama
gpt
language-model
claude
llm
generative-ai
chatgpt
anthropic
genai
deepseek
Learn more about GitHub Sponsors
* \
* \
* \
* \
* \
* \
* \
* \
\
+ 159
Other 1.3%
You can’t perform that action at this time.