Important
These steps are more particular to this repo but mainly apply to all repositories; change the specifics.
Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in this project by you, as defined in the Apache License shall be dual-licensed as above, without any additional terms or conditions.
- Join slack and join
#dev-beginners
channel - Ask the owner of the repository to add your GitHub username to the repository so that you can work on issues and be able to create your own branches and not need to fork the repo
- Become familiar with docs and code by reading the ramp-up guide
- Pick an open issue or a task in the corresponding project for the repo you'll work on. You can see good for first issues that you can pick from
- Assign the issues you are working on to you and move them to the corresponding status column as you progress . If the task is not an issue yet, convert it to an issue first
- Make the changes in your branch
- Add docs as they apply
- Add tests, benchmarks, and examples for your changes, if applicable
cargo fmt --all
to format the code. You can configure yourIDE
to do this on save, RustRover and VSCodecargo clippy --all --release
and fix any errors- DON'T INCREASE THE VERSION NUMBER IN
Cargo.toml
, WE WILL DO THAT WHEN RELEASING - Create a
git
push hook
file in.git/hooks/pre-push
with pre-push content onLinux
andmacOS
, and pre-push onWindows
. Make it executable in Linux and macOS withchmod +x .git/hooks/pre-push
.This will run when you dogit push
and will make the push quite slow, but please give it time to complete as this helps to fix any issues locally and not rely just on runningci
on GitHub when you create the PR - Commit and push your changes, and if there are any errors, fix them before you push them
- Create a
PR
back to theparent
repo targeting themain
branch and request review from owners of the repository by adding them to theReviewers
field - In the project, move the item to
In Code Review
- Monitor the checks (GitHub actions runs) and fix the code if they are failing
- Respond to any comments
- DON'T MERGE THE PR YOURSELF. LEAVE THAT TO REPOSITORY OWNERS
- In the end, ideally, it will be merged into
main
Please follow these steps.