# How to Contribute

We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.

## Contributor License Agreement

Any contributions you make will be under the MIT Software License. Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project.

```
By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the MIT License license; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the MIT License license; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it) is maintained indefinitely
    and may be redistributed consistent with this project or the open
    source license(s) involved.
```

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Code reviews

All submissions, including submissions by project members, require review. We use [Github Flow](https://guides.github.com/introduction/flow/index.html) Pull Requests for this purpose.

We actively welcome your pull requests:

1. Fork the repo and create your branch from the default repo branch.
2. If you've added code that should be tested, add tests.
3. If you've changed APIs, update the documentation.
4. Ensure the test suite passes.
5. Make sure your code lints.
6. Submit that pull request!

Consult
[Github Flow](https://docs.github.com/en/get-started/quickstart/github-flow) and
[About GitHub Pull Requests](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.

## Find a Good First Issue

A good way to familiarize yourself with the code base and successfully submit your first Pull Request is to [find an issue](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/) labeled `Good First Issue`.

Project leads carefully curate issues and label with `Good First Issue` only the ones that can be solved independently by new contributors such as yourself. Work at your own pace. You will not be dependant and waiting on other contributors to solve their open issues nor will you block contributors waiting on you. Take your time. Make a good first impression!

Having a successfully merged PR 🔐 unlocks the first level🌟 of access to the core team inner circles. Looking forward to meeting you there! 🙌

## Community Guidelines

Additional information and contribution guidelines is available in our [CODE OF CONDUCT](CODE_OF_CONDUCT.md).
