SuperAPI AI 工具集

adr-review

编程与开发

查看项目

更新于 10-15 14:55

技能介绍

用途

ADR Review 用于对照已接受的架构决策记录(Architecture Decision Records,ADR)审查代码变更,以检测违规、架构偏移和不一致情况。它帮助团队确保代码变更遵守既定的架构决策。

适用时机

  • 合并 PR 之前
  • 进行重大代码更改之后
  • 作为定期合规检查的一部分

主要能力

该工具能够识别代码变更是否与已接受的架构决策相矛盾,是否使用了 ADR 明确拒绝的技术或模式,是否以 ADR 后果所警告的方式修改模块,以及代码是否引用了已弃用或已被取代的 ADR。

使用方式

工作流程分为以下步骤:

1. 获取差异 运行 git diff main...HEAD --name-only(或指定分支)列出已更改的文件。然后运行 git diff main...HEAD 获取完整的差异内容。

2. 查找相关 ADR 对每个已更改的文件:

  • 在文件中搜索 ADR 引用(ADR-\d+)
  • 在 docs/adr/ 中搜索提及已更改文件路径或模块的 ADR
  • 调用 mcp__plugin_ruflo-core_ruflo__memory_search,传入文件路径和变更摘要,以查找语义相关的 ADR

3. 加载 ADR 内容 读取每个相关 ADR 文件,重点关注:

  • Decision 部分(决定了什么)
  • Status(仅执行 "accepted" 状态的 ADR)
  • Consequences(预期约束)

4. 检查违规 针对每个已更改文件,结合其相关 ADR 进行分析:

  • 代码变更是否与已接受的决策相矛盾?
  • 是否使用了某个 ADR 明确拒绝的技术/模式?
  • 是否以 ADR 后果所警告的方式修改了某个模块?
  • 代码是否引用了已弃用或已被取代的 ADR?

5. 查询关系图 调用 mcp__plugin_ruflo-core_ruflo__agentdb_causal-query 检查所引用的 ADR 是否已被取代。如果是,则标记该代码引用了过时的决策。

6. 报告 以合规报告的形式呈现发现结果,格式如下:

## ADR Compliance Report

### Violations
- [ ] <file>:<line> — violates ADR-NNN: <reason>

### Warnings
- [!] <file> references superseded ADR-NNN (replaced by ADR-MMM)

### Compliant
- [x] <file> — consistent with ADR-NNN

### Unlinked Changes
- [?] <file> — no ADR coverage (consider creating one)

7. 建议操作 针对每项违规,建议是更新代码,还是提出新的 ADR 来取代被违反的 ADR。

限制

资料中未提供关于该工具具体实现平台、安装方式、收费模式或性能表现的说明。