We welcome any kind of contributions. Whether you are reporting a bug, coding a feature or correcting a typo. Every effort counts; and all contributions are greatly appreaciated.
Another great way to contribute is to actually use rust-starter for your Open Source or Commercial projects. If you do, make sure to open an issue with a link to your project.
To run all tests, run the following command.
cargo test --all
Alternatively, if you have just
installed you can run the prebuilt recipes. Not using just
is perfectly fine as well, it simply bundles commands automatically.
For example, to test the code, as above simply run:
$ just run-tests
Use a conventional changelog format so the changelog can be updated automatically using clog
- Please format your commit subject line using the following format:
TYPE(COMPONENT): MESSAGE
whereTYPE
is one of the following:feat
- A new feature of an existing APIimp
- An improvement to an existing feature/APIperf
- A performance improvementdocs
- Changes to documentation onlytests
- Changes to the testing framework or tests onlyfix
- A bug fixrefactor
- Code functionality doesn't change, but underlying structure maystyle
- Stylistic changes only, no functionality changeswip
- A work in progress commit (Should typically begit rebase
'ed away)chore
- Catch all or things that have to do with the build system, etcexamples
- Changes to existing example, or a new example
- The
COMPONENT
is optional, and may be a single file, directory, or logical component. Parenthesis can be omitted if you are opting not to use theCOMPONENT
.
- Create tests for your changes
- Ensure the tests are passing. Run the tests (
cargo test --all
), alternativelyjust run-tests
if you havejust
installed. - Optional Run the lints.
- Ensure your changes contain documentation if adding new APIs or features.
git rebase
into concise commits and remove--fixup
s orwip
commits (git rebase -i HEAD~NUM
whereNUM
is number of commits back to start the rebase)- Push your changes back to your fork (
git push origin $your-branch
) - Create a pull request against
master
! (You can also create the pull request first, and we'll merge when ready. This a good way to discuss proposed changes.)
- Remain backwards compatible when possible. Backward compatibility is not critical since projects do not depend on Rust Starter. But it's a good idea to have stable features and usage.
- Reduce dependencies.
- Follow best practices.
- Ease of use and customization.