We follow the following styles for the different languages:
- TypeScript/JSX: Airbnb Style
- Dart: Effective Dart
- Kotlin: Kotlin Style Guide
Commit messages should have the following schema:
<issue number>: Your commit message, e.g. 1234: Add commit message documentation
Commit messages and PR names should be short but concise and explain what was done.
Always use present tense (Add instead of Added).
See this guide for a general reference on how to write good commit messages and pull request names.
Branch names should use lower-kebab-case and be prefixed with the issue number:
<issue number>-branch-name, e.g. 1234-commit-message-documentation
Note: Branch names (and PR names) do NOT have to match the issue title. Instead, try to be short and concise to focus on the actual work done.
Pull requests should belong to one of our issues. If you are looking for issues to work on, a good place to start are our good first issues.
To merge a pull request, it has to meet the following criteria:
- All checks (formatting, linting and unit tests) have to pass.
- No changes are requested.
- Two approvals are needed.
- Labels are set, check Labels.
We use the following emoji code for reviewing:
- 👍 or
:+1:This is great! It always feels good when somebody likes your work. Show them! - ❓ or
:question:I have a question / can you clarify? - ❌ or
:x:This has to change. It’s possibly an error or strongly violates existing conventions. - 🔧 or
:wrench:This is a well-meant suggestion. Take it or leave it. - 🙃 or
:upside_down_face:This is a nitpick. Normally related to a small formatting or stylizing detail that shouldn’t block moving forward. - 💭 or
:thought_balloon:I’m just thinking out loud here. Something doesn’t necessarily have to change, but I want to make sure to share my thoughts. - 🤡 or
:clown_face:This is a complaint about something with no obvious answer, not necessarily a problem originating from changes.
Versions consist of a version name and a version code and are set in version.json.
We use the calver schema YYYY.MM.PATCH for versioning.
PATCH is a counter for the number of releases in the corresponding month starting with 0.
Examples:
- First versions of 2024:
2024.1.0,2024.1.1,2024.1.2. - First version of February 2024:
2024.2.0.
An additional consecutive version code is used for unique identification in the app stores. The version code has to be incremented for every new release uploaded to the stores.
Here you find our current list of labels.
backend,web,native: Please ensure that you set labels according to the affected environments.exclude-changelog: If your pull request should not be listed in the changelog (f.e. for release pull requests).maintenance: Only add this label if the PR does NOT include user facing changes, so they will be listed separately in our release notes. Common topics are dependency upgrades, tests, linting, CI, dev improvements.- If your pull request is testable, ensure that there is a proper description in your pull request.