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.2.tar.gz (101.4 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.2-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dark_madr-0.1.2.tar.gz
  • Upload date:
  • Size: 101.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dark_madr-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ab0924b1205b65e82f29bcb8156e4c8a4848896284ae54cee3c1a12d4f7e92d1
MD5 0f85808809dc8f36e06abd4b02cf0c69
BLAKE2b-256 89f1f72d933a13efd3ff54839e815cf74f714a205eea778e2348efcea21a34d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dark_madr-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dark_madr-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ba59ef3025e6349c82b4a8597415c70e062def5f798d4983b89dd2d0934f08c1
MD5 7fcc6553b75d553bfe7232d2cac169a7
BLAKE2b-256 3456c5723565e4e4bb167110275a77642d3ffa0141e679eef39eabc8256e88e7

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