Meta guidelines
This section presents some guidelines for the writing and maintenance of this handbook.
Scope
The development handbook is aimed to give guidelines and best practices for the development process. Strictly operational matters should be avoided here, and rather be included in the operational handbook.
As a rule of thumb, the following distinction can be kept in mind:
- 👉 Anything that (also) happens on your local machine
SHOULDbe done in line with the development handbook. - 👉 Anything that (also) happens in the infrastructure (in a broad sense?),
or where roles & responsibilities come into play,
SHOULDbe done according to the operational handbook.
Note that most processes involve both development and operational aspects.
Structure
- 👉 Each page
MUSThave a level 1 heading (#) for the title of the section or chapter - 👉 Level 2 headings (
##)MUSTbe used for the main sections and use lower level headings for subsections - 👉 Each page
SHOULDinclude a short introduction describing its scope and context
Style
- 👉 Mark concrete guidelines with the 👉 emoji
- {TODO: Marking of policies, hints?}
- 👉 Sets of related guidelines
SHOULDbe enumerated using unordered lists (as used here) - 👉 Important keywords
MAYbe highlighted using**emphasis markup - 👉 Use
MAY,SHOULDandMUSTand use code markup for these using backticks - 👉 References
SHOULDbe placed in footnotes. Use the footnote markup that is supported in both GitHub and mkdocs via the footnotes plugin, and requires usage of a specific syntax1. - 👉 Links that are not references
MAYbe rendered as regular inline links (see below for an example) - 👉 The markdown for each page
MUSTpass linting with markdownlint (see rules2). - TODO: hint about CI and local linting
Content
- 👉 References to information sources and other relevant related resources
SHOULDbe included where applicable. Use footnotes as described above.