Generate an architectural decision log out of architectural decision records (ADRs).
npm install adr-log> Generate an architectural decision log out of architectural decision records (ADRs).
- Install
- CLI
- Usage
* Examples
+ Printing the adr log to stdout
+ Generating an index.md file containing the adr log
- Developing
- Related Tooling
- License
Install with npm:
``sh`
npm install -g adr-log
`text
Usage: adr-log [-d
input: The markdown file to contain the table of contents.
If no file is specified, an index.md file containing the log is created in the current directory.
-i: Edit the file directly, injecting the log at .
Using only the -i flag, the tool will scan the current working directory for all *.md files and
inject the resulting adr-log into the default index.md file.
(Without this flag, the default is to print the log to stdout.)
-d: Scans the given
(Without this flag, the current working directory is chosen as default.)
-h: Shows how to use this program
`
#### Printing the adr log to stdout
Consider a directory consisting of three files (0000-example-1.md, 0001-example-2.md, 0002-example-3.md).
Execute following command:
`sh`
adr-log -d .
This outputs following log on your console:
`markdown`
* ADR-0000 - Example 1
* ADR-0001 - Example 2
* ADR-0002 - Example 3
#### Generating an index.md file containing the adr log
Since this is basically a fork of Jon Schlinkert's markdown-toc, you can also choose to insert the log into an existing file.
For this to work the file must contain an opening code comment, after which the log will be inserted.
If the file already contains an adrlog surrounded by an opening and closing code comment, the existing is be replaced.
Using -i alone (adr-log -i) generates an index.md file in the current working directory containing the log.
`sh`
$ adr-log -i
Result in following index.md:
`markdown
* ADR-0000 - Example 1
* ADR-0001 - Example 2
* ADR-0002 - Example 3
`
- search recursively underneath the given directory
- allow date prefixes as well as number prefixes
- allow specification of index or date properties in frontmatter
- fallback to auto-numbering for ADRs without filename prefixes or frontmatter
- Run node cli.js to execute the CLI.node ../../../adr-log/cli.js -d .
Also works with relative directgories.
E.g., runs adr-log and outputs the result to the console.cli.js
- You can turn on debugging output by adjusting lines 6 and 7 in .
- Use relase-it and github-release-from-changelog for release management.
See also ADR-0003.
adr-tools is the most prominent related tool.
It supports generating an ADR log by using adr generate toc.
An example to can be investigated at
The difference to adr-tools is
1. adr-log is available using npm` and thus more easy to install.
2. adr-tools does not include the heading of each ADR into the output.
Copyright © 2017 Tino Stadelmaier, Oliver Kopp, Armin Hüneburg, Tobias Wältken.
Released under the MIT License.