This document describes the general guidelines we are following when developing it. This document should be updated whenever there are good new guidelines.
For all non-trivial changes (e.g. correcting of typos) we recommend opening a PR and request a review before merging it. This procedure has the advantage that bugs are less likely, and it helps to spread knowledge.
We recommend writing tests for new changes. This has the advantage that bugs are less likely, and it guards against future changes that might break contracts.
When merging changes, we do rebase onto the latest master and then push the changes. This procedure ensures a clean branch history. Consequently, merge commits are discouraged.
Commit messages help to give context to a change. Especially, when trying to understand why something was done the way it is done, this information can be really helpful. Therefore, we encourage everyone to write proper and meaningful commit messages. See this discussion for how to write helpful commit messages.
Whenever a pull request is created to fix an issue, we recommend linking to it. See how to link pull requests to issues on Github.