InfiniTime.git

commit f9d03cc39624853f43a15843f7ce3cea4d2e2451

Author: Riku Isokoski <riksu9000@gmail.com>

contribute.md: Improve contributing instructions

Denser instructions for absolute beginners. Links to GitHub docs.

Add PR checklist and commit conventions sections based on the
maintainer's guide.

 doc/contribute.md | 33 ++++++++++++++++++++++++++-------


diff --git a/doc/contribute.md b/doc/contribute.md
index 29d209166bffa461ecb0d1d1df4df58c4b5de999..497925835073186acfb2b38970a8029b7d4665e6 100644
--- a/doc/contribute.md
+++ b/doc/contribute.md
@@ -18,11 +18,30 @@ you can submit changes to the documentation by creating a [pull request](#how-to-create-a-pull-request)
 
 ## How to create a pull request?
 
-1. Fork the project, create a [feature branch](branches.md) from develop and give it a short name that explains the topic of your changes
-   - Any feature branch should focus on one topic only
-2. Make changes in this branch
-   - Write code that satisfies the [coding conventions](/doc/coding-convention.md)
-   - Test your changes on a PineTime or the [InfiniTime simulator](https://github.com/InfiniTimeOrg/InfiniSim)
-3. Create a pull request, participate in the discussion and make more changes to the feature branch if necessary
+The workflow is based on [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow).
+
+To create a pull request,
+you need a [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) of the repo.
+Create a new [branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) from develop,
+make changes in this branch,
+[commit](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits) them,
+and create a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).
+
+### PR checklist
+
+When making changes to the firmware:
+
+- Consider if your feature aligns with the [InfiniTime vision](InfiniTimeVision.md)
+- Test your changes on a PineTime or InfiniSim
+- Make sure the code conforms to the [coding conventions](coding-convention.md)
+
+You can also check the [maintainer's guide](maintainer-guide.md)
+for what maintainers will look at in PRs.
 
-Your contributions are more than welcome!
+### Commit conventions
+
+- Every commit must contain a title and description,
+  that sufficiently explains all the changes in the commit
+- Commits that fix mistakes from previous commits must be squashed
+- Conflicts must be resolved by rebasing,
+  instead of merging