You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-13Lines changed: 14 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
For user documentation, please head to <https://adr.github.io/madr/>.
6
6
7
-
## Development Hints
7
+
## Development hints
8
8
9
9
* MADR follows [Semantic Versioning 2.0.0](https://semver.org/) and documents changes in a `CHANGELOG.md` following [keep a changelog 1.0.0](http://keepachangelog.com/en/1.0.0/).
10
10
* Issues can be reported at <https://github.com/adr/madr/issues>.
@@ -63,18 +63,19 @@ In case you get errors regarding `Gemfile.lock`, just delete `Gemfile.lock` and
63
63
## Releasing a new version
64
64
65
65
1. Update the examples at `docs/index.md` and `docs/examples.md`.
66
-
2. Update `docs/decisions/*` with the new template.
67
-
3. Add link to `docs/index.md` (for the homepage).
68
-
4. Commit and push.
69
-
5. Update `CHANGELOG.md`.
70
-
6. Check that the YAML front matter in `docs/decisions/adr-template.md` is kept.
71
-
7. Copy `.markdownlint.yml` to `template/.markdownlint.yml`
72
-
8. Adapt the version reference in `template/0000-use-madr.md`.
73
-
9. Copy `template/0000-use-madr.md` to `docs/decisions/0000-use-madr.md`.
74
-
10. Update `package.json`
75
-
11. Publish to [npmjs](https://www.npmjs.com/package/madr) using [release-it](https://www.npmjs.com/package/release-it) (do not create a release on GitHub). This also does a commit.
76
-
12. Create GitHub release using [github-release-from-changelog](https://www.npmjs.com/package/github-release-from-changelog).
77
-
13. Merge `develop` into `gh-pages`
66
+
2. Update the concrete decisions in `docs/decisions/*` with the new template.
67
+
3. Commit ("Update examples and decisions") and push. Possibly as pull request.
68
+
4. Adapt the version reference in `template/0000-use-madr.md`.
69
+
5. Update "template" files in in `docs/decisions/`
70
+
* Copy `template/0000-use-madr.md` to `docs/decisions/0000-use-madr.md`.
71
+
* Adapt content of `docs/decisions/adr-template.md` based on `template/adr-template.md`.
72
+
Thereby, ensure that the YAML front matter in `docs/decisions/adr-template.md` is kept.
73
+
6. Add link to `docs/index.md` at "Older versions" (for the homepage).
74
+
7. Update `CHANGELOG.md`.
75
+
8. Copy `.markdownlint.yml` to `template/.markdownlint.yml`
76
+
9. Update `package.json` and publish to [npmjs](https://www.npmjs.com/package/madr) using [release-it](https://www.npmjs.com/package/release-it) (do not create a release on GitHub). This also does a commit.
77
+
10. Create GitHub release using [github-release-from-changelog](https://www.npmjs.com/package/github-release-from-changelog).
Copy file name to clipboardExpand all lines: docs/index.md
+18-9Lines changed: 18 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ title: About MADR
11
11
An Architectural Decision (AD) is a justified software design choice that addresses a functional or non-functional requirement of architectural significance.
12
12
This decision is documented in an Architectural Decision Record (ADR), which details a single AD and its underlying rationale.
13
13
To capture these records in a lean way, the Markdown Architectural Decision Records (MADRs) have been invented:
14
-
MADR is a streamlined template for recording archictural significant decisions in a structured manner.
14
+
MADR is a streamlined template for recording architectural significant decisions in a structured manner.
15
15
16
16
## Contents
17
17
@@ -24,11 +24,13 @@ MADR is a streamlined template for recording archictural significant decisions i
24
24
*[Lint ADRs](#lint-adrs)
25
25
*[Using MADR in large projects and product developments](#using-madr-in-large-projects-and-product-developments)
26
26
*[Usage of categories](#usage-of-categories)
27
+
*[Full template](#full-template)
28
+
*[Older versions](#older-versions)
27
29
*[License](#license)
28
30
29
31
## News
30
32
31
-
* 2024-05-xx: Release of MADR 4.0.0
33
+
* 2024-06-xx: Release of MADR 4.0.0-beta
32
34
* To strengthen the importance for decisions in software architecture work, MADR spells out "Markdown Architectural Decision Records".
33
35
They can still be used to sustain any decision, our focus is on architectural decisions.
34
36
* 2023-04-05: Two new Medium stories ["How to create Architectural Decision Records (ADRs) — and how not to"](https://medium.com/olzzio/how-to-create-architectural-decision-records-adrs-and-how-not-to-93b5b4b33080) and ["How to review Architectural Decision Records (ADRs) — and how not to"](https://medium.com/olzzio/how-to-review-architectural-decision-records-adrs-and-how-not-to-2707652db196). Metaphors, patterns, anti-patterns, checklists applicable (but not limited) to MADRs.
@@ -61,10 +63,7 @@ There are debates about what is an architecturally-significant decision and whic
61
63
Since we believe that any (important) decision should be captured in a structured way, we offer the MADR template to capture any decision.
62
64
63
65
This repository offers a solution to record any decisions.
64
-
It provides files to document any decisions using **M**arkdown and **A**ny **D**ecision **R**ecords.
65
-
66
-
Before MADR 3.0.0, "MADR" stood for **M**arkdown and **A**rchitectural **D**ecision **R**ecords.
67
-
Since MADR 3.0.0, "Architectural" was replaced by "Any".
66
+
It provides files to document any decisions using **M**arkdown and **A**rchitectural **D**ecision **R**ecords.
68
67
69
68
## Example
70
69
@@ -147,9 +146,9 @@ Some proposals from the community are presented in the following.
147
146
148
147
### Usage of categories
149
148
150
-
MADR logs may be categorized ADRs by defining sub directories and put the ADRs into these folders.
149
+
MADR logs may be categorized ADRs by defining subdirectories and put the ADRs into these folders.
151
150
152
-
An examplary folder structure might follow the architectural structure of the system under construction:
151
+
An exemplary folder structure might follow the architectural structure of the system under construction:
153
152
154
153
```tree
155
154
.
@@ -160,7 +159,7 @@ An examplary folder structure might follow the architectural structure of the sy
160
159
`-- 0001-use-vuejs.md
161
160
```
162
161
163
-
This approach makes all categories explicit because the sub directory/folder names define the categories.
162
+
This approach makes all categories explicit because the subdirectory/folder names define the categories.
164
163
As a consequence, numbers of ADRs are no longer unique throughout the repository, but locally within a category only.
165
164
Ideally, the ADR categorization the same organizing principles as other artifacts such as the code; using architectural structure breakdown is just one option and functional decomposition would be an additional one. This comes down to a meta-decision to be made rather early on.
166
165
@@ -174,6 +173,16 @@ The current development version renders as follows:
0 commit comments