Skip to content

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.

A commit message should follow the format:

text
<intention> [scope?][:?] <message>
  • <intention>: The intention you want to express with the commit, using an emoji from the GitMoji list. Either in the :shortcode: or Unicode format.
  • [scope?][:?]: An optional string that adds contextual information for the scope of the change. If present, it should be followed by a colon.
  • <message>: A brief explanation of the change.

Examples for possible commit messages:

  • πŸ› Fix error while user image is loading
  • ✨ Add user registration dialog
  • πŸ“ 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.

PrefixGitmojiDescriptionExampleLabels
feature/✨Implementing a new feature or major functionalityfeature/user-authentication✨ Enhancement
fix/πŸ›Fixing a bug, issue, or regressionfix/crash-on-startupπŸ› Bug, πŸš‘οΈ Hotfix
docs/πŸ“Documentation updates or improvementsdocs/api-usage-guideπŸ“ Documentation
refactor/♻️Code refactoring without changing existing behaviorrefactor/database-layer♻️ Refactor
ui/πŸ’„User interface or experience improvementsui/button-alignmentπŸ’„ UI/UX
security/πŸ”’οΈFixing or improving security-related functionalitysecurity/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.

LabelDescriptionColor
✨ EnhancementNew feature or request#eeff00
πŸ› BugSomething isn't working as intended#ff4545
πŸš‘οΈ HotfixCritical or emergency fix#b60205
πŸ”’οΈ SecurityAddress security vulnerabilities#b60205
πŸ“Œ DependenciesExternal library or package updates#4da0ff
πŸ“ DocumentationImprovements or additions to documentation#005999
♻️ RefactorCode improvements without changing function#009600
πŸ’„ UI/UXChanges related to the user interface and experience#ff2590
πŸ› οΈ MaintenanceGeneral maintenance and updates#545454
πŸ—οΈ BackendChanges related to Backend#ff7f00
πŸ—οΈ FrontendChanges related to Frontend#ff7f00
πŸ—οΈ CIT-EAIChanges related to CIT-EAI#ff7f00