Contributions to this project are welcome. If you'd like to contribute, raise an issue, or propose a new feature, please follow the procedures outlined below.
If you would like to fix a bug or request a bug fix, please raise an issue so the issue can be documented and discussed.
- Fork the project and make your changes in a branch.
- Open and submit a pull request.
Whether you're fixing a bug or adding a feature, we recommend you use the
development environment defined in shell.nix
. You can do this using
nix-shell
or by using lorri itself (yes, we use lorri to develop lorri!).
Amongst other things, the environment gives you the ci
command which runs the
continuous integration build and test suite locally. If this passes, you can be
pretty confident that your pull request will pass CI too.
Open up a request as early as you want. Consider opening it as a "draft" pull request to indicate that it is work in progress. We can work together to make your pull request complete.
A complete pull request will:
- Have new or updated documentation
- Have tests
- Pass the
ci
script available in the project'snix-shell
environment This script runscargo test
,cargo fmt --check
andcargo clippy
, amongst other checks. - Have nice commit messages
We use a commit message scheme which starts with the type of change and includes the scope of the commit, like
type(scope): short message
Examples:
fix(builder): run nix builds with the `--foo` flag
feat(error.rs): use proper status codes for different failures
chore(CI): run cachix during CI
Where type
can be one of:
feat
: A new feature has been introducedfix
: An issue of some kind has been fixeddocs
: Documentation or comments have been updatedstyle
: Formatting changes onlyrefactor
: Some code has been moved, no changes to functionalitytest
: Added missing tests / fixed testschore
: Maintenance work
Instead of writing a beautiful Pull Request message, write the important parts in the commit messages themselves. This makes it much easier to open up a request: just copy and paste the nice commit messages into the pull request.
- Be respectful. All contributions to lorri are appreciated and we ask that you respect one another.
- Be responsible. You are responsible for your pull request submission.
- Give credit. Any submissions or contributions built on other work (including and not limited to research papers, open source projects, and public code) must be cited or attached with information about the original source or work. People should be credited for the work they have done.
Please see our Code of Conduct.