First off, thanks for taking the time to contribute!
Please read through our Installation Instructions.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the core team before making a change.
- Make sure you have a GitHub account.
- Submit a GitHub issue for your issue if one does not already exist.
- A issue is not necessary for trivial changes.
- Fork the repository on GitHub.
- Configuring a remote for a fork
- Syncing a fork
git fetch upstream
git checkout master
git merge upstream/master
- Merging an upstream repository into your fork
git checkout master
git pull upstream master
- Commit the merge
git push origin master
- When working on an issue, create a new branch from
master
named for issue number or custom name. Name the branchissue/<issue-number>
orissue/<custom-name>
. For exampleissue/22
for fixing issue #22. - Make your changes.
- Follow the Style Guides.
- Avoid platform-dependent code.
- Add tests if your changes contains new, testable behavior.
- Make the tests pass.
- Create a pull request to the repository.
main
is the latest, deployed version
Start by looking through these issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two. Issues are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have.
- TODO issues - find comments with keyword
TODO
in the source code, with a description of a issue, and suggestions to resolve it.
- Include an issue number to the beginning of the first line (if applicable). Example
#234 YOUR_COMMIT_NAME
. - Use the present tense ("Add feature" not "Added feature").
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- In case changing only texts or documentations include
[ci skip]
to the end of the first line. - Limit the first line to 72 characters or less.
- Reference issues and pull requests liberally after the first line.
All *.md
files must adhere to Markdown Syntax.
Kotlin Code MUST adhere to Kotlin Coding Conventions.
Recommended IDE: