Repomix 使用教程
从入门到精通的完整指南
Repomix 简介
Repomix是一款开源代码仓库打包工具,可将整个代码库一键合并为单个AI友好的文件(支持XML、Markdown、纯文本格式),便于喂给Claude、ChatGPT等大语言模型进行代码审查、重构建议和文档生成。内置Token计数、安全扫描和代码压缩功能,支持CLI、网页版和浏览器扩展等多种使用方式。
详细功能介绍
【工具简介】
Repomix是一款将整个代码仓库打包为单个AI友好文件的开源工具,帮助开发者高效地将代码库提供给大语言模型分析。
【核心功能】
①一键打包:一条命令将整个仓库合并为XML、Markdown或纯文本格式的单一文件,直接供LLM消费。
②Token统计:按文件和仓库维度统计Token数量,帮助管理LLM上下文窗口限制。
③安全扫描:集成Secretlint自动检测并阻止包含密钥、敏感数据的文件被纳入输出。
④代码压缩:通过Tree-sitter提取关键代码元素,在保留结构的同时大幅减少Token消耗。
⑤灵活输入:支持本地目录、远程GitHub仓库URL、glob模式和stdin管道输入。
【适用场景】
①AI辅助代码审查:将完整代码库喂给LLM进行代码质量分析和重构建议。
②项目文档生成:让LLM基于全量代码自动生成架构文档和API说明。
③代码库理解:快速向AI展示项目全貌,加速理解和上手陌生项目。
【快速入门】
①在项目目录中运行 npx repomix@latest 即可快速打包(无需全局安装)。
②如需全局安装,执行 npm install -g repomix 后使用 repomix 命令。
③打包完成后将生成的文件直接粘贴到ChatGPT、Claude等对话界面中。
④也可访问repomix.com网页版,或安装Chrome/Firefox扩展和VS Code插件使用。
【优缺点分析】
优点:
①使用极简,一条命令完成打包,上手门槛低。
②安全默认,自动扫描敏感信息防止泄露。
③高度可配置,支持自定义包含/排除规则和多种输出格式。
缺点:
①超大仓库打包后可能超出LLM上下文窗口,即使压缩也难以完全解决。
②工具链偏向Node.js生态,Python项目用户可能更适合Gitingest等替代方案。
③输出质量依赖合理的.gitignore配置,忽略规则不当会影响结果。
【适合人群】
①AI辅助开发者:日常使用LLM进行代码审查、重构和文档编写的程序员。
②技术团队:希望将AI集成到开发工作流中的工程团队。
③开源贡献者:需要快速理解陌生代码库结构和逻辑的贡献者。
1Repomix入门教程:一键打包代码库喂给AI分析
入门10分钟
Repomix是一款开源代码仓库打包工具,能将整个代码库合并为单个AI友好的文件,内置Token计数和安全扫描,便于用Claude、ChatGPT等模型进行代码审查。
一、快速开始
1. 全局安装Repomix:npm install -g repomix
2. 进入你的项目目录:cd your-project
3. 直接运行repomix命令,会在当前目录生成repomix-output.xml文件
4. 将生成的文件直接粘贴或上传到ChatGPT、Claude等AI对话界面即可开始分析
二、核心功能演示
功能1:一键打包代码库
在项目根目录执行repomix,工具会自动扫描所有源代码文件,按照合理的顺序将它们合并为一个文件。支持XML、Markdown和纯文本三种输出格式,XML格式最适合AI理解,Markdown格式便于人类阅读。
功能2:Token计数与估算
执行打包时会自动统计代码库的总Token数量,并显示在输出摘要中。这让你在喂给AI之前就能判断是否会超出上下文窗口限制,避免提交后才发现信息丢失的问题。
功能3:安全敏感信息扫描
内置安全扫描功能,会自动检测代码中的API密钥、密码、私钥等敏感信息并进行标记或排除。在配置文件中可以自定义忽略规则,防止敏感数据泄露到AI对话中。
三、实际使用案例
案例1:大型项目代码审查
接手一个陌生的代码库需要快速了解架构,用Repomix打包后提交给Claude,可以请求生成项目架构概览、模块依赖关系、代码质量分析等报告,比人工逐文件阅读效率高出数倍。
案例2:代码重构方案生成
计划对某个老旧模块进行重构,将相关代码打包给AI分析,请求生成重构方案、设计模式建议和具体的代码改写示例。AI基于完整上下文给出的建议比片段分析更准确。
四、常见问题
Q1:代码库太大超出AI上下文限制怎么办?
A:使用--ignore参数排除不需要的目录,如node_modules、测试文件、自动生成代码等。也可以用--include参数只打包核心模块,优先分析最重要的部分。
Q2:支持哪些编程语言?
A:支持所有主流编程语言,包括JavaScript、TypeScript、Python、Java、Go、Rust等。工具会根据文件扩展名自动识别语言类型并做相应处理。
Q3:生成的文件可以直接分享给别人吗?
A:可以,但建议先启用安全扫描功能检查是否包含敏感信息。生成的文件本质是代码的合并版本,分享前确认不包含密钥、内部URL等隐私内容。
五、小贴士
1. 善用ignore配置:在项目根目录创建repomix.config.json文件,配置忽略规则排除测试文件、构建产物、依赖目录等,既能减小文件体积,又能让AI聚焦核心业务代码
2. 搭配分步提问使用:不要把打包文件丢给AI后只问一个笼统的问题,可以分步骤提问,先问架构概览,再问某个模块的细节,最后问优化建议,层层深入效果更好
3. 结合Git差异分析:用repomix打包特定分支或最近修改的文件,让AI专注于分析变更部分的代码质量和潜在问题,在代码审查场景中特别实用