crt

专为 AI 编程时代设计的本地代码审查工具

AI编程开发 部分免费

技能简介

crt 是一款专为「人类审查 AI 编写代码」场景设计的本地代码审查工具。在 AI 编程工具(如 Cursor、Windsurf、Claude Code)大量生成代码的背景下,代码审查的瓶颈问题日益突出:代码生成速度远超人工审查速度,传统的 GitHub PR 流程繁琐且难以适应 AI 频繁迭代的工作方式。crt 通过本地 TUI 界面和 MCP 协议,让人类开发者与 AI 编程工具形成高效的反馈闭环,显著降低代码审查的时间成本。


核心能力

  1. 内容锚定评论系统:评论直接绑定到代码内容而非行号,文件经过 rebase 后评论自动跟随代码迁移,无需手动重新定位。

  2. 基于哈希的增量审查:文件被批准后记录 diff 哈希,文件内容无变化则保持已批准状态;文件变化后自动重新标记为待审,避免重复审查已确认无误的代码。

  3. MCP 协议集成:通过 MCP 暴露 list_review_sessions、list_review_comments、get_file_diff 等工具,AI 编程工具可直接读取人类开发者的审查意见并自动修复。

  4. TUI 双栏操作界面:左侧显示变更文件列表,右侧显示 diff 内容,支持 vim 风格快捷键导航(] / [ 跳转块,Ctrl+n/p 切换文件,a 批准文件,c 附加评论)。

  5. 实时推送更新:当 AI 代理修复了某个评论指出的问题后,TUI 界面实时刷新,变更的 diff 重新出现,无需手动刷新。

  6. 无原子性提交要求:AI 代理可以自由提交(不强制 atomic commits),crt 仍能正确追踪每个文件的变化历史和审查状态。


工作原理

crt 的核心设计理念是将「代码位置」与「审查状态」分离。传统的代码审查工具依赖行号或 commit hash 来定位代码位置,但 AI 代理经常性地进行 rebase、amend 或 squash 操作,这些操作会改变行号和 commit 历史,导致传统的定位方式失效。

crt 采用内容哈希的方式来追踪代码位置:每个评论存储目标代码的精确内容及其周围上下文。当文件发生变化时,crt 会在新版本中搜索这些内容——如果精确匹配,评论保持在原位;如果找到近似位置,评论会移动并标记为「近似」;如果完全找不到,评论会保留并标记为「孤立」,附上最后已知上下文供开发者参考。

批准机制同样基于 diff 哈希:文件被批准时记录当前 diff 的哈希值,后续每次文件变化都重新计算哈希,只有哈希值发生变化的 diff 才会被重新标记为待审查。


安装配置

前置要求:

  • Go 1.21+(用于从源码编译)
  • Git
  • MCP 兼容的 AI 编程工具(如 Claude Code、Cursor、Windsurf)

安装步骤:

# 方式一:源码安装
git clone https://github.com/imron/crt.git
cd crt
go build .
./crt --help

# 方式二:直接下载对应平台的预编译二进制(如果发布)
# 访问 GitHub Releases 页面获取

配置 Claude Code MCP:

在 Claude Code 的配置文件 ~/.claude/settings.json 中添加 MCP 服务器配置:

{
  "mcpServers": {
    "crt": {
      "command": "path/to/crt",
      "args": ["mcp"]
    }
  }
}

初始化审查会话:

# 指定要审查的代码基础 commit
crt 

# 例如:审查自上一个 tag 以来的所有变更
crt $(git describe --tags --abbrev=0)

使用步骤

第一步:让 AI 代理生成代码

使用 AI 编程工具(Claude Code、Cursor 等)编写或修改代码,建议使用原子提交(atomic commits)以便追踪。

第二步:启动 crt 审查

crt HEAD~10

TUI 启动,左侧列出所有变更文件,右侧显示当前文件的 diff。

第三步:审查并标注问题

  • 按 ] 或 [ 在 hunk 之间跳转
  • 按 c 或空格键在具体代码行添加评论
  • 按 V 选择代码范围后添加评论
  • 按 a 批准已满意的文件,文件从待审列表中移除

第四步:AI 代理通过 MCP 获取评论并修复

AI 代理通过 MCP 协议读取所有评论,修复问题后提交更改。crt 自动检测变化,未完全修复的文件重新出现在待审列表中。

第五步:迭代审查直至完成

重复第三步和第四步,直到所有文件均已批准,审查会话结束。


适用场景

  1. AI 编程辅助流程:在 Claude Code、Cursor、Windsurf 等 AI 编程工具的工作流中,作为人工审查环节的核心工具,确保 AI 生成的代码经过充分人工审核后再进入生产环境。

  2. 持续集成质量门禁:在 CI 流程中集成 crt,要求所有 AI 生成的代码必须经过人工审查批准后才能合并,防止未经审核的代码进入主干。

  3. 团队代码规范审查:在多人协作项目中,团队成员可通过 crt 对 AI 生成的代码进行分布式审查,无需每个人都在浏览器中打开 GitHub PR。

  4. 遗留代码重构审核:对 AI 代理重写的遗留代码进行全面审查,通过内容锚定机制确保审查意见在频繁的 rebase 过程中不会丢失。


适用人群

  • AI 编程工具重度用户:日常使用 Claude Code、Cursor、Windsurf 等工具进行开发的工程师
  • 技术负责人/代码审核者:需要对 AI 生成代码承担质量责任的团队成员
  • AI 工程化团队:正在建立 AI 编程工具工程化流程的团队
  • 关注代码质量的开源维护者:使用 AI 辅助开发但仍希望保持代码质量标准的项目维护者

官方链接


本技能通过 MCP 协议与 Claude Code 等 AI 编程工具深度集成,是 AI 编程时代代码审查工作流的重要组成部分。

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论