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.
To get an overview of the project, 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
If you spot a problem with HighTeach, search if an issue already exists. If a related issue doesn't exist, you can open a new issue.
Scan through our existing issues to find one that interests you. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix.
- 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.
-
Follow the instructions in the README.md file to set up a working environment.
-
Create a working branch and start with your changes!
Commit the changes once you are happy with them.
The commit message should explain what changes have been made, and why.
In addition, they should include a link to the relevant issue.
Please use the guide below in order to follow our commit message convention:
When you're finished with the changes, create a pull request, also known as a PR.
- Each PR should include at most 5
commits. - Make sure the PR passes CI checks. Run
pipenv run flake8 --max-line-length 120andpipenv run python -m pytest -vinside your VM before submitting a new PR. - Before submitting a PR for review, try applying the principle of single responsibility. If this code is doing more than one thing, break it into other PRs.
PR documentation:
- Every PR should have a meaningful and concise title that clearly describes its purpose.
- Every PR should have a meaningful and concise description that provides relevant information on the PR.
- Every PR should be linked to an issue (or issues), to make its purpose clear and increase its visibility (see Issues).
- Assign other contributors as well as maintainers as reviewers on your PR.
PR code review:
- Each pull request requires the approval of at least 2 contributors and has to be reviewed by the maintainers before merging.
- Examine the PR carefully, and with respect to what it is supposed to achieve.
- If you want to request changes to specific lines in a file please use the "Start a review" button.
- If you want to request changes, mark your review as "Request changes" - please do not use a generic comment.
- Use polite, respectful and clear language when commenting on or reviewing a PR.
- If your PR recieved a request for changes or a comment, please notify the reviewer about your actions (what changes you made, or if you don't think they're necessary - why you think so).
Congratulations 🎉🎉 The HighTeach team thanks you ✨.
Once your PR is merged, your contributions will be publicly visible on the HighTeach repository.