<!-- omit in toc -->
# Contributing to RecoverPy

First off, thanks for taking the time to contribute! ❤️

All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution.

> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
> - Star the project
> - Tweet about it
> - Mention the project at local meetups and tell your friends/colleagues

<!-- omit in toc -->
## Table of Contents

- [I Have a Question](#i-have-a-question)
- [I Want To Contribute](#i-want-to-contribute)
  - [Reporting Bugs](#reporting-bugs)
  - [Suggesting Enhancements](#suggesting-enhancements)
  - [Pull requests](#pull-requests)


## I Have a Question

Before you ask a question, it is best to search for existing [Issues](https://github.com/PabloLec/RecoverPy/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue.

If you then still feel the need to ask a question and need clarification:

- Open an [Issue](https://github.com/PabloLec/RecoverPyissues/new).
- Provide as much context as you can about what you're running into.
- Provide project and platform versions, depending on what seems relevant.

## I Want To Contribute

> ### Legal Notice <!-- omit in toc -->
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.

### Reporting Bugs


- Open an [Issue](https://github.com/PabloLec/RecoverPy/issues/new).
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own.
- Provide information about OS, Platform and Version.

### Suggesting Enhancements


Enhancement suggestions are tracked as [GitHub issues](https://github.com/PabloLec/RecoverPy/issues).

- Use a **clear and descriptive title** for the issue to identify the suggestion.
- Provide a **description of the suggested enhancement** in as many details as possible.
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you.
- **Explain why this enhancement would be useful** to most RecoverPy users. You may also want to point out the other projects that solved it better and which could serve as inspiration.

### Pull requests

- PRs are always welcome, please consider opening an [issue](https://github.com/PabloLec/RecoverPy/issues/new) first.
- Current coding style is `black`.
- Add relevant documentation.
- Make sure the unit tests pass and add new unit tests if you are adding a new feature.
