Skip to content

Latest commit

 

History

History
92 lines (71 loc) · 4.3 KB

CONVENTIONAL_COMMIT.md

File metadata and controls

92 lines (71 loc) · 4.3 KB

Conventional Commit

IMPORTANT: This is a draft

The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history.

Commit Message Format

Each commit message consists of a header, an optional URL list , an optional body and an optional footer. The header has a special format that includes a type, a scope and a subject:

<type>[optional scope]: <description>
[optional URL list]
[optional body]
[optional footer(s)]

The header is mandatory and the scope of the header is optional.

The optional URL list contains some links to github issue or to the forum and documents which issues or features is concerned by this commit.

Type

Must be one of the following:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing test
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

Scope

Subject

The subject contains succinct description of the change:

  • use the imperative, present tense: "change" not "changed" nor "changes"
  • don't capitalize first letter
  • no dot (.) at the end

Gitmoji Usage

Gitmoji provides a visual and expressive way to enhance commit messages by including emojis that represent the intent of the changes. It can be used alongside the Conventional Commit specification to add more clarity and fun to commit history.

Each Gitmoji corresponds to a specific type of change:

Emoji Description Conventional Commit Type
Introducing new features feat
🐛 Fixing a bug fix
📝 Writing or updating documentation docs
🎨 Improving code structure/style style
♻️ Refactoring code refactor
⚡️ Improving performance perf
Adding or updating tests test
🔧 Changes to configuration files chore
🚀 Deployment-related changes chore
🔒 Fixing security issues fix
🌱 Adding or updating a seed file chore
🔥 Removing code or files chore
🚧 Work in progress (WIP) chore
📦️ Add or update compiled files or packages chore
⚗️ Perform experiments chore
🎉 Publish an official release chore
👷 Add or update CI build system chore
📸 Snapshot or preview release chore
🐾 Small, incremental changes or tweaks chore

Guidelines for Using Gitmoji

  • Place the corresponding emoji at the beginning of the description in the commit message header.
  • Ensure the emoji aligns with the type and purpose of the change.
  • Ensure a space is added immediately after the emoji.
  • Examples:
    • ✨ feat: add user authentication module
    • 🐛 fix: resolve issue with null pointer exception
    • 🌱 chore: add initial database seed script
    • 📝 docs: update README with installation instructions
    • 🔥 chore: remove deprecated API endpoints

Using Gitmoji is optional but can make commit messages more engaging and informative.