From ccc953842eb65be096d7f9cc9f2263819cd3a107 Mon Sep 17 00:00:00 2001 From: Jesse Braham Date: Mon, 14 Aug 2023 09:08:22 -0700 Subject: [PATCH] Add a simple `CONTRIBUTING.md` guide --- CONTRIBUTING.md | 101 ++++++++++++++++++++++++++++++++ resources/table-of-contents.png | Bin 0 -> 4027 bytes 2 files changed, 101 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 resources/table-of-contents.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..ffc5b1368 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,101 @@ +# Welcome to the `esp-hal` contributing guide + +Thank you for investing your time in contributing to our project! + +In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. + +Use the table of contents icon () in the top right corner of this document to get to a specific section of this guide quickly. + +## New Contributor Guide + +To get an overview of the project, please read the [README]. Here are some resources to help you get started with open source contributions: + +- [Finding ways to contribute to open source on GitHub] +- [Set up Git] +- [GitHub flow] +- [Collaborating with pull requests] + +[README]: README.md +[Finding ways to contribute to open source on GitHub]: https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github +[Set up Git]: https://docs.github.com/en/get-started/quickstart/set-up-git +[GitHub flow]: https://docs.github.com/en/get-started/quickstart/github-flow +[Collaborating with pull requests]: https://docs.github.com/en/github/collaborating-with-pull-requests + +## Getting Started + +### Issues + +#### Create a New Issue + +If you spot a problem with the docs, [search if an issue already exists]. If a related issue doesn't exist, you can open a new issue using the [issue form]. + +[search if an issue already exists]: https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments +[issue form]: https://github.com/esp-rs/esp-hal/issues/new/ + +#### Solve an Issue + +Scan through our [existing issues] to find one that interests you. You can narrow down the search using labels as filters. If you find an issue to work on, you are welcome to open a PR with a fix. + +It's recommended that you comment in the relevant issue, mentioning that you are actively working on it, however this is not a requirement. + +If somebody is already assigned to an issue, this does not necessarily mean they are actively working on it; don't be afraid to comment in these issues asking if you can take over the work if you're interested. + +[existing issues]: https://github.com/esp-rs/esp-hal/issues + +### Make Changes + +1. Fork the repository. + - Using GitHub Desktop: + - [Getting started with GitHub Desktop] will guide you through setting up Desktop. + - Once Desktop is set up, you can use it to [fork the repo!] + - Using the command line: + - [Fork the repo] so that you can make your changes without affecting the original project until you're ready to merge them. +2. Install or update to the latest version of Rust. See [rustup.rs] for more information. +3. Create a working branch and start with your changes! + +[Getting started with GitHub Desktop]: https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop +[fork the repo!]: https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop +[Fork the repo]: https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository +[rustup.rs]: https://rustup.rs/ + +### Commit Your Update + +Commit the changes once you are happy with them. Don't forget to self-review to speed up the review process. + +We ask that you ensure all source code files has been properly formatted with `rustfmt`, and that you have linted your changes by running `cargo clippy`. These tools can be installed by running the following commands: + +```shell +rustup component add rustfmt +rustup component add clippy +``` + +We _strongly_ recommend that you use the supplied `pre-commit` Git hook, which will ensure that all source code has been formatted correctly prior to committing. See the [Git documentation] for more information on hooks. + +The `pre-commit` hook can be installed by running the following command in a terminal, from the root of the repository: + +```shell +cp pre-commit .git/hooks/pre-commit +``` + +[Git documentation]: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks + +### Pull Request + +When you're finished with the changes, create a pull request, also known as a PR. + +- Fill the pull request template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. +- Don't forget to [link PR to issue] if you are solving one. +- Enable the checkbox to [allow maintainer edits] so the branch can be updated for a merge. Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request additional information. +- We may ask for changes to be made before a PR can be merged, either using [suggested changes] or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. +- As you update your PR and apply changes, mark each conversation as [resolved]. +- If you run into any merge issues, checkout this [git tutorial] to help you resolve merge conflicts and other issues. + +[link PR to issue]: https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue +[allow maintainer edits]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork +[suggested changes]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request +[resolved]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations +[git tutorial]: https://github.com/skills/resolve-merge-conflicts + +### Your PR is Merged! + +Congratulations! The esp-rs team thanks you for your contributions! diff --git a/resources/table-of-contents.png b/resources/table-of-contents.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0cc7e8c9fa8876af6f835eed1716b2112bb1b3 GIT binary patch literal 4027 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 literal 0 HcmV?d00001