SuperAPI AI 工具集

mcp-repomix

编程与开发

查看项目

更新于 10-15 07:54

技能介绍

用途

mcp-repomix 是一个 MCP 技能,通过配置在 .vscode/mcp.json 中名为 repomix 的 MCP 服务器,将整个代码库打包成整合文件,以便进行 AI 分析、搜索文件内容并理解项目结构。它主要用于在大型重构或架构变更前收集完整的代码库上下文。

主要能力

该技能提供以下工具:

  • pack_codebase:将本地目录打包成整合文件
  • pack_remote_repository:克隆并打包 GitHub 仓库
  • attach_packed_output:加载已有的打包输出以供分析
  • read_repomix_output:读取打包输出中的指定行
  • grep_repomix_output:在打包输出中搜索模式
  • generate_skill:从代码库创建 Claude Agent Skill

输出格式支持:

  • XML:使用 <file> 标签的结构化格式,适合精确解析
  • Markdown:带代码块的人类可读格式,适合审阅
  • JSON:机器可读的键值对
  • Plain:带分隔符的简单文本

使用方式

前置条件:确保 .vscode/mcp.json 包含名为 repomix 的服务器条目。

操作规则:

  • 使用 pack_codebase 创建整合的仓库快照以供分析
  • 使用 grep_repomix_output 在打包输出中搜索
  • 使用 attach_packed_output 加载已有的 Repomix 输出文件
  • 在重大重构前优先使用 Repomix 收集完整代码库上下文
  • 使用 XML 或 Markdown 输出样式以获得更好的 LLM 理解效果

示例工作流:

工作流 1:跨能力分析

  1. pack_codebase(directory: "src/app/capabilities", compress: true)
  2. grep_repomix_output(pattern: "import.from.@app/", contextLines: 3)
  3. 识别违反“无深层导入”规则的情况
  4. 使用 sequential-thinking 规划重构

工作流 2:事件流分析

  1. pack_codebase(directory: "src/app", includePatterns: "**/*.ts")
  2. grep_repomix_output(pattern: "publishEvent|EventBus", contextLines: 5)
  3. 映射所有事件生产者和消费者
  4. 验证 append-before-publish 契约

工作流 3:依赖分析

  1. pack_codebase(directory: "src/app", style: "json")
  2. grep_repomix_output(pattern: "from ['"]@angular/fire", contextLines: 2)
  3. 确保所有 Firebase 导入仅位于集成层
  4. 记录违规情况以供修复

适用场景

  • 重大架构变更前:获取完整代码库快照
  • 横切重构:影响多个能力/层的变更
  • 理解遗留代码:分析整个模块结构
  • 文档生成:提取所有文件以生成全面文档
  • 代码审查准备:打包变更并附带完整上下文
  • 迁移规划:在迁移前理解所有依赖
  • 模式分析:在整个代码库中搜索特定模式

限制与注意事项

  • 大型仓库:使用 compress: true 可将 token 使用量减少约 70%
  • 增量分析:使用 grep_repomix_output 而非重新打包
  • 文件限制:使用 includePatterns 和 ignorePatterns 限定打包范围
  • 上下文管理:附加打包输出一次,可复用于多个查询
  • 需遵循 Occam's Razor:仅在确实需要完整上下文时使用 Repomix
  • 有助于识别重构的最小变更半径
  • 对验证 DDD 层依赖至关重要
  • 可生成全面的项目结构文档

与 Black-Tortoise 工作流的集成

  • 结合 mcp-sequential-thinking 制定复杂重构计划
  • 在运行 architecture:gate 前使用,以进行全面的边界分析
  • 对理解 DDD 层依赖至关重要
  • 有助于在整个代码库中验证“无深层导入”规则

提示模板

  • “打包代码库并分析所有 DDD 边界违规”
  • “使用 Repomix 在整个仓库中查找 [pattern] 的所有用法”
  • “打包 src/app/capabilities 并识别跨能力依赖”
  • “在开始 [major refactor] 前创建完整代码库快照”
  • “在打包的仓库中搜索所有事件发出点”

最佳实践

  • 合理限定范围:仅打包相关目录以减少 token
  • 使用压缩:对大型代码库启用 Tree-sitter 压缩
  • 结合 grep:使用 grep_repomix_output 进行定向搜索
  • 顺序工作流:打包 → 分析 → 规划 → 实施
  • 版本控制:保存打包输出以进行前后对比