Repomix技能Skill repomix

Repomix技能是一个用于将整个代码仓库打包成单个AI友好文件的工具,支持多种输出格式如XML、Markdown、JSON和纯文本,适用于AI分析、LLM上下文生成、代码库快照、安全审计和文档生成。关键词:AI工具、代码打包、仓库分析、安全扫描、LLM集成、开发工具、仓库管理、自动化工具。

AI应用 0 次安装 0 次浏览 更新于 3/18/2026

name: repomix description: 使用Repomix的指南 - 一个强大工具,可将整个仓库打包成单个AI友好文件。适用于为AI分析打包代码库、为LLM生成上下文、创建代码库快照、分析第三方库或准备仓库进行安全审计。

Repomix 技能

Repomix 是一个强大工具,可将整个仓库打包成单个AI友好文件。完美适用于需要将代码库输入大型语言模型(LLM)或其他AI工具(如Claude、ChatGPT和Gemini)的场景。

何时使用此技能

在以下情况下使用此技能:

  • 用户需要为AI分析打包代码库
  • 为LLM消费准备仓库上下文
  • 生成代码库快照用于文档
  • 分析第三方库或仓库
  • 创建代码项目的AI友好表示
  • 调查大型代码库中的错误
  • 对仓库进行安全审计
  • 为实施计划生成上下文

核心能力

1. 仓库打包

Repomix 将整个仓库打包成单个文件,具有:

  • AI优化的格式化,带清晰分隔符
  • 多种输出格式(XML、Markdown、JSON、纯文本)
  • Git感知处理(尊重.gitignore)
  • 用于LLM上下文管理的令牌计数
  • 敏感信息安全检查

2. 远程仓库支持

无需克隆即可处理远程仓库:

  • 简写:npx repomix --remote yamadashy/repomix
  • 完整URL:npx repomix --remote https://github.com/owner/repo
  • 特定提交:npx repomix --remote https://github.com/owner/repo/commit/hash

3. 注释移除

在需要时从支持的语言中剥离注释:

  • 支持: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 (macOS/Linux)
brew install repomix

基本用法

打包当前目录

# 基本打包(生成 repomix-output.xml)
repomix

# 指定输出格式
repomix --style markdown
repomix --style json
repomix --style plain

# 自定义输出路径
repomix -o custom-output.xml

打包特定目录

repomix /path/to/directory

打包远程仓库

# 简写格式
npx repomix --remote owner/repo

# 完整URL
npx repomix --remote https://github.com/owner/repo

# 特定提交
npx repomix --remote https://github.com/owner/repo/commit/abc123

命令行选项

文件选择

# 包含特定模式
repomix --include "src/**/*.ts,*.md"

# 忽略额外模式
repomix -i "tests/**,*.test.js"

# 禁用.gitignore规则
repomix --no-gitignore

# 禁用默认忽略模式
repomix --no-default-patterns

输出配置

# 输出格式
repomix --style markdown  # 或 xml、json、plain

# 输出文件路径
repomix -o output.md

# 移除注释
repomix --remove-comments

# 显示行号
repomix --no-line-numbers  # 禁用行号

安全与分析

# 运行安全检查
repomix --no-security-check  # 禁用安全扫描

# 复制到剪贴板
repomix --copy  # 将输出复制到剪贴板

# 详细输出
repomix --verbose

配置

# 使用自定义配置文件
repomix -c custom-config.json

# 初始化新配置
repomix --init  # 创建 repomix.config.json

配置文件

在项目根目录创建 repomix.config.json

{
  "output": {
    "filePath": "repomix-output.xml",
    "style": "xml",
    "removeComments": false,
    "showLineNumbers": true,
    "copyToClipboard": false
  },
  "include": ["**/*"],
  "ignore": {
    "useGitignore": true,
    "useDefaultPatterns": true,
    "customPatterns": [
      "additional-folder",
      "**/*.log",
      "**/tmp/**"
    ]
  },
  "security": {
    "enableSecurityCheck": true
  }
}

忽略模式

.repomixignore 文件

创建 .repomixignore 用于Repomix特定忽略模式(格式同.gitignore):

# 构建产物
dist/
build/
*.min.js

# 测试文件
**/*.test.ts
**/*.spec.ts
coverage/

# 大文件
*.mp4
*.zip

# 敏感文件
.env*
secrets/

优先级顺序

  1. CLI忽略模式(-i 标志)
  2. .repomixignore 文件
  3. 配置文件中的自定义模式
  4. .gitignore 文件(如果启用)
  5. 默认模式(如果启用)

输出格式

XML 格式(默认)

最适合结构化AI消费:

