AI代码打包工具Skill repomix

Repomix技能是一个AI代码打包工具,用于将整个代码库转换为单个AI友好文件,优化给大型语言模型(LLM)使用。它支持自定义包含/排除模式、多种输出格式(如XML、Markdown)、令牌计数管理、安全检查和文件过滤,适用于AI分析、安全审计、文档生成、代码评估和LLM上下文准备。关键词:代码打包、AI分析、LLM、安全审计、文档生成、令牌计数、代码库快照、RAG应用。

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

名称: repomix 描述: 使用Repomix将整个代码库打包成单个AI友好文件。功能包括:使用可自定义的包含/排除模式打包代码库,生成多种输出格式(XML、Markdown、纯文本),保留文件结构和上下文,通过令牌计数优化AI消费,按文件类型和目录过滤,添加自定义标题和摘要。适用于为AI分析打包代码库、为LLM上下文创建仓库快照、分析第三方库、准备安全审计、生成文档上下文或评估不熟悉的代码库。

Repomix 技能

Repomix将整个仓库打包成单个、AI友好的文件。非常适合将代码库喂给LLM,如Claude、ChatGPT和Gemini。

何时使用

使用时机:

  • 为AI分析打包代码库
  • 为LLM上下文创建仓库快照
  • 分析第三方库
  • 准备安全审计
  • 生成文档上下文
  • 调查大型代码库中的错误
  • 创建AI友好的代码表示

快速开始

检查安装

repomix --version

安装

# npm
npm install -g repomix

# Homebrew (macOS/Linux)
brew install repomix

基本用法

# 打包当前目录(生成repomix-output.xml)
repomix

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

# 打包远程仓库
npx repomix --remote owner/repo

# 自定义输出与过滤器
repomix --include "src/**/*.ts" --remove-comments -o output.md

核心能力

仓库打包

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

远程仓库支持

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

# 简写
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):

repomix --remove-comments

常见用例

代码审查准备

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

安全审计

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

文档生成

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

错误调查

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

实施计划

# 完整代码库上下文
repomix --remove-comments --copy

命令行参考

文件选择

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

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

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

输出选项

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

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

# 移除注释
repomix --remove-comments

# 复制到剪贴板
repomix --copy

配置

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

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

令牌管理

Repomix自动为单个文件、总仓库和每格式输出计数令牌。

典型LLM上下文限制:

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

令牌计数优化

理解代码库的令牌分布对于优化AI交互至关重要。使用–token-count-tree选项可视化项目中令牌使用:

repomix --token-count-tree

这显示带有令牌计数的代码库层次视图:

🔢 令牌计数树:
────────────────────
└── src/ (70,925 令牌)
    ├── cli/ (12,714 令牌)
    │   ├── actions/ (7,546 令牌)
    │   └── reporters/ (990 令牌)
    └── core/ (41,600 令牌)
        ├── file/ (10,098 令牌)
        └── output/ (5,808 令牌)

您还可以设置最小令牌阈值以关注较大文件:

repomix --token-count-tree 1000  # 仅显示1000+令牌的文件/目录

这帮助您:

  • 识别可能超过AI上下文限制的令牌密集文件
  • 使用–include和–ignore模式优化文件选择
  • 通过针对最大贡献者规划压缩策略
  • 在准备代码进行AI分析时平衡内容与上下文

安全考虑

Repomix使用Secretlint检测敏感数据(API密钥、密码、凭证、私钥、AWS秘密)。

最佳实践:

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

如果需要,禁用安全检查:

repomix --no-security-check

实施工作流

当用户请求仓库打包时:

  1. 评估需求

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

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

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

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

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

参考文档

详细信息,参见:

  • 配置参考 - 配置文件、包含/排除模式、输出格式、高级选项
  • 使用模式 - AI分析工作流、安全审计准备、文档生成、库评估

额外资源