Markdown Architectural Decision Records
"Markdown Architectural Decision Records" (MADR) [ˈmæɾɚ]
– decisions that matter [ˈmæɾɚ]
.
For user documentation, please head to https://adr.github.io/madr/.
Quick start
Copy it into docs/decisions
.
For each ADR, copy the tempalte to nnnn-title.md
and adapt.
Longer explanation: Head to https://adr.github.io/madr/#applying-madr-to-your-project.
Development hints
Branches
Branch | Meaning |
---|
gh-pages | Homepage showing the latest released version, rendered at https://adr.github.io/madr |
develop | Latest developments, including homepage updates which should be published on a release. gh-pages should always be merged into this branch. |
release/vY | Branch for latest release Y.x version of MADR. Introduced to fix #92 |
The branch name conventions follow the git flow model.
See also CONTRIBUTING.md
.
How to start Jekyll locally
For rendering the docs
directory, Jekyll is needed.
For local development, follow the Jekyll installation instructions.
Installing the latest version of ruby followed by gem install bundler
should be enough.
Afterwards, run
bundle install
jekyll serve --livereload
and go to http://localhost:4000/madr/ in your browser.
On Windows, using a dockerized environment is recommended:
docker run -p 4000:4000 --rm -v "C:\git-repositories\adr.github.io\madr\docs":/site bretfisher/jekyll-serve
In case you get errors regarding Gemfile.lock
, just delete Gemfile.lock
and rerun.
Updating just-the-docs
Releasing a new version
- Update the examples at
docs/index.md
and docs/examples.md
. - Update the concrete decisions in
docs/decisions/*
with the new template. - Commit ("Update examples and decisions") and push. Possibly as pull request.
- Adapt the version reference in
template/0000-use-markdown-architectural-decision-records.md
. - Update "template" files in in
docs/decisions
:
- Copy
template/0000-use-markdown-architectural-decision-records.md
to docs/decisions/0000-use-markdown-architectural-decision-records.md
. - Adapt content of
docs/decisions/adr-template.md
based on template/adr-template.md
.
Thereby, ensure that the YAML front matter in docs/decisions/adr-template.md
is kept.
- Add link to
docs/index.md
at "Older versions" (for the homepage). - Copy
.markdownlint.yml
to template/.markdownlint.yml
(and possibly to docs/.markdownlint.yml
). - Update
CHANGELOG.md
. - Commit.
- Update
package.json
and publish to npmjs using release-it (do not create a release on GitHub). This also does a commit. - Create GitHub release using github-release-from-changelog.
- Merge
develop
into gh-pages
License
This work is dual-licensed under MIT and
CC0.
You can choose between one of them if you use this work.
SPDX-License-Identifier: MIT OR CC0-1.0