mcpField
A
adr-verify

adr-verify

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

关于 adr-verify

adr-verify 用于检查 ADR 导入后持久化图中的完整性问题,面向维护架构决策记录的开发团队。它可识别悬空引用、取代关系循环和状态不匹配,并可在严格模式下作为 CI 门禁。

主要功能

  1. 01检测悬空 ADR 引用
  2. 02检测取代关系循环
  3. 03检查 ADR 状态匹配
  4. 04支持 Markdown 或 JSON 输出
  5. 05严格模式返回失败状态

适用场景

  1. 01adr-index 后检查图完整性
  2. 02在 CI 中阻止有问题的记录
  3. 03发布 ADR 相关版本前验证
  4. 04区分需重建索引的删除记录

安装

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

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

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

详细介绍

ADR 验证

adr-index 的配套工具。导入后,读取已持久化的图,并显示完整性问题:

  • 悬空引用 — 边指向 adr-patterns 中不存在的 ADR ID。常见原因:所引用的 ADR 位于同级仓库,或已被删除。
  • 替代循环 — ADR-A supersedes ADR-B 且 ADR-B supersedes ADR-A(或存在更长的循环)。这始终意味着数据已损坏。
  • 状态不匹配 — 某个 ADR 是 supersedes 边的起点,但其自身状态不是 Superseded。通常是后继 ADR 晋升时遗漏了状态更新。

此技能无法检测的问题: 磁盘上已删除某个 ADR,但 adr-patterns 中仍有对应行,且没有任何边指向它或从它出发——上述所有检查都无法发现这一问题(issue #2666)。如果报告的 ADR 数量高于磁盘上实际数量,请运行 adr-reindex,不要再次运行 adr-verify。

适用场景

  • 运行 adr-index 后立即使用,以确认图状态正常
  • 在 CI 中用作失败即关闭的门禁(VERIFY_STRICT=1 遇到任何问题时都会以状态码 1 退出)
  • 发布与 ADR 相关的版本前

步骤

node plugins/ruflo-adr/scripts/verify.mjs

可选环境变量:

  • VERIFY_FORMAT=json — 输出 JSON,而不是 Markdown
  • VERIFY_STRICT=1 — 遇到任何问题时都以状态码 1 退出(默认:仅遇到循环时退出)

退出码

代码含义
0图状态正常(或在非严格模式下存在悬空引用/状态不匹配)
1检测到替代循环,或严格模式下存在任何问题

交叉引用

  • adr-index — 填充此技能要验证的数据
  • scripts/import.mjs — 有自己的试运行验证;此技能是配套的回读工具
  • adr-reindex — 修复 adr-verify 无法检测到的已删除 ADR

评论

支持 Markdown