Skip to content
This repository has been archived by the owner on Oct 15, 2022. It is now read-only.

Latest commit

 

History

History
86 lines (65 loc) · 3.22 KB

CONTRIBUTING.md

File metadata and controls

86 lines (65 loc) · 3.22 KB

Contributing to lorri

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.

Raising issues

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.

How to contribute

  1. Fork the project and make your changes in a branch.
  2. 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.

Making a contribution

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's nix-shell environment This script runs cargo test, cargo fmt --check and cargo 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 introduced
  • fix: An issue of some kind has been fixed
  • docs: Documentation or comments have been updated
  • style: Formatting changes only
  • refactor: Some code has been moved, no changes to functionality
  • test: Added missing tests / fixed tests
  • chore: 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.

Guidelines

  1. Be respectful. All contributions to lorri are appreciated and we ask that you respect one another.
  2. Be responsible. You are responsible for your pull request submission.
  3. 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.