Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 3.46 KB

CONTRIBUTING.md

File metadata and controls

75 lines (52 loc) · 3.46 KB

Contributing a PR 🥇

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!

  1. 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)
  2. Fork the repository you want to work on
  3. Clone the forked repository locally
  4. 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 is fix-stuff
  5. Make your code changes
    • This is the really fun part 😃
  6. Write tests
    • Another fun part as you get to write some tests to show off your work 🚀
  7. Push your changes to your fork
  8. Create a pull request from your fork to the original repository
  9. We'll review the updates you made and merge the PR!

Local Development 🐳

This section describes how you can test, lint, and explore a project.

Prerequisites

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!

Test a Project 🧪

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.

Lint a Project 🧹

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.

Explore a Project 🔭

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.

Questions? Please Ask!

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.