mcpField
A
adr-review

adr-review

github.com/ruvnet测试与质量80.0k745 次安装今天更新
代码仓库

关于 adr-review

adr-review 是一项代码审查技能,用于检查变更是否符合已接受的架构决策记录(ADR)。它帮助团队在合并前或定期审查时发现架构违规、过时决策引用和合规问题。

主要功能

  1. 01查找与变更文件相关的 ADR
  2. 02依据已接受的决策检查变更
  3. 03识别已被取代的 ADR 引用
  4. 04生成合规审查报告
  5. 05提出代码或 ADR 后续处理建议

适用场景

  1. 01合并前检查拉取请求
  2. 02重大变更后审查架构
  3. 03定期执行架构合规检查

MCP 相关

该技能使用 Ruflo core MCP 工具搜索相关 ADR 记忆,并查询 ADR 关系图。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill adr-review

安装后在 Claude Code 中输入/adr-review确认已加载。

详细介绍

ADR 审查

根据已接受的架构决策记录,审查代码变更,以检测违规、偏离和不合规情况。

适用场景

在合并 PR 之前、重大代码变更之后,或作为定期合规检查的一部分使用。确保代码变更遵循团队已达成共识的架构决策。

步骤

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

  2. 查找相关 ADR -- 对每个变更文件:

    • 对文件执行 Grep,查找 ADR 引用(ADR-\d+)
    • 对 docs/adr/ 执行 Grep,查找提及变更文件路径或模块的 ADR
    • 调用 mcp__plugin_ruflo-core_ruflo__memory_search,并提供文件路径和变更摘要,以查找语义相关的 ADR
  3. 加载 ADR 内容 -- Read 每个相关的 ADR 文件。重点关注:

    • Decision 部分(已作出的决策)
    • Status(仅强制执行状态为“accepted”的 ADR)
    • Consequences(预期约束)
  4. 检查违规 -- 根据相关 ADR 检查每个变更文件:

    • 代码变更是否与已接受的决策相矛盾?
    • 是否使用了 ADR 明确否决的技术或模式?
    • 是否以 ADR 的后果部分警告过的方式修改了某个模块?
    • 代码是否引用了已弃用或已被取代的 ADR?
  5. 查询关系图 -- 使用命名空间 adr-edges 调用 mcp__plugin_ruflo-core_ruflo__memory_list(行的键格式为 <relation>:<from>__<to>,关系为 supersedes、amends 或 depends-on),检查被引用的 ADR 是否已被取代。如果命名空间为空,请先运行 adr-index。如果某个被引用的 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。

评论

支持 Markdown