English | 简体中文
-
Submit an issue describing the changes you want to implement. If it's only minor changes/bug-fixes, you can skip to step 3.
-
After the scope was discussed in the issue, assign it to yourself. It should show up in the "To do" column in the OpenBot project.
-
Fork the project and clone it locally:
git clone https://github.com/<user_id>/OpenBot.git
-
Create a branch:
git checkout -b <branch-name>
where
<branch-name>
concisely describes the scope of the work. -
Do the work, write good commit messages, push your branch to the forked repository:
git add <modified file> git commit -m <meaningful description> git push --set-upstream origin <branch-name>
-
Create a pull request in GitHub and link the issue to it. It should show up in the "In progress" column in the OpenBot project.
-
Work on any code review feedback you may receive and push it to your fork. The pull request gets updated automatically.
-
Get a cold drink of your choice to reward yourself for making the world a better place.
- Use same style and formatting as rest of code.
- For the Java (Android) and Python code see below.
- For any other code, just try to blend in.
- Update documentation associated with code changes you made.
- If you want to include 3rd party dependencies, please discuss this in the issue first.
- Pull requests should implement single features with as few changes as possible.
- Make sure you don't include temporary or binary files (the gitignores should mostly take care of this).
- Rebase/merge master into your branch before you submit the pull request.
- If possible, test your code on Windows, Linux and OSX.
We use a gradle script for formatting java code. Make sure you are in the android
directory.
You can check your code with:
./gradlew checkStyle
You can apply the style to all files by running:
./gradlew applyStyle
We use black for formatting python code.
You can check your code in the current directory with:
black --check .
You can apply the style to all files in the current directory by running:
black .
If you are looking for more information about contributing to open-source projects, here are two good references:
Thank you very much!