Repomix 是一款将整个代码仓库打包成单个 AI 友好文件的工具,适用于需要把代码库提供给大语言模型(LLM)或其他 AI 工具(如 Claude、ChatGPT、Gemini)的场景。
用途与适用场景:当用户需要为 AI 分析打包代码库、准备供 LLM 使用的仓库上下文、生成用于文档的代码库快照、分析第三方库或仓库、创建 AI 友好的代码项目表示、在大型代码库中排查缺陷、对仓库执行安全审计,或为实施规划生成上下文时,均可使用本 Skill。
核心能力:
- 仓库打包:将整个仓库打包成单个文件,具有带清晰分隔符的 AI 优化格式、多种输出格式(XML、Markdown、JSON、纯文本)、Git 感知处理(遵循 .gitignore)、用于 LLM 上下文管理的 Token 计数,以及针对敏感信息的安全检查。
- 远程仓库支持:无需克隆即可处理远程仓库,支持简写(npx repomix --remote yamadashy/repomix)、完整 URL(npx repomix --remote https://github.com/owner/repo)以及特定提交(npx repomix --remote https://github.com/owner/repo/commit/hash)。
- 注释移除:在需要时移除受支持语言的注释,支持 HTML、CSS、JavaScript、TypeScript、Vue、Svelte、Python、PHP、Ruby、C、C#、Java、Go、Rust、Swift、Kotlin、Dart、Shell、YAML,可通过 --remove-comments 或配置文件启用。
安装:先检查是否已安装(repomix --version),可通过 npm(npm install -g repomix)、yarn(yarn global add repomix)、bun(bun add -g repomix)或 Homebrew(brew install repomix)安装。
基本使用:在当前目录执行 repomix 生成 repomix-output.xml;可用 --style markdown / json / plain 指定输出格式,用 -o custom-output.xml 指定输出路径;可打包指定目录(repomix /path/to/directory);可用 npx repomix --remote owner/repo 等命令打包远程仓库。
命令行选项:文件选择方面支持 --include 包含特定模式、-i 忽略额外模式、--no-gitignore 禁用 .gitignore 规则、--no-default-patterns 禁用默认忽略模式;输出配置方面支持 --style、-o、--remove-comments、--no-line-numbers;安全与分析方面支持 --no-security-check 禁用安全扫描、--copy 复制输出到剪贴板、--verbose 输出详细信息。
配置:可用 -c custom-config.json 使用自定义配置文件,或用 --init 创建 repomix.config.json。该文件可配置 output(filePath、style、removeComments、showLineNumbers、copyToClipboard)、include、ignore(useGitignore、useDefaultPatterns、customPatterns)以及 security(enableSecurityCheck)。
忽略规则:可创建 .repomixignore 文件(格式同 .gitignore),用于 Repomix 专用忽略模式。优先级顺序为:CLI 忽略模式(-i)> .repomixignore 文件 > 配置文件中的自定义模式 > .gitignore 文件(如启用)> 默认模式(如启用)。
输出格式:XML(默认,最适合结构化 AI 消费)、Markdown(人类可读,带语法高亮)、JSON(用于程序化处理)、纯文本(简单拼接)。
Token 管理:Repomix 会自动统计单个文件、整个仓库以及每种格式输出的 Token 数量,用于管理 LLM 上下文限制(如 Claude 约 200K、GPT-4 约 128K、GPT-3.5 约 16K)。
安全注意事项:Repomix 使用 Secretlint 检测 API 密钥与令牌、密码与凭据、私钥、AWS 密钥、数据库连接字符串等,必要时可用 --no-security-check 禁用。最佳实践包括:分享前始终审查输出、用 .repomixignore 排除敏感文件、对未知代码库启用安全检查、避免打包 .env 文件、检查硬编码凭据。
性能:Repomix 使用工作线程并行处理,可高效处理大型代码库(资料举例:facebook/react 处理速度提升 29 倍,从 123s 降至 4s)。
工作流集成:可与 Claude Code(打包后粘贴分析)、CI/CD(生成发布快照)、Git 钩子(提交前生成上下文)配合使用。
相关资源:GitHub 为 https://github.com/yamadashy/repomix ,文档为 https://repomix.com/guide/ ,另有可用于 AI 助手集成的 MCP Server 及官方 Claude Code 插件。