
原站网页截图,页面可能随时间更新。
Repomix面向需要把完整项目上下文交给AI工具的开发者。它能够读取本地代码库或远程仓库,将分散的文件整理成一个结构化输出,减少逐个探索文件的过程,方便后续进行代码分析、修改规划和文档处理。
用途与适用场景
Repomix的核心用途是把整个代码库打包成单个适合AI处理的文件。生成的文件可以交给ChatGPT、Claude、Gemini、Grok等生成式AI工具,用于理解项目整体结构,而不必先逐个提供文件。
它适合代码审查、重构规划、问题排查、第三方库安全检查、文档生成以及基于现有代码的增量改进。除程序代码外,也可以将博客、文档和书籍等内容整理为适合语言模型处理的知识数据包。
准备与快速上手
Repomix提供命令行使用方式,可在macOS、Linux和Windows上运行。使用者可以直接在项目目录中通过npx执行,也可以使用npm、Yarn、Bun或macOS/Linux上的Homebrew进行安装。对于偏好隔离环境的用户,官网也提供Docker运行方式。
在项目目录中运行后,工具会生成名为repomix-output.xml的文件,其中包含整理后的仓库内容。默认输出为XML,也可以选择Markdown、JSON或纯文本格式。随后将生成文件提交给AI工具,并说明希望进行审查、重构或其他代码处理即可。
主要功能与可调选项
Repomix支持按整个仓库、指定目录或glob模式选择文件,也能通过忽略模式排除日志、临时目录等内容。输出中可以包含文件摘要、目录结构和行号,并支持根据所选格式生成可解析的内容。
工具能够统计单个文件及整个仓库的令牌数量,便于判断内容是否接近语言模型的上下文限制。启用代码压缩后,它会利用Tree-sitter提取重要的代码签名和结构,同时移除实现细节;官网将这一能力描述为可显著减少令牌使用量。
Repomix会遵循.gitignore,并集成Secretlint以识别符合已知凭据格式的文件,将其排除在输出之外。用户还可以移除注释和空行,并通过repomix.config.json保存输出格式、输出文件名、忽略模式等持续设置。
本地、远程与自动化使用
除了本地项目,Repomix也支持处理远程仓库,可以使用仓库简写、GitHub完整URL、分支路径或提交URL。命令行工具能够访问私有仓库,因为它使用本机已安装的Git。
对于需要重复执行的团队流程,官网列出了GitHub Actions、MCP Server和Node.js库集成等扩展方向,也提供自定义指令和安全功能相关指南。Docker方式则适合希望在容器中运行,或需要将处理环境与本机隔离的场景。
限制与使用时的注意点
Repomix负责整理和输出项目内容,本身并不替代后续的代码分析、修改或审查工具。生成文件交给AI后,具体结果仍取决于所使用的AI服务及其上下文限制。启用可解析格式或保留更多目录、摘要和行号信息时,输出内容可能增加令牌数量。
代码压缩虽然可以减少上下文规模,但会移除部分实现细节,因此需要完整实现内容时,应根据任务选择是否启用。处理私有仓库或包含敏感信息的项目时,也应结合文件筛选和忽略规则检查最终输出内容。该项目以MIT许可证发布。
问:Repomix默认会生成什么文件?答:在当前项目目录中生成repomix-output.xml。
问:是否只能处理本地公开项目?答:不只能处理本地项目,也支持远程仓库;命令行工具还可通过本机Git访问私有仓库。
Repomix默认会生成什么文件?
在当前项目目录中生成repomix-output.xml。
是否只能处理本地公开项目?
不只能处理本地项目,也支持远程仓库;命令行工具还可通过本机Git访问私有仓库。