Repomix 是一个把整个代码仓库打包成单个 AI 友好文件的工具,主要用于把代码库作为上下文提供给大语言模型(如 Claude、ChatGPT、Gemini)。
用途与适用场景:为 AI 分析打包代码库、生成用于 LLM 上下文的仓库快照、分析第三方库、准备安全审计、生成文档上下文、跨大型代码库排查缺陷、创建适合 AI 的代码表示。
主要能力:以清晰分隔符做 AI 优化格式化;支持 XML、Markdown、JSON、纯文本多种输出格式;Git 感知处理(遵循 .gitignore);自动统计单个文件、整个仓库及各格式输出的 token 数;使用 Secretlint 检测敏感数据(API 密钥、密码、凭据、私钥、AWS 密钥);支持不克隆直接处理远程仓库,并可指定 commit;可移除多种语言的注释(HTML、CSS、JavaScript、TypeScript、Vue、Svelte、Python、PHP、Ruby、C、C#、Java、Go、Rust、Swift、Kotlin、Dart、Shell、YAML)。
安装与基本用法:检查安装用 repomix --version;安装可用 npm install -g repomix 或 brew install repomix。基本用法:repomix 打包当前目录并生成 repomix-output.xml;repomix --style markdown 或 --style json 指定格式;npx repomix --remote owner/repo 打包远程仓库;repomix --include "src/**/*.ts" --remove-comments -o output.md 自定义输出与过滤。远程仓库也支持完整 URL 或指定 commit。常用选项:--include 指定包含模式,-i 追加忽略模式,--no-gitignore 禁用 .gitignore 规则,-o 指定输出路径,--copy 复制到剪贴板,-c 使用自定义配置文件,--init 生成 repomix.config.json,--no-security-check 关闭安全检查。
限制与注意事项:共享输出前应始终复核内容;对敏感文件使用 .repomixignore;处理未知代码库时启用安全检查;避免打包 .env 文件;检查硬编码凭据。常见 LLM 上下文上限参考:Claude Sonnet 4.5 约 200K tokens、GPT-4 约 128K tokens、GPT-3.5 约 16K tokens。更多细节见 https://repomix.com/guide/ 与 GitHub https://github.com/yamadashy/repomix,另有 MCP Server 可用于 AI 助手集成。