Decision Capturing Tools
The following lists are rather inclusive and sorted alphabetically. Please find out about the status and the maturity of the list entries for yourself by following the links. We are happy to include more candidate assets here.
Tooling to create and maintain decision files
Any template
- dotnet-adr - A cross platform .NET Global Tool for creating and managing Architectural Decision Records (ADR).
MADR template
Name | MADR Version | Comment |
---|---|---|
adr-log | 2.1.2 | CLI to keep an index.md file updated with all ADRs |
ADR Manager | 2.1.2 | Web-based UI connecting to GitHub to directly edit ADRs in a form-based way |
ADR Manager VS Code Extension | 2.1.2 | Visual Studio Code (VS Code) extension |
Backstage ADR plugin | 2.1.2 and 3.x | plugin to explore and search ADRs within a backstage based developer portal. Search at scale across mutliple orgs/repos |
Hugo Markdown ADR Tools | 2.1.2. | CLI to create and update ADRs |
Log4brains | 2.1.2 without numbers in the filename | Supports both nice rendering of ADRs and creation of ADRs in a command line. |
pyadr | 2.1.2 | CLI to help with an ADR process lifecycle (proposal/acceptance/rejection/deprecation/superseding) |
Nygard template
- adr-tools - bash scripts to manage ADRs in the Nygard format. example.
- Ansible script to install adr-tools: ansible-adr-tools
- C# rewrite: adr-cli
- Go rewrite: adr
- Java rewrite: adr-j
- ESM Node.js port: adr-tools
- Node.js rewrite: adr
- PHP version: phpadr
- Powershell module: adr-ps
- Python rewrite: adr-tools-python
- Another Powershell module: ArchitectureDecisionRecords
- Rust rewrite: adrs
- adr-viewer - python application to generate a website from a set of ADRs.
- architectural-decision: PHP library to create ADRs using PHP8 Attributes.
- Loqbooq: Commerical Web App with Slack integration to record ADR-inspired decision logs
- Talo: CLI (and dotnet tool) to manage and export ADRs, RFCs and custom software design document types.
Tooling close to the code
- (Java) Embedded Architectural Decision Records, which shows how a distributed AD log can be embedded in Java Code via ADR annotations.
Tooling related to architecture management
- ArchUnit: unit tests for architecture
- docToolchain: docToolchain is an implementation of the docs-as-code approach for software architecture plus some additional automation.
- Structurizr: Structurizr is a collection of tooling to help you visualise, document and explore your software architecture using the C4 model.
Interesting, but unmaintained tooling
- adr-log: Generates an architectural decision log out of MADRs.
- ADMentor Architectural Decision Modeling Add-In for Sparx Enterprise Architect
- eadlsync: Synchronizes embedded architectural decision records with a repository of architectural decisions.
- SE Repo: Software Engineering Repository. A repository for versioning software engineering artifacts, which can be architectural decisions, patterns, and others.
This post is licensed under CC BY 4.0 by the author.