If you would like to contribute to this project, choose one of the following options.
###1. Submit an issue.
If you see a bug in the program or you would like a feature to be added, please submit an issue. For bugs, make sure you give a full description of what happened with as much detail about what happened. The goal here is to easily be able to replicate the issue so that it can be worked on and promptly fixed.
###2. You can submit code via Pull Request.
First things first when you're thinking about providing some code via pull request is to check if there's already an issue about it. This will prevent you from spending time on something that someone else is looking into. If there is no issue for what you want to work on, create one. In the issue, provide as much detail as possible (i.e use cases, how to replicate bug, etc.) to see if the change is really necessary.
One big thing to keep in mind is to keep your master copy clean. This means keep all of your changes off of your master copy and instead, create branches for any change you plan on making. Learn more about what I mean HERE. By keeping all of your changes in branches, it makes it easier for you to make seperate changes if your PR has not been merged yet.
If you're adding a new feature, you'll need:
- Your working code (obviously)
- Atleast 1 passing test
- Update to the README
If you're fixing a bug, make sure it doesn't break any existing code and check if the tests are passing before submitting your PR.
Make sure you submit your PR from your branch. This makes life easier for everyone involved. Don't stack a bunch of unrelated changes into 1 branch. Be liberal with your use of branches, they won't hurt you.