A Powershell based command-line tool for working with Lightweight Architecture Decision Records (ADRs).
"Lightweight Architecture Decision Records is a technique for capturing important architectural decisions along with their context and consequences. We recommend storing these details in source control, instead of a wiki or website, as then they can provide a record that remains in sync with the code itself. - Thoughtworks"
adr-ps
is a powershell module you can import in a normal powershell session.
The default destination directory is doc/adr
.
-
Open Powershell CLI and import module
Import-Module .\adr.psd1
-
Create or open an ADR repository in the desired location (the current working directory is the default location). Once started, all ADR logs in this session will use this path. Run
Start-AdrLog
again with a new path to change the ADR log location for the session.Start-AdrLog -Path $repositoryPath
-
Create an architecture decision record.
New-Adr -Title "My New Adr"
Id Name Status Path -- ---- ------ ---- 4 My New Adr Unknown /Users/joel/repos/Github/adr-ps/doc/adr/0004-my-new-adr.md
-
List current ADRs
Get-Adr
Id Name Status Path -- ---- ------ ---- 1 Record Architecture Decisions Accepted /Users/joel/repos/Github/adr-ps/doc/adr/0001-record-architecture-decisions.md 2 Implement As Powershell Accepted /Users/joel/repos/Github/adr-ps/doc/adr/0002-implement-as-powershell.md 3 Use Powershell Approved Verbs Accepted /Users/joel/repos/Github/adr-ps/doc/adr/0003-use-powershell-approved-verbs.md 4 My New Adr Unknown /Users/joel/repos/Github/adr-ps/doc/adr/0004-my-new-adr.md
-
Update ADR status
Set-Adr -Id 4 -Status Rejected
Id Name Status Path -- ---- ------ ---- 4 My New Adr Rejected /Users/joel/repos/Github/adr-ps/doc/adr/0004-my-new-adr.md
-
Help
# Comment-based help available for all module functions Get-Help Start-AdrLog
ADR-PS aims to help document architecturally significant functional and non-functional decisions through out solution lifetime to benefit current and future teams. I also hope to promote ADR-technique into greater audience with more choice of tools.
The decisions on this tool are recorded as architecture decision records in repository