📌 项目: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文件内容等。使用正则和熵值分析双重检测。