Repomix教程:28.5k星仓库打包AI工具,一键把代码库变成AI友好格式

📌 项目:yamadashy/repomix | 星数:28.5k(2026-09-24) | 协议:MIT | 语言:TypeScript | GitHub

一句话定位:"把整个代码库打包成AI能理解的单一文件——Repomix让LLM一次性看到全貌。" Repomix将仓库所有文件合并为格式化的单一输出,包含文件路径、内容、目录结构,支持智能过滤、安全检查和多种输出格式,是给LLM提供代码上下文的最佳工具。

📦 打包原理与输出格式

Repomix将仓库打包为结构化的单一文本:

# 文件头部
This file is a packed version of the repository.

# 目录结构
src/
  index.ts
  utils.ts
  ...

# 文件内容
File: src/index.ts
──────
import { utils } from './utils';
...
──────

输出支持XML、Markdown、纯文本三种格式。智能过滤会排除node_modules、.git、二进制文件等。和 Docling 处理文档不同,Repomix专注代码仓库打包。

🔒 安全检查

Repomix内置安全检查,扫描输出中可能包含的敏感信息:

发现敏感信息会警告并可选自动脱敏。这避免了把密钥粘贴给LLM的安全风险。

🚀 快速开始

# npm全局安装
npm install -g repomix

# 打包当前仓库
repomix

# 输出到指定文件
repomix --output packed.txt

# 只打包特定文件
repomix --include "src/**/*.ts"

# 排除测试文件
repomix --exclude "**/*.test.ts"

# 使用在线版
# 访问 repomix.com 直接粘贴GitHub URL

也支持远程仓库直接打包:repomix --remote https://github.com/user/repo

⚖️ 优缺点

✅ 优点⚠️ 不足
一键打包整个仓库为AI友好格式超大仓库输出可能超LLM上下文限制
三种输出格式(XML/Markdown/纯文本)部分语言注释剥离不够精细
内置安全检查,防止密钥泄露远程仓库打包需网络
CLI + 在线版(repomix.com)
MIT协议,npm安装方便

📚 常见问题

打包后的文件太大怎么办?

使用--include和--exclude精确控制范围,或使用--output拆分。Repomix会统计token数帮助判断是否超LLM上下文限制。

支持哪些代码仓库?

任何Git仓库都支持。本地仓库直接打包,远程仓库通过--remote参数指定URL。

安全检查能检测哪些敏感信息?

API密钥(AWS、GitHub等)、密码模式、私钥文件、.env文件内容等。使用正则和熵值分析双重检测。