# How to Contribute

## Getting Started

* Make sure you have a GitHub account
* Make sure you have a travis-ci account
* **Add an issue to the github site**. Discuss the problem you are fixing with the maintainer.
  * Has the issue already been discussed on the GitHub issues page?
  * Be detailed and focused

## Making changes

* Fork the Mashtree repo
* Create your own new branch and name it with something descriptive and your username, e.g., `lskatz-fix-dendrogram-formatting`.
* Fix the issue on your new branch
  * Make commits of logical and atomic units
  * Add any new unit tests to help with longetivity. Unit tests have a file extension `.t` and are written in perl.  More details on unit testing can be found here: https://perldoc.perl.org/Test/More.html
  * If the unit test(s) show any errors on your local computer or Travis-CI, then fix these errors.
* Make a pull request when all unit tests show no errors.

