Contributing conventions โ
To maintain a consistent and organized codebase, we have established the following conventions for contributing to our project. Please adhere to these guidelines when making contributions.
Commit Messages โ
We use the GitMoji convention for commit messages. This helps us maintain clarity and consistency in our commit history. So a commit message in our Project consists of <intention> [scope?][:?] <message>
intention: The intention you want to express with the commit, using an emoji from the list. Either in the :shortcode: or unicode format.
scope: An optional string that adds contextual information for the scope of the change (which we do not use in this project).
message: A brief explanation of the change.
Here are some examples for possible Commits:
๐ Fix error while user image is loading
โจ Add editing todos
๐ Update README with new installation instructions
Branch Naming โ
When creating branches for your contributions, please use one of the following prefixes to indicate the type of work being done. This helps in categorizing and understanding the purpose of each branch at a glance.
Prefix | Gitmoji | Description | Example | Labels |
---|---|---|---|---|
feature/ | โจ | Implementing a new feature or major functionality | feature/user-authentication | โจ Enhancement |
fix/ | ๐ | Fixing a bug, issue, or regression | fix/crash-on-startup | ๐ Bug, ๐๏ธ Hotfix |
docs/ | ๐ | Documentation updates or improvements | docs/api-usage-guide | ๐ Documentation |
test/ | ๐งช | Adding or updating tests (unit, integration, etc.) | test/user-service-tests | ๐งช Testing |
refactor/ | โป๏ธ | Code refactoring without changing existing behavior | refactor/database-layer | โป๏ธ Refactor |
ui/ | ๐ | User interface or experience improvements | ui/button-alignment | ๐ UI/UX |
ci/ | ๐ท | CI/CD or automation pipeline changes | ci/update-pipeline | ๐ท CI/CD |
config/ | ๐ง | Configuration file changes or updates | config/update-env-variables | ๐ง Configuration |
security/ | ๐๏ธ | Fixing or improving security-related functionality | security/fix-token-leak | ๐๏ธ Security |
chore/ | ๐ ๏ธ | General maintenance, dependency updates, tooling, etc. | chore/improve-logging | ๐ ๏ธ Maintenance |
Labels โ
When creating pull requests and issues , please use the appropriate labels to categorize your changes. This helps maintainers quickly understand the nature of your contribution. The labels should match the prefixes used in branch naming.
Label | Description | Color | Branch Prefix |
---|---|---|---|
โจ Enhancement | New feature or request | #eeff00 | feature/ |
๐ Bug | Something isn't working as intended | #ff4545 | fix/ |
โ ๏ธ Mistake | Mistake that doesn't influence usability | #ff4545 | fix/ |
๐๏ธ Hotfix | Critical or emergency fix | #b60205 | fix/ |
๐๏ธ Security | Address security vulnerabilities | #b60205 | security/ |
๐ Dependencies | External library or package updates | #4da0ff | chore/ |
๐ Documentation | Improvements or additions to documentation | #005999 | docs/ |
โป๏ธ Refactor | Code improvements without changing function | #009600 | refactor/ |
๐งช Testing | Add or improve tests | #00ff15 | test/ |
๐ UI/UX | Changes related to the user interface and experience | #ff2590 | ui/ |
๐ท CI/CD | Changes related to continuous integration/deployment | #00fff0 | ci/ |
๐ง Configuration | Changes to configuration files or settings | #868686 | config/ |
๐ ๏ธ Maintenance | General maintenance and updates | #545454 | chore/ |
โ๏ธ Request Build | Requests a build | #00ff9d | - |
๐ง Size Analysis | Request for size analysis of the APK (only alongside a build request) | #00a164 | - |
๐ฌ Discussion | Open discussion or brainstorming | #6f22ff | - |
โ Question | Further information is requested | #a16eff | - |
โ Wontfix | This will not be worked on | #ffffff | - |
๐ Duplicate | This issue or pull request already exists | #bbbbbb | - |
๐ง Work in Progress | This is not yet complete | #ffa500 | - |
Note: The labels without a branch prefix are used for issues and pull requests that do not correspond to a specific branch type, such as discussions or questions.