Skip to content

cfuendev/gitmoji-syntax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

cfuen's gitmoji syntax + builder
Gitmoji Gitmoji

Just a simple commit message format/syntax based on the gitmoji standard + small builder webapp to quickly build commit messages based on it

what?

So, people like to use emojis in their commit messages, right? Looks pretty

And there's this cool website called Gitmoji which acts as both a standard and dictionary for commit message emojis, searchbar and all.

However, I wanted to stadardize the emojis I use in my git commits so that they require less search time and are easy to index and search through.

For this, I created

  • a little format to prefix your commit messages text using gitmojis
  • a small web app that lets you construct simple commit messages prefixed by emojis from the gitmoji website.

how?

As of v.1.0 (First version) there's 4 categories:

  • Project Stage: Reflects the stage of the project that this commit marks. They're few and optional.
  • Commit Type: Explains the type of code/changes that make up the commit. Mandatory.
  • Commit Area: Explains the specific part of the codebase that is being worked on. Mandatory. Up to 2.
  • Misc: Not the most explanatory but fun to use. Optional.

The syntax is as follows:

[Project Stage] <Commit Type> <Commit Area> [Commit Area 2] [Misc.]

The format and categories would not only make it so that a small subset of these emojis (The most common/general ones, making them easier to remember and taking less space in your memory unless you REALLY needed a specific type of emoji), It'd also make the emojis in your commit messages a bit more expressive, acting as tags that identify the type of commit/feature or the part of your code being worked on without having to explicitly state it.

List of Emojis (Click to open)

Project Stage (Max. 1)

  • BEGIN PROJECT - 🎉
  • UNFINISHED (WIP) - 🚧
  • DEPLOYMENT - 🚀
  • RELEASE - 🔖

Commit Type (Max. 1)

  • NEW FEATRUE - ✨
  • BIG ISSUE/FIX - 🐛
  • MINOR ISSUE/FIX - 🩹
  • OPTIMIZATION - ⚡
  • REFACTORING - ♻️

Commit Areas (Max. 2)

Front-end

  • UI STUFF - 💄
  • RESPONSIVITY - 📱
  • SEO - 🔍

Back-end

  • AUTH - 🛂

DevOps and QA

  • CI PIPELINE - 👷
  • TESTING - 🧪
  • COMPILED FILES / PACKAGES - 📦

General

  • TYPES - 🏷️
  • I18N - 🌐
  • A11Y - ♿
  • DEV TOOLING - 🔨
  • DATASOURCES - 🗃️
  • ASSETS / CONTENT - 🍱
  • CONFIGURATION - 🔧
  • FORMATTING / READABILITY - 🎨
  • COMMENTS - 💡
  • DOCS - 📝

Misc.

  • DRUNKEN / HIGH - 🍻
  • BAD CODE - 💩
  • TYPO - ✏️

why? (philosophy)

Gitmoji doesn't need a custom syntax or categorization

You could argue that this is complicating things, since gitmoji suggests the use of a single emoji in every commit message, :

<intention> [scope?][:?] <message>

I understand this is simple and more than enough for most people who just want to write code and commit whatever in order to make it look pretty, however it is just a proposal of the ways emojis can be used and I think it's cool to use at least two emojis in every commit, since that way you can more clearly understand the scope of the code being pushed to the repo. Plus categorizing things takes out the need to search their website, specially if you can have a quick tool like the one I made.

Gitmoji has a CLI tool

I haven't checked it out, and it seems like it simplifies the process. However I want to have a middle point between the website (Which is a nice quick tool to grab emojis to use) and the CLI, which "hijacks" your committing flow by asking you to use it's interactive commands that wrap around git, or integrating the pre-commit hook.

Besides -despite following gitmoji's own standard for what emojis correspond to what types of commits/commit scopes- my categorization and syntax are a little opinionated, and the webapp directly assists in said opinionated use of the emojis.

About

simple commit message syntax + builder webapp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages