Thank you for your interest in this project! Before diving into too much work, it's a good idea to have a conversation about the changes you would like to make and the easiest way to start a conversation about a feature or bug is by creating an issue in the tracker.
- Fork the repository, then clone your fork. Recommended: add the original repo as the upstream to ensure that you are tracking the latest changes.
- Create a branch off of master for your bug or feature.
- Make your code changes. It is considered best-practice (and proper coding etiquette) to keep your changes scoped to a single problem. If you're dealing with several issues, consider submitting multiple pull requests.
- Please add tests when possible/relevant; run the existing tests via
mix test
to ensure that your changes didn't break existing functionality. - Run
mix format
to adjust the file formatting in a uniform way. - Before you make your pull request, it's a good idea to pull down the latest changes from the upstream master and merging these into your branch to ensure that any conflicts are properly resolved.
- Push your local branch to your remote.
- Open a pull request from your fork's feature or bug branch to the original's master branch.
Note: Merge or rebase? I prefer the simplicity of merges unless you have a really compelling reason to use rebase. When your pull request is closed, I will probably squash the commits, but I'm not too worried about having lots of commits on an open-source project.
Thank you!