综合介绍
Repomix(前称Repopack)是一款开源工具,专门用于将整个代码库打包成一个单一的、AI友好的文件。这个工具可以让开发者轻松地将他们的代码库提供给大语言模型(如Claude、ChatGPT和Gemini)进行分析和处理。其设计初衷是简化AI在代码理解和生成方面的任务,适用于需要对代码库进行快速审查或重构的场景。Repomix支持多种输出格式,包括XML、Markdown和纯文本,并提供配置文件以满足不同项目的需求。
功能列表
- 代码库打包:将整个项目打包成单一文件,方便AI分析。
- 多格式输出支持:提供XML、Markdown和纯文本等多种输出格式,用户可以按需选择。
- 配置灵活性:通过配置文件,可以自定义忽略文件、注释移除等选项。
- 远程仓库支持:可以直接从远程GitHub仓库获取并打包代码。
- Docker支持:提供Docker镜像,方便在容器化环境中运行Repomix。
- 安全检查:默认开启安全检查,以避免敏感信息泄露。
使用帮助
安装Repomix
Repomix是一个基于Node.js的工具,因此你需要确保你的系统已经安装了Node.js。
1.安装Node.js:
- 访问Node.js官网,下载并安装适合你系统的版本。
2.安装Repomix:
- 通过npm全局安装Repomix:
npm install -g repomix
使用Repomix
基本使用
- 打包本地项目:
进入你的项目目录,然后运行:
repomix
这将在当前目录下生成一个名为repomix-output.xml的文件。如果需要指定输出格式,可以使用**--style参数:
repomix --style markdown
- 打包远程仓库:
如果你想直接打包一个远程GitHub仓库,执行:repomix --remote https://github.com/yamadashy/repomix
你也可以指定分支或特定的commit:
repomix --remote yamadashy/repomix --remote-branch main
配置文件
- Repomix支持自定义配置,可以通过repomix --init生成一个repomix.config.json文件。你可以在其中定义:
- 忽略文件:使用**.repomixignore文件或配置文件中的ignore选项,类似于.gitignore**。
- 输出格式:选择输出文件的格式(如XML、Markdown)。
- 头部文本:添加说明性文本到输出文件的开始部分。
- 安全检查:是否开启安全检查以避免敏感信息泄露。
配置文件示例:
{ "output": { "filePath": "repomix-output.xml", "style": "xml", "fileSummary": true }, "ignore": { "useGitignore": true } }
运行Repomix
- 在Docker中运行:
如果你更喜欢使用Docker来管理环境,可以这样做:docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote yamadashy/repomix
Repomix配合其他AI工具使用
- 生成的单一文件可以直接上传到AI工具如Claude、ChatGPT或Gemini进行分析:
- 代码审查:给AI提供文件,请求其进行代码审查或建议重构。
- 文档生成:基于代码库生成文档或README文件。
- 问题解决:通过AI工具找出代码中的问题并提供解决方案。