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
SHOULD
be 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,
SHOULD
be done according to the operational handbook.
Note that most processes involve both development and operational aspects.
Structure
- 👉 Each page
MUST
have a level 1 heading (#
) for the title of the section or chapter - 👉 Level 2 headings (
##
)MUST
be used for the main sections and use lower level headings for subsections - 👉 Each page
SHOULD
include a short introduction describing its scope and context
Style
- 👉 Mark concrete guidelines with the 👉 emoji
- {TODO: Marking of policies, hints?}
- 👉 Sets of related guidelines
SHOULD
be enumerated using unordered lists (as used here) - 👉 Important keywords
MAY
be highlighted using**
emphasis markup - 👉 Use
MAY
,SHOULD
andMUST
and use code markup for these using backticks - 👉 References
SHOULD
be 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
MAY
be rendered as regular inline links (see below for an example) - 👉 The markdown for each page
MUST
pass linting with markdownlint (see rules2). - TODO: hint about CI and local linting
Content
- 👉 References to information sources and other relevant related resources
SHOULD
be included where applicable. Use footnotes as described above.