# Contribution guide

#### **Do you have questions? Did you find a bug?**

* Our GitHub [Issue Tracker](https://github.com/machinable-org/machinable/issues) is the place to look for help and ask questions.

* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/machinable-org/machinable/issues/new). Be sure to include as much relevant information as possible, like a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.

* Please follow the further discussion in case more information is needed or questions arise.

#### **Did you write a patch that fixes a bug?**

* Open a new GitHub pull request with the patch and send it to the master branch.

* Make sure all tests are passing; ideally add a regression test case.

* Make sure the PR updates the 'Unreleased' section of the [CHANGELOG.md](https://github.com/machinable-org/machinable/blob/master/CHANGELOG.md) with an honourable mention of yourself.

#### **Do you intend to add a new feature or change an existing one?**

* Suggest your change in an issue and offer to implement the feature. 

* Wait for positive feedback in order to avoid double work (maybe your idea is already in development).

* Implement and send a PR.

#### **Do you want to contribute to the machinable documentation?**

That's great, documentation improvements are always welcome! 

* Please send PR that propose changes to the docs directory
 
machinable is a team effort. We encourage you to pitch in and join us!

Thanks!