We want to make contributing to this project as easy and transparent as possible.
External pull requests are first applied to facebook's internal branch, then synced with rust-shed github repository.
We actively welcome your pull requests.
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- If you haven't already, complete the Contributor License Agreement ("CLA").
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.
Facebook has a bounty program for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue.
Keep use
statements sorted in the following order:
- Imports from external crates.
- Imports from within this crate.
super
imports.self
imports.
Within each subgroup, use
statements should be in alphabetical order.
Use rustfmt
to format your
code. This means:
- 4 spaces for indentation rather than tabs
- 80 character line length recommended, up to 100 characters if necessary.
This project uses the rustfmt
currently based on nightly Rust
(rustfmt-nightly
as of June 2017). For instructions on how to install it, see
the
rustfmt
README.
By contributing to rust-shed, you agree that your contributions will be licensed under both the LICENSE-MIT and LICENSE-APACHE files in the root directory of this source tree.