关于 adr-review
adr-review 是一项代码审查技能,用于检查变更是否符合已接受的架构决策记录(ADR)。它帮助团队在合并前或定期审查时发现架构违规、过时决策引用和合规问题。
主要功能
- 01查找与变更文件相关的 ADR
- 02依据已接受的决策检查变更
- 03识别已被取代的 ADR 引用
- 04生成合规审查报告
- 05提出代码或 ADR 后续处理建议
适用场景
- 01合并前检查拉取请求
- 02重大变更后审查架构
- 03定期执行架构合规检查
MCP 相关
该技能使用 Ruflo core MCP 工具搜索相关 ADR 记忆,并查询 ADR 关系图。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill adr-review安装后在 Claude Code 中输入/adr-review确认已加载。
详细介绍
ADR 审查
根据已接受的架构决策记录,审查代码变更,以检测违规、偏离和不合规情况。
适用场景
在合并 PR 之前、重大代码变更之后,或作为定期合规检查的一部分使用。确保代码变更遵循团队已达成共识的架构决策。
步骤
-
获取差异 -- 运行
git diff main...HEAD --name-only(或指定分支),列出变更文件。然后运行git diff main...HEAD获取完整差异内容。 -
查找相关 ADR -- 对每个变更文件:
- 对文件执行
Grep,查找 ADR 引用(ADR-\d+) - 对
docs/adr/执行Grep,查找提及变更文件路径或模块的 ADR - 调用
mcp__plugin_ruflo-core_ruflo__memory_search,并提供文件路径和变更摘要,以查找语义相关的 ADR
- 对文件执行
-
加载 ADR 内容 --
Read每个相关的 ADR 文件。重点关注:- Decision 部分(已作出的决策)
- Status(仅强制执行状态为“accepted”的 ADR)
- Consequences(预期约束)
-
检查违规 -- 根据相关 ADR 检查每个变更文件:
- 代码变更是否与已接受的决策相矛盾?
- 是否使用了 ADR 明确否决的技术或模式?
- 是否以 ADR 的后果部分警告过的方式修改了某个模块?
- 代码是否引用了已弃用或已被取代的 ADR?
-
查询关系图 -- 使用命名空间
adr-edges调用mcp__plugin_ruflo-core_ruflo__memory_list(行的键格式为<relation>:<from>__<to>,关系为supersedes、amends或depends-on),检查被引用的 ADR 是否已被取代。如果命名空间为空,请先运行adr-index。如果某个被引用的 ADR 已被取代,请标记代码引用了过时的决策。 -
报告 -- 将发现整理为合规报告:
## 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) -
提出建议 -- 针对每项违规,建议应更新代码,还是提出新的 ADR 来取代被违反的 ADR。
评论
支持 Markdown