yamadashy/repomix

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

解决的问题

像 ChatGPT 和 Claude 这样的 AI 工具在一次性获得整个项目时效果最佳,但典型的代码库是由许多文件、文件夹和配置交织而成的。Repomix 将整个仓库压缩成一个干净、结构化的文档,AI 可以快速阅读和理解。它还会统计 token 数量并遵守您的忽略规则,因此您不会意外发送敏感或大型文件。

工作原理

您在任何项目目录中运行一个命令,例如 repomix。Repomix 会扫描代码库,应用包含/排除规则(如 .gitignore 和 .repomixignore),并输出一个文件(默认为 XML,但您也可以获得 Markdown 或 JSON)。它有一个 --compress 选项,使用 Tree-sitter 仅保留关键代码元素,从而减少 token 数量。它还可以打包远程仓库、包含 git 日志,并从标准输入接受文件列表。输出以面向 AI 的解释开头,以便工具知道如何读取该文件。

适用人群

希望将整个代码库提供给 AI 助手进行代码审查、重构、文档编写、测试生成,或只是想了解库概览的开发者。无论您是在处理小型脚本还是大型多目录项目,它都非常有用,并且适用于本地和远程仓库。

亮点

  • AI 优化格式:输出结构便于 LLM 解析
  • 为每个文件和整个仓库统计 token 数量
  • Git 感知:遵守 .gitignore、.ignore 和 .repomixignore
  • 安全重点:使用 Secretlint 发现并排除类似凭据的文件
  • 使用 Tree-sitter 进行代码压缩,在保留结构的同时减少 token 数量
  • 多种输出格式:XML、Markdown、JSON
  • 打包远程仓库或使用标准输入管道传输文件列表
  • 网页版位于 repomix.com,并提供 Chrome/Firefox 扩展,用于一键打包 GitHub

相关

  • 项目
  • 项目
  • 项目
  • 项目