mcpField
A
adr-review

adr-review

github.com/ruvnetTesting & quality80.0k745 installsUpdated today
Repository

About adr-review

adr-review is a code-review skill for checking changes against accepted Architecture Decision Records. It helps teams identify architectural violations, outdated decisions, and compliance concerns before merging or during periodic reviews.

Key features

  1. 01Find ADRs relevant to changed files
  2. 02Check changes against accepted decisions
  3. 03Detect superseded ADR references
  4. 04Produce compliance reports
  5. 05Suggest code or ADR follow-up

Use cases

  1. 01Check a pull request before merging
  2. 02Review architecture after significant changes
  3. 03Run periodic architectural compliance checks

MCP support

The skill uses the Ruflo core MCP tools to search memory for related ADRs and query the ADR relationship graph.

Install

Copy the command and run it in a terminal.

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

After installing, type/adr-reviewin Claude Code to confirm it loaded.

Details

From the project README

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__plugin_ruflo-core_ruflo__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__plugin_ruflo-core_ruflo__memory_list with namespace adr-edges (rows are keyed <relation>:<from>__<to> with relation supersedes, amends or depends-on) to check if any referenced ADR has been superseded. If the namespace is empty, run adr-index first. If a referenced ADR is superseded, 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.

Comments

Markdown supported