Thanks for deciding to contribute to our initiative, here are few ways to contribute to Limknow:
You can report a bug or suggest a new feature by opening an issue on our repository.
- Go to our issue tracker
- Open a new issue with suitable template ( report bug / request feature )
- Fill the template and submit the issue Note: If you feel that exisiting templates are not appropriate for your issue feel free to open a blank issue and use it explain your issue in detail.
You can contribute to the codebase by solving issues in the repository. In case you think there is a need to create a new issue feel free to create a new issue by following guidelines in Report a problem or suggestion section. Once you have found an appropriate issue proceed to further steps:
- Comment on the issue that you would like to work on it.
- If no one else is working on that issue a maintainer will review your comment and assign you the issue.
- Once the issue is assigned to you:
- Fork the repository to your profile
- Clone the fork on your local
$ git clone [email protected]:yourname/LimKnow-Pilot.git
- Don't modify or work on the master branch, we'll use it to always be in sync with Limknow-Pilot upstream.
$ git remote add upstream [email protected]:zhukov/webogram.git
$ git fetch upstream
- Make changes on a new feature branch with name in following format:
#issue-number-some-description
for e.g23-ui-fix
$ git checkout -b 23-ui-fix
- Once you are done with all the changes commit the changes. In case you have done multiple commits on your feature branch
squash
them in a single commit. e.g:
$ git add .
$ git commit -m "Beautified Navigation fixes #23"
$ git push origin 23-ui-fix
- Push the changes to your fork and raise a Pull Request.
- In the PR title mention the issue number you have worked on for eg.
Fixes #23 Changed UI
- In the Issue body mention all the details you think your reviewer should know.
- In the PR title mention the issue number you have worked on for eg.
- Depending on your PR the reviewer may request you to make some changes, once everything looks good a reviewer will merge your PR.
Sometimes when you submit a PR, you will be asked to correct some code. You can make the changes on your work branch and commit normally and the PR will be automatically updated.
$ git commit -am "Ops, fixing typo"
Once everything is OK, you will be asked to merge all commit messages into one to keep history clean.
$ git rebase -i master
Edit the file and mark as fixup (f) all commits you want to merge with the first one:
pick 1c85e07 Beautified Navigation fixes #23
f c595f79 Ops, fixing typo
Once rebased you can force a push to your fork branch and the PR will be automatically updated.
$ git push origin 23-ui-fix --force
$ git rebase -i master
To keep your local master branch updated with upstream master, regularly do:
$ git fetch upstream
$ git checkout master
$ git pull --rebase upstream master
To update the branch you are coding in:
$ git checkout improve-contacts-99
$ git rebase master
We have a seperate repository for the AR models used in LimKnow, please refer to its contributing guidelines.