Thank you for investing your time in contributing to our project!
First of all, don't forget to read our Code of Conduct.
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
In this section, we'll talk about the "issue" part.
If you spot a problem, search if an issue is already open. If a related issue doesn't exist, you can open a new issue using the "Issues" tab.
When you create a new issue, use our issue template and fill every required informations.
If you want to solve an issue, search an existing issue and make a PR to fix it.
In this section, we'll talk about the "PR" part.
In this section, we'll not talk on "how to use git or github", we'll just talk about how we works with PR in this project.
Before creating a PR, search if a related PR is already open.
When you create a new PR, use our PR template and fill every required informations.
When you are editing our code to make a new PR, you must follow our standards.
One commit is one changes!
Commit namings:
- Your name is composed in 3 parts:
prefix(section): details
prefix
describe the type of changes.section
describe the part affected by your commit (flatcase).details
describe your changes (flatcase).
Prefixes:
build
- affects the build part (gradle, npm, etc)
ci
- affects the continuous integration (git, github actions, etc)
feat
- add a new feature
fix
- fix a bug
perf
- improves performance
refactor
- changes that brings no new functionality or performance improvements
style
- changes that do not alter function or semantics (indentation, formatting, etc.)
docs
- changes related to the documentations
test
- changes related to the test
The details part must not exceed 70 characters in length.
When your commit contains a breaking change, use this format: prefix(part)!: details
Understand the branch system is very important.
The default branch is main
and no one can push changes directly to this branch.
We must create a new branch and merge it through a PR if we want to modify the main
branch.
Branch namings:
- Your name is composed in 2 parts:
prefix/details
prefix
describe the type of changes. These are the same as the commits.details
describe your changes (kebab case).
Basically, you are not autorized to add tag to your changes.
We follow the semver.
So a tag is composed by: M.m.p
(e.g. 1.2.3).
M
is the major version.m
is the minor version.p
is the patch version.
Major is increased when a new breaking changes is introduced. Minor is increased when a new features is introduced. Patch is increased when other changes is introduced.
When you make your PR finished, we'll review your PR.
If everything is good, we'll merge it and close the PR.
If something is not good, we'll start a conversation and you must fix this before merging.