# adr/madr architecture

> Architecture diagram of the GitHub repository adr/madr, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/adr/madr
- Repository: https://github.com/adr/madr

## Overview

MADR is a Markdown format and set of templates for writing and maintaining Architectural Decision Records (ADRs). The main workflow is to choose a template, copy it into a project’s decisions directory, and adapt it for each decision; this repository also provides examples and guidance, and its docs are rendered with Jekyll. The graph reflects documented copying and rendering workflows; source excerpts do not show a software runtime or internal call structure.

Main entry points: [`docs/decisions`](https://github.com/adr/madr/tree/develop/docs/decisions) (Decision Archive), [`template/adr-template.md`](https://github.com/adr/madr/blob/develop/template/adr-template.md) (Full Template), [`template/adr-template-minimal.md`](https://github.com/adr/madr/blob/develop/template/adr-template-minimal.md) (Minimal Template), [`template/adr-template-bare.md`](https://github.com/adr/madr/blob/develop/template/adr-template-bare.md) (Bare Template)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_authoring["ADR Templates"]
  node_full["Full Template<br/>[adr-template.md]"]
  node_minimal["Minimal Template"]
  node_bare["Bare Template"]
  node_bareminimal["Bare Minimal Template"]
end

subgraph group_records["Decision Records"]
  node_decisions["Decision Archive"]
  node_adrtemplate["Published ADR Template<br/>[adr-template.md]"]
end

subgraph group_guidance["Guidance and Site"]
  node_examples["Examples<br/>[examples.md]"]
  node_tooling["Tooling Guide<br/>[tooling.md]"]
  node_home["Documentation Home<br/>[index.md]"]
end

node_author(("ADR Author"))
node_jekyll["Jekyll Renderer"]

node_author -->|"selects"| node_full
node_author -->|"selects"| node_minimal
node_author -->|"selects"| node_bare
node_author -->|"selects"| node_bareminimal
node_author -->|"copies and adapts"| node_decisions
node_full -->|"copied into"| node_decisions
node_minimal -->|"copied into"| node_decisions
node_bare -->|"copied into"| node_decisions
node_bareminimal -->|"copied into"| node_decisions
node_full -->|"mirrored as"| node_adrtemplate
node_jekyll -->|"renders docs"| node_home
node_jekyll -->|"renders docs"| node_examples
node_jekyll -->|"renders docs"| node_tooling
node_jekyll -->|"renders docs"| node_decisions

click node_full "https://github.com/adr/madr/blob/develop/template/adr-template.md"
click node_minimal "https://github.com/adr/madr/blob/develop/template/adr-template-minimal.md"
click node_bare "https://github.com/adr/madr/blob/develop/template/adr-template-bare.md"
click node_bareminimal "https://github.com/adr/madr/blob/develop/template/adr-template-bare-minimal.md"
click node_decisions "https://github.com/adr/madr/tree/develop/docs/decisions"
click node_adrtemplate "https://github.com/adr/madr/blob/develop/docs/decisions/adr-template.md"
click node_examples "https://github.com/adr/madr/blob/develop/docs/examples.md"
click node_tooling "https://github.com/adr/madr/blob/develop/docs/tooling.md"
click node_home "https://github.com/adr/madr/blob/develop/docs/index.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_full,node_minimal,node_bare,node_bareminimal toneBlue
class node_decisions,node_adrtemplate toneAmber
class node_examples,node_tooling,node_home toneMint
class node_author,node_jekyll toneIndigo
```

## Components

### ADR Templates

- [Full Template](https://github.com/adr/madr/blob/develop/template/adr-template.md): `template/adr-template.md`
- [Minimal Template](https://github.com/adr/madr/blob/develop/template/adr-template-minimal.md): `template/adr-template-minimal.md`
- [Bare Template](https://github.com/adr/madr/blob/develop/template/adr-template-bare.md): `template/adr-template-bare.md`
- [Bare Minimal Template](https://github.com/adr/madr/blob/develop/template/adr-template-bare-minimal.md): `template/adr-template-bare-minimal.md`

### Decision Records

- [Decision Archive](https://github.com/adr/madr/tree/develop/docs/decisions): `docs/decisions`
- [Published ADR Template](https://github.com/adr/madr/blob/develop/docs/decisions/adr-template.md): `docs/decisions/adr-template.md`

### Guidance and Site

- [Examples](https://github.com/adr/madr/blob/develop/docs/examples.md): `docs/examples.md`
- [Tooling Guide](https://github.com/adr/madr/blob/develop/docs/tooling.md): `docs/tooling.md`
- [Documentation Home](https://github.com/adr/madr/blob/develop/docs/index.md): `docs/index.md`

### Other components

- **ADR Author**
- **Jekyll Renderer**

## Connections

- ADR Author → Full Template: selects
- ADR Author → Minimal Template: selects
- ADR Author → Bare Template: selects
- ADR Author → Bare Minimal Template: selects
- ADR Author → Decision Archive: copies and adapts
- Full Template → Decision Archive: copied into
- Minimal Template → Decision Archive: copied into
- Bare Template → Decision Archive: copied into
- Bare Minimal Template → Decision Archive: copied into
- Full Template → Published ADR Template: mirrored as
- Jekyll Renderer → Documentation Home: renders docs
- Jekyll Renderer → Examples: renders docs
- Jekyll Renderer → Tooling Guide: renders docs
- Jekyll Renderer → Decision Archive: renders docs
