ADRScope
A lightweight visualization tool for Architecture Decision Records (ADRs).
ADRScope generates self-contained HTML viewers for ADRs following the structured-MADR format. It supports faceted search, relationship graphs, and GitHub Wiki generation.

GitHub Action
Use ADRScope in your CI/CD pipelines to validate ADRs and generate documentation automatically.
- name: Validate ADRs
uses: zircote/adrscope@v0
with:
command: validate
input-dir: docs/decisions
strict: true
Action Features
- All commands available:
validate,generate,stats,wiki - Inline annotations: Validation errors appear directly in PR diffs
- Cross-platform: Linux, macOS, Windows (x86_64, ARM64)
- Fast startup: Pre-built binaries (~2-5 seconds)
Example Workflow
name: ADR CI
on:
pull_request:
paths:
jobs:
adr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate ADRs
uses: zircote/adrscope@v0
with:
command: validate
strict: true
- name: Generate Viewer
uses: zircote/adrscope@v0
with:
command: generate
output: adr-viewer.html
- uses: actions/upload-artifact@v4
with:
name: adr-viewer
path: adr-viewer.html
Publishing to GitHub Wiki
ADRScope can generate wiki pages and automatically publish them to your repository's GitHub Wiki.
Generated Wiki Pages:
ADR-Index.md- Main index with table of all ADRsADR-By-Status.md- ADRs grouped by status (proposed, accepted, deprecated, superseded)ADR-By-Category.md- ADRs grouped by categoryADR-Timeline.md- Chronological timeline viewADR-Statistics.md- Summary statistics and breakdowns
Complete Wiki Deployment Workflow:
name: Deploy ADRs to Wiki
on:
push:
branches:
paths:
- 'docs/decisions/**'
jobs:
deploy-wiki:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Generate Wiki Pages
uses: zircote/adrscope@v0
with:
command: wiki
input-dir: docs/decisions
output: wiki/
- name: Deploy to Wiki
uses: Andrew-Chen-Wang/github-wiki-action@v4
with:
path: wiki/
With Validation:
Validate ADRs before deploying to wiki:
name: Deploy ADRs to Wiki
on:
push:
branches:
paths:
- 'docs/decisions/**'
jobs:
deploy-wiki:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Validate ADRs
uses: zircote/adrscope@v0
with:
command: validate
strict: true
- name: Generate Wiki Pages
uses: zircote/adrscope@v0
with:
command: wiki
output: wiki/
- name: Deploy to Wiki
uses: Andrew-Chen-Wang/github-wiki-action@v4
with:
path: wiki/
Wiki Command Options:
| Option | Description | Default |
|---|---|---|
input-dir |
Directory containing ADR files | docs/decisions |
output |
Output directory for wiki files | wiki/ |
pattern |
Glob pattern for ADR files | **/*.md |
Screenshots
Main Viewer

ADR Details with Relationship Graph
| ADR Content View | Category Breakdown |
|---|---|
![]() |
![]() |
Faceted Search & Filtering
| Filter Panel | Filtered Results |
|---|---|
![]() |
![]() |
Features
- Self-contained HTML viewer - Single file with embedded CSS/JS, no dependencies
- Faceted search - Filter by status, category, tags, author, project, and technologies
- Relationship graphs - Interactive visualization of ADR relationships
- Multiple themes - Light, dark, and system-preference modes
- GitHub Wiki generation - Generate wiki pages with index, status, category, and timeline views
- Validation - Check ADRs for required and recommended fields
- Statistics - Analyze your ADR collection with detailed breakdowns
- Lenient parsing - Gracefully handles non-standard status values with warnings
Installation
GitHub Action (Recommended for CI/CD)
- uses: zircote/adrscope@v0
with:
command: validate
See ACTION.md for full documentation.
Homebrew (macOS/Linux)
From crates.io
From source
Quick Start
# Generate an HTML viewer from ADRs in docs/decisions
# Validate ADRs (useful for CI/CD)
# Show statistics
# Generate GitHub Wiki pages
Documentation
- GitHub Action Documentation
- Getting Started Guide
- User Guide
- Configuration Reference
- Library API Guide - Using ADRScope as a Rust library
- Troubleshooting - Common issues and solutions
- Contributing Guide - Development workflow and conventions
- Architecture Decision Records
Commands
| Command | Description |
|---|---|
generate |
Generate self-contained HTML viewer |
validate |
Validate ADRs against rules |
stats |
Show ADR statistics |
wiki |
Generate GitHub Wiki pages |
Generate Options
Validate Options
)
ADR Format
ADRScope expects ADRs in the zircote/structured-madr format:
title: Use PostgreSQL for Data Storage
description: Decision to use PostgreSQL as our primary database
status: accepted
category: architecture
tags:
- - - -
[Describe the context and problem...]
[Describe the decision...]
[Describe the consequences...]
Supported Status Values
| Status | Description |
|---|---|
proposed |
Under discussion (default) |
accepted |
Approved and in effect |
deprecated |
Should not be used for new work |
superseded |
Replaced by another ADR |
Unknown status values are handled gracefully with a warning.
Library Usage
use ;
use RealFileSystem;
let fs = new;
let use_case = new;
let options = new
.with_output;
let result = use_case.execute?;
println!;
Development
Prerequisites
- Rust 1.85+ (2024 edition)
- cargo-deny for supply chain security
Build Commands
Code Quality
- Linting: clippy with pedantic and nursery lints
- Safety:
#![forbid(unsafe_code)] - Testing: 170+ tests with 95%+ coverage
- Supply Chain: cargo-deny for dependency auditing
MSRV Policy
The Minimum Supported Rust Version (MSRV) is 1.85. Increasing the MSRV is considered a minor breaking change.
Contributing
Contributions are welcome! See CONTRIBUTING.md for:
- Development setup and workflow
- Code conventions and architecture guidelines
- Testing requirements
- Pull request process
Quick start for contributors:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- MADR - Markdown ADR format
- ADR GitHub Organization - ADR resources and tools



