45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# Contribution guide
|
|
|
|
We really appreciate contribution and would love to see you joining the project :)
|
|
But please read this document carefully before starting contribution.
|
|
We probably won't accept most PRs that don't align with the following guidelines.
|
|
|
|
## Issue before PR
|
|
|
|
Please only implement features that have an open issue or open an issue before starting to work on a feature.
|
|
By that you don't waste time on a feature, that maybe won't be accepted and we can understand your code more easily.
|
|
|
|
## Use rustfmt
|
|
|
|
Please format your code with rustfmt (`cargo fmt`) before committing it.
|
|
By that there won't be any additional commits needed just to align the code with the rust style conventions.
|
|
|
|
## Update docs
|
|
|
|
Please keep the docs up to date, when you change anything relevant to the documentation (API, etc.).
|
|
|
|
## 1 feature 1 commit
|
|
|
|
Keeping commits limited to one feature makes it way easier to understand them and increases the probability that the
|
|
commit will be accepted.
|
|
|
|
## commit message convention
|
|
|
|
Please keep your commit messages in the following style:
|
|
|
|
```
|
|
type(scope): change
|
|
|
|
notes
|
|
```
|
|
|
|
A commits type can be one of the following:
|
|
|
|
- **feat**: feature
|
|
- **fix**: bugfix
|
|
- **refactor**: nothing new added but code restructured, etc
|
|
- **docs**: documentation changes
|
|
|
|
The commit scope is kinda free, but it's a good idea to use scopes, that have been used before.
|
|
Scopes can be nested like this: `scope >> subscope >> subscope`.
|
|
If the commit affects multiple scopes, you can set multiple scopes like this: `scope // scope`. |