Git Commit Guidelines¶
Commit Message Format¶
We use a combination of semantic commit messages and gitmoji:
Example: โจ feat(auth): add login functionality
Where:
- <gitmoji> - An emoji that visually indicates the purpose of the commit
- <type> - Describes the category of the change (feat, fix, docs, etc.)
- <scope> - (Optional) Describes what part of the codebase is affected
- <subject> - Brief description in present tense
Note: While we recommend following these guidelines, we don't enforce strict adherence. The primary goal is clear, informative commit messages. Use this format as a helpful template rather than a rigid requirement.
Semantic Types¶
| Type | Description |
|---|---|
| feat | A new feature for the user |
| fix | A bug fix for the user |
| docs | Documentation changes |
| style | Formatting changes (no code change) |
| refactor | Code changes that neither fix bugs nor add features |
| test | Adding or modifying tests |
| chore | Changes to build process or auxiliary tools |
Gitmoji Reference¶
| Emoji | Code | Description |
|---|---|---|
| ๐จ | :art: |
Improve structure / format of the code |
| โก๏ธ | :zap: |
Improve performance |
| ๐ฅ | :fire: |
Remove code or files |
| ๐ | :bug: |
Fix a bug |
| ๐๏ธ | :ambulance: |
Critical hotfix |
| โจ | :sparkles: |
Introduce new features |
| ๐ | :memo: |
Add or update documentation |
| ๐ | :rocket: |
Deploy stuff |
| ๐ | :lipstick: |
Add or update the UI and style files |
| ๐ | :tada: |
Begin a project |
| โ | :white_check_mark: |
Add, update, or pass tests |
| ๐๏ธ | :lock: |
Fix security or privacy issues |
| ๐ | :closed_lock_with_key: |
Add or update secrets |
| ๐ | :bookmark: |
Release / Version tags |
| ๐จ | :rotating_light: |
Fix compiler / linter warnings |
| ๐ง | :construction: |
Work in progress |
| ๐ | :green_heart: |
Fix CI Build |
| โฌ๏ธ | :arrow_down: |
Downgrade dependencies |
| โฌ๏ธ | :arrow_up: |
Upgrade dependencies |
| ๐ | :pushpin: |
Pin dependencies to specific versions |
| ๐ท | :construction_worker: |
Add or update CI build system |
| ๐ | :chart_with_upwards_trend: |
Add or update analytics or track code |
| โป๏ธ | :recycle: |
Refactor code |
| โ | :heavy_plus_sign: |
Add a dependency |
| โ | :heavy_minus_sign: |
Remove a dependency |
| ๐ง | :wrench: |
Add or update configuration files |
| ๐จ | :hammer: |
Add or update development scripts |
| ๐ | :globe_with_meridians: |
Internationalization and localization |
| โ๏ธ | :pencil2: |
Fix typos |
| ๐ฉ | :poop: |
Write bad code that needs to be improved |
| โช๏ธ | :rewind: |
Revert changes |
| ๐ | :twisted_rightwards_arrows: |
Merge branches |
| ๐ฆ๏ธ | :package: |
Add or update compiled files or packages |
| ๐ฝ๏ธ | :alien: |
Update code due to external API changes |
| ๐ | :truck: |
Move or rename resources (e.g.: files, paths, routes) |
| ๐ | :page_facing_up: |
Add or update license |
| ๐ฅ | :boom: |
Introduce breaking changes |
| ๐ฑ | :bento: |
Add or update assets |
| โฟ๏ธ | :wheelchair: |
Improve accessibility |
| ๐ก | :bulb: |
Add or update comments in source code |
| ๐ป | :beers: |
Write code drunkenly |
| ๐ฌ | :speech_balloon: |
Add or update text and literals |
| ๐๏ธ | :card_file_box: |
Perform database related changes |
| ๐ | :loud_sound: |
Add or update logs |
| ๐ | :mute: |
Remove logs |
| ๐ฅ | :busts_in_silhouette: |
Add or update contributor(s) |
| ๐ธ | :children_crossing: |
Improve user experience / usability |
| ๐๏ธ | :building_construction: |
Make architectural changes |
| ๐ฑ | :iphone: |
Work on responsive design |
| ๐คก | :clown_face: |
Mock things |
| ๐ฅ | :egg: |
Add or update an easter egg |
| ๐ | :see_no_evil: |
Add or update a .gitignore file |
| ๐ธ | :camera_flash: |
Add or update snapshots |
| โ๏ธ | :alembic: |
Perform experiments |
| ๐๏ธ | :mag: |
Improve SEO |
| ๐ท๏ธ | :label: |
Add or update types |
| ๐ฑ | :seedling: |
Add or update seed files |
| ๐ฉ | :triangular_flag_on_post: |
Add, update, or remove feature flags |
| ๐ฅ | :goal_net: |
Catch errors |
| ๐ซ | :dizzy: |
Add or update animations and transitions |
| ๐๏ธ | :wastebasket: |
Deprecate code that needs to be cleaned up |
| ๐ | :passport_control: |
Work on code related to authorization, roles and permissions |
| ๐ฉน | :adhesive_bandage: |
Simple fix for a non-critical issue |
| ๐ง | :monocle_face: |
Data exploration/inspection |
| โฐ๏ธ | :coffin: |
Remove dead code |
| ๐งช | :test_tube: |
Add a failing test |
| ๐ | :necktie: |
Add or update business logic |
| ๐ฉบ | :stethoscope: |
Add or update healthcheck |
| ๐งฑ | :bricks: |
Infrastructure related changes |
| ๐งโ๐ป | :technologist: |
Improve developer experience |
| ๐ธ | :money_with_wings: |
Add sponsorships or money related infrastructure |
| ๐งต | :thread: |
Add or update code related to multithreading or concurrency |
| ๐ฆบ | :safety_vest: |
Add or update code related to validation |
| โ๏ธ | :airplane: |
Improve offline support |
Examples¶
โจ feat(auth): add login page
๐ fix(database): resolve connection timeout issue
๐ docs: update installation instructions
๐จ style: format code according to linting rules
โป๏ธ refactor(api): simplify request handling logic
โ
test: add unit tests for date formatter
๐ง chore: update dependency versions