Skip to content

Command-line tools for working with Architecture Decision Records

License

Notifications You must be signed in to change notification settings

halostatue/adr-tools

 
 

Repository files navigation

ADR Tools

A command-line tool for working with a log of Architecture Decision Records (ADRs).

Quick Start

Install ADR Tools.

Use the adr command to manage ADRs. Try running adr help.

ADRs are stored in a subdirectory of your project as Markdown files. The default directory is doc/adr, but you can specify the directory when you initialise the ADR log.

  1. Create an ADR directory in the root of your project:

    adr init doc/architecture/decisions

    This will create a directory named doc/architecture/decisions containing the first ADR, which records that you are using ADRs to record architectural decisions and links to Michael Nygard's article on the subject.

  2. Create Architecture Decision Records

    adr new Implement as Unix shell scripts

    This will create a new, numbered ADR file and open it in your editor of choice (as specified by the VISUAL or EDITOR environment variable).

    To create a new ADR that supersedes a previous one (ADR 9, for example), use the -s option.

    adr new -s 9 Use Rust for performance-critical functionality

    This will create a new ADR file that is flagged as superseding ADR 9, and changes the status of ADR 9 to indicate that it is superseded by the new ADR. It then opens the new ADR in your editor of choice.

  3. Configure the template.

    If the ADR directory contains a file templates/template.md, this is used as the template for the new ADR. Otherwise a default template is used or one found with $ADR_TEMPLATE.

    export ADR_TEMPLATE=<path to file>
  4. For further information, use the built in help:

    adr help

See the tests for detailed examples.

The decisions for this tool are recorded as architecture decision records in the project repository.

About

Command-line tools for working with Architecture Decision Records

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 96.2%
  • Makefile 3.8%