- Familiarize yourself with the codebase.
- Create a new issue before starting your project so that I can keep track of what you are trying to add/fix. That way, I can also offer suggestions or let you know if there is already an effort in progress. I will let you know when you're good to go to start.
- Fork this repository.
- The README has details on how to set up your environment.
- Create a topic branch in your fork based on the correct branch (usually the main branch. Note, this step is recommended but technically not required if contributing using a fork.
- Edit the code in your fork.
- Send us a pull request when you are done. I'll review your code, suggest any needed changes, and merge it in.
- I work in
main
. - Released (aka. production) branch is
main
. - Work happens in topic branches (feature and/or bug-fix).
- feature as well as bug-fix branches are based on
main
- branches should be kept up-to-date using
rebase
- see below for further merge instructions
- feature as well as bug-fix branches are based on
-
I try to limit merge commits as much as possible.
-
Topic branches are:
- based on
main
and will be - squash-merged into
main
.
- based on
- Develop features and bug fixes in topic branches.
- Topic branches can live in forks (external contributors) or within this repository (committers).
** When creating topic branches in this repository please prefix with
<developer-name>/
.
- Pull request merging is restricted to squash & merge only.