Skip to content


Repository files navigation

Markdown Any Decision Records

"Markdown Any Decision Records" (MADR) [ˈmæɾɚ] – decisions that matter [ˈmæɾɚ].

For user documentation, please head to

Development Hints

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 --volume="C:\git-repositories\\madr\docs":/srv/jekyll jekyll/jekyll:4 jekyll serve

In case you get errors regarding Gemfile.lock, just delete Gemfile.lock and rerun.

Releasing a new version

  1. Update
  2. Update the examples at docs/ and docs/
  3. Update docs/decisions/* with the new template.
  4. Check that the YAML front matter in docs/decisions/ is kept.
  5. Copy .markdownlint.yml to template/.markdownlint.yml
  6. Adapt the version reference in template/
  7. Copy template/ to docs/decisions/
  8. Update package.json, publish to npmjs, create GitHub release.
    Use release-it (do not create a release on GitHub) and github-release-from-changelog.


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