Share this

Repomix - 将代码库打包成AI友好格式的工具

随着AI辅助编程的普及,如何让AI更好地理解我们的代码库成为了一个关键问题。Repomix就是为解决这一问题而诞生的专业工具,它能够将整个代码库打包成AI友好的格式,使AI更容易理解和处理代码结构,从而提供更精准的分析和建议。

核心功能

AI优化格式

Repomix将你的代码库以AI能更好理解的方式进行格式化,支持XML、Markdown和纯文本三种输出格式,让AI工具能更有效地处理代码内容。

Git感知能力

自动尊重.gitignore文件规则,确保你不会意外地包含不需要的文件,如依赖包、构建文件或临时文件。

安全性优先

集成了Secretlint进行强大的安全检查,能够检测并防止敏感信息的泄露,如API密钥、访问令牌等。

Token计数

为每个文件和整个代码库提供token计数,这对于了解LLM上下文限制非常有用,帮助你避免超出AI工具的处理能力。

使用场景

代码审查

将整个代码库打包后交给AI助手,让它进行全面的代码审查,识别潜在问题和改进机会。

代码重构

在重构项目前,使用Repomix将代码打包并提交给AI,获取重构建议和实现方案。

文档生成

让AI基于完整的代码库生成高质量文档,包括API文档、使用指南和架构说明。

知识传递

新团队成员可以通过AI快速了解项目结构和设计决策,加速上手过程。

开始使用

使用Repomix非常简单,你可以不安装直接通过npx运行:

npx repomix

或者全局安装以便重复使用:

# 使用npm安装
npm install -g repomix

# 使用yarn安装
yarn global add repomix

# 使用pnpm安装
pnpm add -g repomix

# 使用Homebrew安装(macOS/Linux)
brew install repomix

运行后,Repomix将在当前目录生成一个repomix-output.txt文件,包含你的整个代码库。

高级用法

打包特定目录

repomix path/to/directory

使用glob模式包含特定文件

repomix --include "src/**/*.ts,**/*.md"

排除特定文件或目录

repomix --ignore "**/*.log,tmp/"

打包远程仓库

# 使用简短格式
npx repomix --remote yamadashy/repomix

# 使用完整URL
npx repomix --remote https://github.com/yamadashy/repomix

Docker使用

# 基本用法(当前目录)
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix

输出格式

Repomix支持多种输出格式,可根据需要选择:

# XML格式(默认)
repomix --style xml

# Markdown格式
repomix --style markdown

# 纯文本格式
repomix --style plain

自定义配置

创建repomix.config.json文件进行持久化设置:

{
  "output": {
    "style": "markdown",
    "filePath": "custom-output.md",
    "removeComments": true,
    "showLineNumbers": true,
    "topFilesLength": 10
  },
  "ignore": {
    "customPatterns": ["*.test.ts", "docs/**"]
  }
}

与AI工具配合使用

生成打包文件后,你可以将其发送给AI助手,并提供如下提示:

此文件包含仓库中的所有文件内容。
我想重构代码,请先对其进行审查。

AI将分析整个代码库并提供全面的见解。当讨论具体更改时,AI可以帮助生成代码。配合Claude的Artifacts等功能,甚至可以接收多个相互依赖的文件。

结语

Repomix为AI辅助编程提供了关键的基础工具,帮助开发者更有效地利用AI能力进行代码分析、重构和优化。无论是个人开发者还是大型团队,都能从这一工具中获益,提高代码质量和开发效率。

访问Repomix官网,探索如何更好地将你的代码与AI工具结合,释放AI辅助编程的全部潜力。

Join Newsletter
Get the latest news right in your inbox. We never spam!