技能 编程开发 架构决策合规性审查

架构决策合规性审查

v20260707
adr-review
本工具用于审查代码变更是否符合已接受的架构决策记录(ADRs)。它通过对比代码差异与ADR定义的约束、决策和后果,能检测出潜在的合规性违规、架构漂移或不一致性,确保代码在演进过程中始终保持架构的严谨性和一致性。
获取技能
488 次下载
概览

ADR Review

Review code changes against accepted Architecture Decision Records to detect violations, drift, and non-compliance.

When to use

Before merging a PR, after significant code changes, or as part of a periodic compliance check. Use this to ensure code changes respect the architectural decisions the team has agreed upon.

Steps

  1. Get diff -- Run git diff main...HEAD --name-only (or the specified branch) to list changed files. Then run git diff main...HEAD to get the full diff content.

  2. Find relevant ADRs -- For each changed file:

    • Grep the file for ADR references (ADR-\d+)
    • Grep docs/adr/ for ADRs that mention the changed file paths or modules
    • Call mcp__claude-flow__memory_search with the file path and change summary to find semantically related ADRs
  3. Load ADR content -- Read each relevant ADR file. Focus on:

    • The Decision section (what was decided)
    • The Status (only enforce "accepted" ADRs)
    • The Consequences (expected constraints)
  4. Check for violations -- Analyze each changed file against its relevant ADRs:

    • Does the code change contradict an accepted decision?
    • Does it use a technology/pattern that an ADR explicitly rejected?
    • Does it modify a module in a way the ADR's consequences warned against?
    • Is the code referencing a deprecated or superseded ADR?
  5. Query relationship graph -- Call mcp__claude-flow__agentdb_causal-query to check if any referenced ADRs have been superseded. If so, flag that the code references an outdated decision.

  6. Report -- Present findings as a compliance report:

    ## 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. Suggest actions -- For each violation, suggest whether to update the code or propose a new ADR to supersede the violated one.

信息
Category 编程开发
Name adr-review
版本 v20260707
大小 2.36KB
更新时间 2026-07-09
语言