repomix --style xml

Markdown 格式

人类可读,带语法高亮:

repomix --style markdown

JSON 格式

用于程序化处理:

repomix --style json

纯文本

简单拼接:

repomix --style plain

使用案例与示例

1. 代码审查准备

# 为AI审查打包功能分支
repomix --include "src/**/*.ts" --remove-comments -o feature-review.md --style markdown

2. 安全审计

# 打包第三方库进行分析
npx repomix --remote vendor/library --style xml -o audit.xml

3. 文档生成

# 打包文档和代码
repomix --include "src/**,docs/**,*.md" --style markdown -o context.md

4. 错误调查

# 打包特定模块
repomix --include "src/auth/**,src/api/**" -o debug-context.xml

5. 实施计划

# 用于计划的完整代码库上下文
repomix --remove-comments --copy

令牌管理

Repomix 自动为以下计数令牌:

  • 单个文件
  • 总仓库
  • 每种格式输出

使用令牌计数管理LLM上下文限制:

  • Claude: ~200K 令牌
  • GPT-4: ~128K 令牌
  • GPT-3.5: ~16K 令牌

安全考虑

敏感数据检测

Repomix 使用 Secretlint 检测:

  • API密钥和令牌
  • 密码和凭据
  • 私钥
  • AWS秘密
  • 数据库连接字符串

如需禁用:

repomix --no-security-check

最佳实践

  1. 共享前始终审查输出
  2. 使用 .repomixignore 处理敏感文件
  3. 对未知代码库启用安全检查
  4. 避免打包 .env 文件
  5. 检查硬编码凭据

性能优化

大型仓库

Repomix 使用工作线程进行并行处理:

  • 高效处理大型代码库
  • 示例:facebook/react 处理速度提升29倍(123秒 → 4秒)

优化技巧

# 排除不必要文件
repomix -i "node_modules/**,dist/**,*.min.js"

# 仅处理特定目录
repomix --include "src/**/*.ts"

# 禁用行号以减小输出
repomix --no-line-numbers

工作流集成

与 Claude Code

# 打包并分析在一个工作流中
repomix --style markdown --copy
# 然后粘贴到Claude进行分析

与 CI/CD

# 为发布生成代码库快照
repomix --style markdown -o release-snapshot.md

与 Git Hooks

# 预提交钩子生成上下文
repomix --include "src/**" -o .context/latest.xml

常见模式

完整仓库打包

repomix --remove-comments --style markdown -o full-repo.md

仅源代码

repomix --include "src/**/*.{ts,tsx,js,jsx}" -i "**/*.test.*"

文档包

repomix --include "**/*.md,docs/**" --style markdown

TypeScript 项目

repomix --include "**/*.ts,**/*.tsx" --remove-comments --no-line-numbers

远程分析

npx repomix --remote owner/repo --style xml -o analysis.xml

故障排除

问题:输出太大

# 排除不必要文件
repomix -i "node_modules/**,dist/**,coverage/**"

# 处理特定目录
repomix --include "src/**"

问题:缺少文件

# 禁用.gitignore规则
repomix --no-gitignore

# 检查忽略模式
cat .repomixignore

问题:敏感数据警告

# 审查标记文件
# 添加到 .repomixignore
# 或禁用检查:--no-security-check

实施工作流

当用户请求仓库打包时:

  1. 评估需求

    • 识别目标仓库(本地/远程)
    • 确定所需输出格式
    • 检查敏感数据问题
  2. 配置过滤器

    • 设置相关文件的包含模式
    • 添加不必要文件的忽略模式
    • 启用/禁用注释移除
  3. 执行打包

    • 使用适当选项运行repomix
    • 监控令牌计数
    • 验证安全检查
  4. 验证输出

    • 审查生成的文件
    • 确认无敏感数据
    • 检查目标LLM的令牌限制
  5. 交付上下文

    • 向用户提供打包文件
    • 包含令牌计数摘要
    • 注意任何警告或问题

最佳实践

  1. 从默认开始:先运行基本 repomix,然后细化
  2. 使用 .repomixignore:对于复杂模式比CLI标志更好
  3. 启用安全检查:特别是第三方代码
  4. 选择正确格式:AI用XML,人类用Markdown
  5. 监控令牌计数:保持在LLM限制内
  6. 移除注释:当专注于逻辑而非文档时
  7. 版本化输出:包含在.gitignore中,按需重新生成
  8. 测试模式:验证包含/排除按预期工作

相关工具

  • Context7:用于最新库文档
  • Git:用于仓库历史分析
  • Secretlint:用于安全扫描
  • 令牌计数器:用于LLM上下文管理

附加资源