Note
A note is the analog of an item in a CHANGELOG.md
.
Use it to describe a single change. Add metadata to give context.
Example¶
---
issue: 21
date: 2020-04-23
audience: user
type: add
components:
- cli
version: 0.0.2
---
# Add `snage lint` command
You can lint all change log notes using:
```bash
$ snage lint
```
Want to see more? Have a look at the Snage notes: ./changelog
Structure¶
1. Metadata¶
The header of the notes must start with a YAML front matter block.
The block starts and ends with a triple-dashed line ---
.
Inside the block you can set values for fields
that are defined inside the Snage config.
This examples uses the config we use for the snage changelog .snage.yaml.
---
issue: 21
date: 2020-04-23
audience: user
type: add
components:
- cli
version: 0.0.2
---
Validation
Snage checks metadata for invalid values.
See snage lint
.
2. Header¶
After the metadata a markdown header must follow. The header is the summary for the whole change log note.
# Add `snage-lint` command
3. Content¶
The optional content should describe the change in more detail. If present, content and header must be separated by an empty line.
# Add `snage lint` command
You can lint all change log notes using:
```bash
$ snage lint
```
Best Practices¶
- Use active language ("Use
ABC
to configure feature X" instead of "Feature X can be configured usingABC
") - Use present tense ("Remove support for ..." instead of "Removed support for ...")
- Don't exceed 80 characters in the header