# Guidance on how to contribute

**First of all! Thank you for your contribution to this project, it's very welcome! Let's make it cool and useful for everyone!**

There are two primary ways to help:
 - Using the issue tracker, and
 - Changing the code-base.

## Using the issue tracker

Use the issue tracker to suggest feature requests, report bugs, and ask questions.
This is also a great way to connect with the developers of the project as well
as others who are interested in this solution.

Use the issue tracker to find ways to contribute. Find a bug or a feature, mention in
the issue that you will take on that effort, then follow the _Changing the code-base**
guidance below.


## Changing the code-base

Generally speaking, you should fork this repository, make changes in your
own fork, and then submit a pull-request. All new code should have associated unit tests that validate implemented features and the presence or lack of defects.

Additionally, the code should follow any stylistic and architectural guidelines
prescribed by the project. In the absence of such guidelines, mimic the styles
and patterns in the existing code-base.

## Updating changelog

When you open a pull-request it's import to add your changes to **Unreleased** section in our CHANGELOG file respecting `Added`, `Changed` and `Removed` subsections (take a look [here](http://keepachangelog.com/en/1.0.0/) for more information). It helps us to keep on track (and other people) about what we'll publish in our next release and what we have published in previous releases.
