Skip to main content

Architecture Decision Records management tool

Project description

dark-madr

A Python CLI for managing Architecture Decision Records.

Compatible with adr-tools workflow. Supports Nygard and MADR templates.

For background on ADRs, see the included paper: Using ADR on GitHub

Installation

pip install dark-madr

For development:

uv sync
uv pip install -e .

Usage

# Initialize ADR directory
adr init

# Create a new ADR
adr new "Use PostgreSQL for primary database"

# List all ADRs
adr list

# Show a specific ADR
adr show 1

# Supersede an existing ADR
adr new "Use PostgreSQL 15" --supersedes 1

# Generate table of contents
adr generate toc

Configuration

Configure defaults in pyproject.toml:

[tool.adr]
dir = "docs/decisions"
template = "madr"
default_status = "proposed"
default_authors = ["Architecture Team"]

Initialize configuration:

adr init-config
adr config  # view current settings

Commands

Command Description
adr init Initialize ADR directory with first ADR
adr new <title> Create a new ADR
adr list List all ADRs
adr show <number> Display an ADR
adr generate toc Generate table of contents
adr templates List available templates
adr config Show current configuration
adr init-config Add config section to pyproject.toml

Options

adr new "Title" --template madr    # Use specific template
adr new "Title" --status accepted  # Set initial status
adr new "Title" --supersedes 3     # Supersede ADR-0003
adr --adr-dir ./docs list          # Override ADR directory

Templates

Two built-in templates:

  • nygard (default) - Michael Nygard's original format
  • madr - Markdown Any Decision Records format

View template structure:

adr help-template nygard
adr help-template madr

Custom templates can be added to a directory specified by template_dir in config.

Development

uv sync --all-extras
uv run pytest
uv run mypy src/
uv run ruff check src/

References

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dark_madr-0.1.0.tar.gz (96.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dark_madr-0.1.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file dark_madr-0.1.0.tar.gz.

File metadata

  • Download URL: dark_madr-0.1.0.tar.gz
  • Upload date:
  • Size: 96.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.27

File hashes

Hashes for dark_madr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 924ae2f1d5276db1c7b039a54a8afef4926093a21c0486a5a343ae20ad6531cf
MD5 e87a5d8aef769cb2cc49536484d5b35a
BLAKE2b-256 9cee2d305e3b20e58a0251758376828608ed0c2a3672065ffa08ce53615f7876

See more details on using hashes here.

File details

Details for the file dark_madr-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dark_madr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.27

File hashes

Hashes for dark_madr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adc9d26e718c35eacc7d4497243b0d22aeb9359ae161ac4f9c5bca98af41cada
MD5 d4eb23f1cefed8b868a1f62ed62d66ad
BLAKE2b-256 c67f095d92d7fa42aea1ce83b8f7e05d1bcaae0ffd968642535de3bfde189ae6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page