Hello 👋 ! Thank you for your interest in contributing to a project!
Here is a typical workflow for contributing... if you have any questions, please ask!
- Decide what you want to work on (if you want to fix an issue, please comment on the issue asking us to assign it to you)
- Fork the repository you want to work on
- Clone the forked repository locally
- Create a branch
- We recommend starting your branch name with the issue number you are working on
- We also recommend giving your branch a helpful name
- A good branch name is
7-fix-lint-errors
; a bad one isfix-stuff
- Make your code changes
- This is the really fun part 😃
- Write tests
- Another fun part as you get to write some tests to show off your work 🚀
- Push your changes to your fork
- Create a pull request from your fork to the original repository
- We'll review the updates you made and merge the PR!
This section describes how you can test, lint, and explore a project.
If you want to test, lint, or explore a project, make sure you have docker and docker-compose installed (if you don't see: installing docker).
Then you can use the test, lint, and dev docker compose services listed below!
To test a project, run the following command from the root directory of the project:
docker-compose run --rm test
Typically, this command will run pytest on the project's test suite. To view the details of what this command does, take a look at the test
service in the project's docker-compose.yml
file.
To lint a project, run the following command from the root directory of the project:
docker-compose run --rm lint
Typically, this command will run a number of linters on the project's code with the goal of improving code quality and catching bugs before they are released (you can read more about the benefits of linting here). To view the details of what this command does, take a look at the lint
service in the project's docker-compose.yml
file.
To explore a project, you can drop into a "dev" environment which is an IPython shell with the project and all its requirements loaded. To do this, run the following command from the root directory of the project:
docker-compose run --rm dev
To see what this command does, take a look at the dev
service in the project's docker-compose.yml
file.
If you have any follow-up questions, don't hesitate to ask! It takes practice to understand how to contribute to open-source software, so there is no shame in asking for help.