icrc/docs/contribution_guide.md

46 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
- **opt:** optimization 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`.