All contributions that help making this project better are welcome be it a simple spelling correction in the documentation or adding a complete new feature. Contributors are expected to create issues and discuss the changes well before opening the pull requests.
- Create a personal fork of the project on Github (if you haven't made any).
- Clone the fork on your local machine. Your remote repo on Github is called
origin
. - Add the original repository as a remote called
upstream
. - If you created your fork a while ago be sure to pull upstream changes into your local repository.
- Create a new branch to work on! For each small independent feature to be added, we expect separate branch. Branch from
develop
if it exists, else frommaster
. - Implement/fix your feature, comment your code.
- Follow the code style of the project, including indentation.
- Test your code well before pushing.
- Add or change the documentation as needed (in case you use some new methods, add resources for the same here)
- Squash your commits into a single commit with git's interactive rebase. Create a new branch if necessary.
- Push your branch to your fork on Github, the remote
origin
. - From your fork open a pull request in the correct branch. Target the project's
develop
branch if there is one, else go formaster
! - Once the pull request is approved and merged you can pull the changes from
upstream
to your local repo and delete your extra branch(es).
And last but not least: Always write your commit messages in the present tense. Your commit message should describe what the commit, when applied, does to the code – not what you did to the code.