概况
Repomix:开源 CLI 工具,将整个代码仓库打包成单个 AI 友好文件(默认 XML,也支持 Markdown / JSON / Plain),方便喂给 Claude、Gemini、ChatGPT、Grok 等 LLM 进行:代码审查、重构、调试、文档生成、安全审计等
- GitHub:github.com/yamadashy/r…
- 官网:repomix.com
优点
- 全仓库上下文 → AI 分析更准确
- 尊重
.gitignore+ 自定义忽略规则 - 内置 Secretlint 防敏感信息泄露
- 自动 token 统计(控制成本)
- 支持压缩(token 减少约 70%)
- 支持远程 GitHub 仓库、分割大文件、VS Code 插件等功能
前置条件
-
Node.js 18+
-
Git 仓库(可选,但推荐使用
.gitignore) -
安装方式:
-
推荐临时使用(无需全局安装):
npx repomix@latest -
全局安装:
npm install -g repomix # 或 yarn global add repomix # 或 brew install repomix
-
-
大项目注意:LLM 上下文长度限制 → 建议使用
--compress或--split-output
基本使用
在项目根目录运行:
# 方式一:临时运行(推荐)
npx repomix@latest
# 方式二:已全局安装
repomix
# 方式三:指定路径 / 自定义忽略
repomix src/ # 仅打包 src 目录
repomix --ignore "**/tests/**" # 排除 tests 目录
# 方式四:远程打包(无需克隆,神器!)
repomix --remote https://github.com/yamadashy/repomix
# 临时 npx 方式
npx repomix --remote https://github.com/yamadashy/repomix
- 默认输出:当前目录生成
repomix-output.xml - 使用方式:直接复制内容粘贴给 AI,或上传文件(Claude 支持附件)
简单 Prompt 示例:
这个文件包含了整个仓库的所有代码。
请先完整阅读并理解项目结构,
然后帮我重构 main.dart 中的登录逻辑,使其更模块化。
常用命令选项
--style markdown|json|plain # 更改输出格式
--compress # 压缩代码(大项目强烈推荐)
--split-output 1mb # 分割大文件(支持 kb/mb)
--include "src/**/*.ts" # 只包含匹配的文件
--ignore "**/*.log,dist/" # 额外排除
--remote user/repo # 远程仓库
--copy # 复制结果到剪贴板
--token-count-tree # 显示 token 分布树
--help # 查看全部选项
针对不同技术栈的打包示例
-
前端:
repomix src/ --include "src/**/*.{tsx,jsx,css}" -
Flutter:
repomix lib/ --include "lib/**/*.dart,pubspec.yaml" -
后端(以 Python/Go 为例):
repomix src/ --include "src/**/*.py,go.mod"
进阶配置(repomix.config.json)
放在项目根目录,支持 JSON5(可写注释)。
生成模板:
repomix --init # 本地
repomix --init --global # 全局
完整示例配置(带注释):
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"input": {
"maxFileSize": 50000000 // 字节,超大文件跳过,默认 50MB
},
"output": {
"filePath": "repomix-output.xml",
"style": "xml", // xml / markdown / json / plain
"compress": true, // Tree-sitter 压缩,token 减 ~70%
"removeComments": true,
"removeEmptyLines": true,
"showLineNumbers": true,
"splitOutput": "1mb",
"directoryStructure": true,
"fileSummary": true,
"headerText": "这是一个完整仓库打包,用于代码审查与重构。",
"instructionFilePath": "repomix-instruction.md",
"git": {
"sortByChanges": true,
"includeDiffs": true,
"includeLogs": true,
"includeLogsCount": 20
}
},
"include": [
"src/**",
"**/*.md",
"pubspec.yaml"
],
"ignore": {
"useGitignore": true,
"customPatterns": [
"**/*.log",
"build/**",
"tests/e2e/**"
]
},
"security": {
"enableSecurityCheck": true // Secretlint 扫描
},
"tokenCount": {
"encoding": "o200k_base" // 推荐:o200k_base (GPT-4o / Claude 最新)
}
}
自定义指令文件(repomix-instruction.md)
示例内容:
# 项目专属指令(给 AI 的)
这是一个 Flutter + Node.js 全栈项目。
请严格遵守以下规则分析代码:
1. 优先关注 lib/ 下的页面与状态管理(Riverpod/Bloc)。
2. 后端检查路由安全、输入校验、防注入。
3. 建议使用 MVVM 架构重构。
4. 所有输出用中文 + Markdown 格式,带代码块。
5. 如果发现安全问题,必须给出修复代码示例。
推荐 Prompt 模板(通用结构)
<文件内容> // 粘贴完整的 repomix-output.xml / .md
现在你是一个10年经验的全栈高级工程师,已完整阅读并理解整个项目(包括目录结构、文件总结、代码、Git 历史等)。
任务:
[你的具体需求,例如:进行全面架构审查、找出性能瓶颈、重构登录模块、生成 API 文档等]
要求:
- 用中文回复
- 输出 Markdown 格式:标题分层、代码块、列表
- 如果涉及修改,给出 diff 或完整新代码
- 优先级:准确性 > 完整性 > 简洁性
具体场景示例
-
架构 & 安全审查
请对整个仓库进行架构审查: 1. 评估整体分层设计、可维护性、可扩展性 2. 找出潜在安全漏洞(XSS、注入、认证绕过等) 3. 列出高优先级问题 + 修复建议(带代码示例) -
Flutter 重构
这是一个 Flutter 项目,请重构 lib/screens/login_screen.dart: - 使用 Riverpod 替换 setState - 优化 UI 为响应式(适配手机/平板) - 提取公共 widget - 给出重构前后对比 -
文档生成
基于完整代码,生成一份专业 README.md,包括: - 项目概述 - 技术栈 - 目录结构说明 - 运行/部署步骤 - 核心模块介绍 - 常见问题 FAQ
总结
Repomix 是目前最简单高效的“全仓库喂 AI”工具,5 秒上手,极大提升代码质量、review、重构效率。
强烈建议:每个人用 npx repomix@latest 试试自己的项目,亲身感受全上下文带来的 AI 能力飞跃。
小贴士:
- 大项目优先:
--compress+--split-output - Claude / Gemini 用
--style xml+ compress 效果最佳 - 长期项目建议配置
repomix.config.json+repomix-instruction.md
有配置或 Prompt 心得欢迎继续分享~ 🚀
希望这个 Markdown 版本清晰易读、适合直接复制分享或放入笔记/博客!
如果需要调整标题层级、增加代码高亮语言标识或其他细节,随时告诉我~
更详细的使用方法
【金山文档 | WPS云文档】 Repomix技术分享笔记(www.kdocs.cn/l/cr2JomIPp…)