SuperAPI AI 工具集

glab-mr

编程与开发

查看项目

更新于 10-15 16:46

技能介绍

用途:使用 glab CLI 对 GitLab Merge Request 进行端到端代码审查,目标是让审查者快速了解变更内容,并发现容易被忽略的问题,如交互缺陷、未覆盖的组合、静默回归和隐含的破坏性变更。

触发场景:用户说“review MR 92”“check MR !42”“look at merge request 15”“review my open MRs”“check my MR”,或提供 GitLab MR URL。

主要能力与流程:

  1. 识别 MR 编号并获取元数据。若未指定编号,可运行 glab mr list;确定后运行 glab mr show <MR_NUMBER>,关注标题、作者、流水线状态、审批状态、变更文件数。
  2. 切换分支前检查未提交变更:git status --short。若有未提交或未跟踪文件,提示用户先 stash 或提交,并询问是否继续。
  3. 检出分支:glab mr checkout <MR_NUMBER>。
  4. 查看差异:glab mr diff <MR_NUMBER>。先区分手写文件与生成文件,跳过 lockfile、编译产物、mock、protobuf、生成文档等。
  5. 用 view 工具完整阅读手写变更文件及相关联的接口、类型、测试、配置、模式等。
  6. 分层识别问题:功能正确性、边界情况、校验与契约、测试覆盖、破坏性变更、文档与版本号。

输出结构:## Summary(一段总结);## Changes Breakdown(逐文件说明,用 ✅/🟡/🔴 标记);## Issues / Concerns(每条含严重程度 emoji、问题描述、示例、建议修复)。只报告真正重要的问题,不评论风格格式。

限制与注意:glab 须已认证且远程可访问;检出后仓库处于 MR 分支,完成后提醒用户切回。大型 MR(50+ 文件)只重点完整阅读核心文件,可用原生命令排除生成文件:git diff origin/main...HEAD -- . ':(exclude).lock' ':(exclude).pb.go' ':(exclude)*_mock.go'。