Feel free to submit issues or open pull requests. If you want to know where to help, refer to the existing issues.
Run cargo fmt
before committing.
-
We follow the Conventional Commit specification. Our commit types are inspired by the Karma specification
<type>[optional scope]: <description> [optional body] [optional footer(s)]
Allowed values:
- feat for a new feature for the user, not a new feature for build script. Such commit will trigger a release bumping a MINOR version.
- fix for a bug fix for the user, not a fix to a build script. Such commit will trigger a release bumping a PATCH version.
- perf for performance improvements. Such commit will trigger a release bumping a PATCH version.
- docs for changes to the documentation.
- style for formatting changes, missing semicolons, etc.
- refactor for refactoring production code, e.g. renaming a variable.
- test for adding missing tests, refactoring tests; no production code change.
- build for updating build configuration, development tools or other changes irrelevant to the user.
-
Write commit messages in the present tense (e.g., "Add feature X" instead of "Added feature X").
- Use the naming convention
<type>/<name>
for branches introducing new features. Only use lowercase letters, numbers, and dashes. - The
main
branch should always compile successfully and be free of warnings. Usecargo check
. - Experimental branches are allowed to include code that does not build successfully.
- Prefer rebasing over merging.