Skip to content

Git Commit Guidelines

Commit Message Format

We use a combination of semantic commit messages and gitmoji:

<gitmoji> <type>(<scope>): <subject>

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

References