• Stars
    star
    829
  • Rank 55,018 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Emoji-Log — An Emoji Git commit log messages spec standard. [ 📦👌🐛📖🚀🤖 ‼️]

EMOJI-LOG

After building hundreds of open source software I've ended up inventing a git commit log standard called EMOJI-LOG that helps me understand a project's history with a less cognitive load just by looking at the git log.

emoji-log


Philosophy

PHILOSOPHY

I like emoji. I like ’em a lot. Programming, code, geeks/nerds, open-source, all of that is inherently dull and sometimes boring. Emoji (which is, in fact, the plural of emoji) helps me add colors and emotions to the mix. Nothing wrong if you want to attach feelings to this 2D flat text-based world of code. I found out that instead of memorizing hundreds of emoji it's better to keep the categories small and general.

  1. IMPERATIVE
    • Make your Git commit messages imperative.
    • Write a commit message like you're giving an order.
    • E.g., Use ✅ Add instead of ❌ Added.
    • E.g., Use Create instead of Creating.
  2. RULES
    • A small number of categories — easy to memorize.
    • Nothing more nothing less.
    • E.g. 📦 NEW, 👌 IMPROVE, 🐛 FIX, 📖 DOC, 🚀 RELEASE, 🤖 TEST, and ‼️ BREAKING
  3. ACTIONS
    • Make git commits based on the actions you take.
    • Use a good editor like VSCode to commit the right files with commit messages.

Start

GETTING STARTED

Only use the following Git Commit Messages. A simple and small footprint is critical here.

  1. 📦 NEW: IMPERATIVE_MESSAGE_GOES_HERE

    Use when you add something entirely new. E.g. 📦 NEW: Add Git ignore file

  2. 👌 IMPROVE: IMPERATIVE_MESSAGE_GOES_HERE

    Use when you improve/enhance piece of code like refactoring etc. E.g. 👌 IMPROVE: Remote IP API Function

  3. 🐛 FIX: IMPERATIVE_MESSAGE_GOES_HERE

    Use when you fix a bug — need I say more? E.g. 🐛 FIX: Case conversion

  4. 📖 DOC: IMPERATIVE_MESSAGE_GOES_HERE

    Use when you add documentation like README.md, or even inline docs. E.g. 📖 DOC: API Interface Tutorial

  5. 🚀 RELEASE: IMPERATIVE_MESSAGE_GOES_HERE

    Use when you release a new version. E.g. 🚀 RELEASE: Version 2.0.0

  6. 🤖 TEST: IMPERATIVE_MESSAGE_GOES_HERE

    Use when it's related to testing. E.g. 🤖 TEST: Mock User Login/Logout

  7. ‼️ BREAKING: IMPERATIVE_MESSAGE_GOES_HERE

    Use when releasing a change that breaks previous versions. E.g. ‼️ BREAKING: Change authentication protocol

— That's it for now. Nothing more nothing less.


More

THE WORKFLOW & MEANINGS

I'd like to share what each of these emojis mean.

  • 📦 NEW: Emoji meaning: A "package emoji" — which can contain new stuff.
  • 👌 IMPROVE: Emoji meaning: An "OK Hand emoji" — which is meant to appreciate an improvement.
  • 🐛 FIX: Emoji meaning: A "bug emoji" — which means there was a bug that got fixed.
  • 📖 DOCS: Emoji meaning: A "book emoji" — which means documentation or notes just like in a book.
  • 🚀 RELEASE: Emoji meaning: A "rocket emoji" — which is meant to show a new release/launch.
  • 🤖 TEST: Emoji meaning: A "robot emoji" — which says some test were run successfully.
  • ‼️ BREAKING: Emoji meaning: A "bangbang emoji" — which attracts attention to a breaking change.
VSCode Extension

If you use VSCode, then I have built an extension Emoji-Log for VSCode. This can help you write git commit messages quickly.

Bash/Zsh Workflow

For quick prototyping, I have made the following functions that you can add to your .bashrc/.zshrc files and use Emoji-Log quickly.

#.# Better Git Logs.
### Using EMOJI-LOG (https://github.com/ahmadawais/Emoji-Log).

# Git Commit, Add all and Push — in one step.
gcap() {
    git add . && git commit -m "$*" && git push
}

# NEW.
gnew() {
    gcap "📦 NEW: $@"
}

# IMPROVE.
gimp() {
    gcap "👌 IMPROVE: $@"
}

# FIX.
gfix() {
    gcap "🐛 FIX: $@"
}

# RELEASE.
grlz() {
    gcap "🚀 RELEASE: $@"
}

# DOC.
gdoc() {
    gcap "📖 DOC: $@"
}

# TEST.
gtst() {
    gcap "🤖 TEST: $@"
}

# BREAKING CHANGE.
gbrk() {
    gcap "‼️ BREAKING: $@"
}
gtype() {
NORMAL='\033[0;39m'
GREEN='\033[0;32m'
echo "$GREEN gnew$NORMAL — 📦 NEW
$GREEN gimp$NORMAL — 👌 IMPROVE
$GREEN gfix$NORMAL — 🐛 FIX
$GREEN grlz$NORMAL — 🚀 RELEASE
$GREEN gdoc$NORMAL — 📖 DOC
$GREEN gtst$NORMAL — 🧪️ TEST
$GREEN gbrk$NORMAL — ‼️ BREAKING"
}
Fish Shell Workflow

To install these functions for the fish shell, run the following commands:

function gcap; git add .; and git commit -m "$argv"; and git push; end;
function gnew; gcap "📦 NEW: $argv"; end
function gimp; gcap "👌 IMPROVE: $argv"; end;
function gfix; gcap "🐛 FIX: $argv"; end;
function grlz; gcap "🚀 RELEASE: $argv"; end;
function gdoc; gcap "📖 DOC: $argv"; end;
function gtst; gcap "🤖 TEST: $argv"; end;
function gbrk; gcap "‼️ BREAKING: $argv"; end;
funcsave gcap
funcsave gnew
funcsave gimp
funcsave gfix
funcsave grlz
funcsave gdoc
funcsave gtst
funcsave gbrk
Git Aliases

If you prefer, you can paste these aliases directly in your ~/.gitconfig file:

# Make sure you're adding under the [alias] block.
[alias]
  # Git Commit, Add all and Push — in one step.
  cap = "!f() { git add .; git commit -m \"$@\"; git push; }; f"

  # NEW.
  new = "!f() { git cap \"📦 NEW: $@\"; }; f"
  # IMPROVE.
  imp = "!f() { git cap \"👌 IMPROVE: $@\"; }; f"
  # FIX.
  fix = "!f() { git cap \"🐛 FIX: $@\"; }; f"
  # RELEASE.
  rlz = "!f() { git cap \"🚀 RELEASE: $@\"; }; f"
  # DOC.
  doc = "!f() { git cap \"📖 DOC: $@\"; }; f"
  # TEST.
  tst = "!f() { git cap \"🤖 TEST: $@\"; }; f"
  # BREAKING CHANGE.
  brk = "!f() { git cap \"‼️ BREAKING: $@\"; }; f"

Using

USING EMOJI-LOG

Here's a list of repos that make use of Emoji-Log.


AlfredSnippets

Alfred Snippets

Alfred PowerPack users can use the Snippets feature to quickly call Emoji-Log, or use the text expand feature for even quicker creation.

To setup:

  1. Have Alfred 3 with PowerPack installed
  2. For auto expansion, in Alfred Settings » Features » Snippets ensure the "Automatically expand snippets by Keyword" box is checked
  3. Download & open Emoji-Log.alfredsnippets, deselecting "Strip snippets of 'auto expand' flag" when prompted

This will give the following text expander keywords for the Emoji-Log:

Keyword Snippet
;gnew 📦 NEW:
;gimp 👌 IMPROVE:
;gfix 🐛 FIX:
;grlz 🚀 RELEASE:
;gdoc 📖 DOC:
;gtst 🤖 TEST:
;gbrk ‼️ BREAKING:

To edit the ; prefix to your preferred expansion flag, double click right click the Emoji-Log Collection in Alfred Settings » Features » Snippets.

TextExpander Snippets are also available. Download & open Emoji-Log.textexpander to import.


badge

EMOJI-LOG BADGE COLLECTION

If your repo uses EMOJI-LOG then you can add any of the following badges to your read me and send me a PR to list your repo here.


emoji-log

  • STYLE: Flat Square
  • MARKDOWN
[![emoji-log](https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/flat.svg)](https://github.com/ahmadawais/Emoji-Log/)
  • HTML
<a href="https://github.com/ahmadawais/Emoji-Log/"><img alt="emoji-log" src="https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/flat.svg" /></a>

emoji-log

  • STYLE: Flat Rounded
  • MARKDOWN
[![emoji-log](https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/flat-round.svg)](https://github.com/ahmadawais/Emoji-Log/)
  • HTML
<a href="https://github.com/ahmadawais/Emoji-Log/"><img alt="emoji-log" src="https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/flat-round.svg" /></a>

emoji-log

  • STYLE: Non-flat Rounded
  • MARKDOWN
[![emoji-log](https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/non-flat-round.svg)](https://github.com/ahmadawais/Emoji-Log/)
  • HTML
<a href="https://github.com/ahmadawais/Emoji-Log/"><img alt="emoji-log" src="https://cdn.rawgit.com/ahmadawais/stuff/ca97874/emoji-log/non-flat-round.svg" /></a>

👌

Sponsor

Me (Ahmad Awais) and my incredible wife (Maedah Batool) are two engineers who fell in love with open source and then with each other. You can read more about me here. If you or your company use any of my projects or like what I’m doing then consider backing me. I'm in this for the long run. An open-source developer advocate.


📃

License & Conduct


🙌

Connect

GitHub @AhmadAwais (follow) To stay up to date on free & open-source software

Twitter @MrAhmadAwais (follow) To get #OneDevMinute daily hot tips & trolls

YouTube AhmadAwais (subscribe) To tech talks & #OneDevMinute videos

Blog: AhmadAwais.com (read) In-depth & long form technical articles

LinkedIn @MrAhmadAwais (connect) On the LinkedIn profile y'all

More Repositories

1

create-guten-block

📦 A zero-configuration #0CJS developer toolkit for building WordPress Gutenberg block plugins.
JavaScript
3,154
star
2

corona-cli

🦠 Track the Coronavirus disease (COVID-19) in the command line. Worldwide for all countries, for one country, and the US States. Fast response time (< 100ms). To chat: https://twitter.com/MrAhmadAwais/
JavaScript
1,845
star
3

WPGulp

An advanced Gulp workflow for WordPress development with extensive documentation. Used by 40,000+ themes and plugins.
JavaScript
1,766
star
4

Gutenberg-Boilerplate

🔰 WordPress Gutenberg Boilerplate! — Easy to understand and extensively inline documented starter WordPress plugin for the new Gutenberg editor. Think of it like a create-react-app for WP Gutenberg. ——— I now recommend 🔥 ⚛‏ 📦 `create-guten-block` → https://Awais.dev/cgb
JavaScript
785
star
5

shades-of-purple-vscode

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple to go along with your VSCode. Reviewed by several designers and 75+ theme versions released to keep it updated. One of the top rated best VSCode themes on VS Code Marketplace. Download →
652
star
6

create-node-cli

📟 CLI to create new Node.js CLI applications in minutes not hours.
JavaScript
628
star
7

awesome-random-stuff

Collection of interesting things I find on the World Wide Web.
387
star
8

VSCode-Tips-Tricks

VSCode-Tips-Tricks Examples and Workflows to help you become a Visual Studio Code Power User →
JavaScript
189
star
9

wp-continuous-deployment

DevOps free Continuous-Deployment pipeline for WordPress plugins with GitHub Actions
JavaScript
170
star
10

ramadan-cli

CLI to check Sehar and Iftar times in Ramadan.
JavaScript
144
star
11

Node-CLI-Tips-Tricks

📟 NodeCLI.com repo with Node.js CLI best practices and production-ready tips & tricks.
JavaScript
144
star
12

WPGulpTheme

A theme to demonstrate simplest implementation of WPGulp Boilerplate. Practical implementation of WPGulp →
SCSS
140
star
13

Shades-of-Purple-iTerm2

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for iTerm2 & Zsh.
Shell
127
star
14

Advanced-Gulp-WordPress

An Advanced Gulp Workflow for WordPress themes. [🚨Deprecated in favour of WPGulp https://github.com/ahmadawais/WPGulp | STAR/FORK WPGulp instead]
PHP
122
star
15

WP-OOP-Settings-API

🛠 WP-OOP-Settings-API is a Settings API wrapper built with Object Oriented Programming practices.
PHP
97
star
16

WPSass

🍕 Use Sass with WordPress, Node NPM Script in SCSS flavour. Stop worrying about build tools, use this repo as a base to get started.
CSS
97
star
17

hacktoberfest

#Hacktoberfest + Git Resources | Contributions beginners just like you. Jump in! 🎯
91
star
18

gatsby-package-manager

Gatsby Package Manager (gpm) helps you install a Gatsby package with all of its dependencies.
JavaScript
91
star
19

_child

_child is a WordPress Child Theme Boilerplate
PHP
86
star
20

WPCustomize

🎩 WP Customize component related boilerplate theme and features implementation. Basic customizer controls, settings, implementation with focus on secure and sanitized data.
PHP
85
star
21

Sendy-PHP-API

🚀 Sendy PHP API Wrapper: Complete API interfacing.
PHP
82
star
22

wifi-pswd-cli

Get a saved WiFi password
JavaScript
76
star
23

github-stars-contributions

Log your GitHub Stars Contributions with the ease of a command line CLI
JavaScript
73
star
24

ReSass

💻📱🖥 Sass SCSS Responsive Media Queries Mixin for Eight Different Screen Sizes!
CSS
66
star
25

resize-optimize-images

🗃 Resize and optimize bmp, gif, jpeg, png, & tiff images in Node.js.
JavaScript
66
star
26

Sublime-WP-Customizer

🚀 Sublime Text package of snippets for WordPress Customizer. Helps you write standard WordPress code for Customizer with different kinds of snippets — in seconds.
PHP
59
star
27

Shades-of-Purple-Hyper

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Hyper Terminal.
JavaScript
51
star
28

cli-welcome

📟 Welcome header for Node.js CLI software.
JavaScript
49
star
29

WP-Shortcode-Boilerplate

A standardized, organized, modular foundation for building simple & basic shortcodes in form of a WordPress Plugins.
PHP
49
star
30

cli-alerts

[✔️ ℹ️ ⚠️ ✖] Cross platform CLI Alerts with colors & colored symbols for success, info, warning, error. Works on macOS, Linux, and Windows.
JavaScript
47
star
31

Emoji-Log-VSCode

Emoji-Log VSCode Extension — An Emoji Git commit log messages spec standard. [ 📦👌🐛📖🚀🤖 ‼️]
TypeScript
46
star
32

deno-beginner

🦕 Deno examples and projects for the free video course for deno beginners →
TypeScript
42
star
33

Neat

Neat is an advanced WordPress Base theme which uses Gulp, Sass etc. with auto theme package builder.
PHP
38
star
34

WP-REST-Allow-All-CORS

Allow all cross origin requests to your WordPress site's REST API.
PHP
38
star
35

Shades-of-Purple-Slack

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Slack.
34
star
36

this-in-JavaScript

🔰 Learn the concept of `this` in JavaScript! — [five concepts]
34
star
37

Styled-Responsive-Media-Queries

Responsive Media Queries for Emotion styled or styled-components — Standard size from Chrome DevTools.
JavaScript
33
star
38

WPAutoPot

📦 Auto Generate WordPress .POT (Portable Objects Template) files via NPM Scripts or Gulp.
JavaScript
32
star
39

cli-meow-help

🐈 Generate automagically formatted help text for `meow` CLI app helper.
JavaScript
32
star
40

dotfiles

A non-exhaustive collection of my dotfiles.
Shell
30
star
41

CF7-Customizer

👌 Customize, style and theme your WordPress Contact Forms. An intuitive plugin to design your contact forms via WordPress live customizer, right at the front-end.
PHP
29
star
42

WP-Welcome-Page-Boilerplate

WordPress plugin welcome page boilerplate!
PHP
24
star
43

WP-Salts-Update-CLI

Update WordPress salts through CLI all automated ;)
Shell
23
star
44

Cobalt3-iTerm

Cobalt3 Colour Scheme for iTerm2 + ZSH
Shell
22
star
45

vacation-rentals

It's like AirBNB for WordPress. A massive project that extends WordPress for Vacation Rentals booking, indexing, curating, etc.
PHP
20
star
46

cPanel-EasyEngine-Migrate-CLI

CEM CLI | cPanel to EasyEngine Migrate CLI
Shell
19
star
47

clear-any-console

📟 Cross platform console clear for your next Node.js CLI
JavaScript
18
star
48

lerna-tutorial

A tutorial for learning lerna.
Shell
18
star
49

shades-of-purple-google-chrome

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Google Chrome.
18
star
50

shades-of-purple-alacritty

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Alacritty.
17
star
51

WPImgOptimizer

WordPress image optimisation development workflow.
JavaScript
17
star
52

scrolls-top

Function that scrolls window to the top, smoothly.
JavaScript
16
star
53

Shades-of-Purple-HighlightJS

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for HighlightJS.
CSS
13
star
54

Proposal-Modern-Tooling

🛠️ A developer build tooling proposal for modern JavaScript based WordPress Core.
13
star
55

get-online-img

📥 Download an image by providing a URL and path in Node.js.
JavaScript
12
star
56

action-auto-changelog

Generate a changelog automatically for your npm packages with GitHub actions.
Shell
12
star
57

Shades-of-Purple-Konsole

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Konsole.
12
star
58

base16-shades-of-purple

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Base16.
11
star
59

tailwind-text-decoration-color

JavaScript
11
star
60

PTCL-CLI-Bash

PTCL-CLI: An intuitive PTCL-CLI to control PTCL routers via command line.
Shell
10
star
61

is-it-git

Checks if the current working directory is a git repository.
JavaScript
10
star
62

cli-handle-error

Custom error handler for Node.js CLIs.
JavaScript
10
star
63

sponsor

🙌 Sponsor Ahmad Awais on his full-time #OpenSourcerer journey of creating free software.
10
star
64

Twig-Tutorial

Twig Tutorial Theme based on Neat for Tuts+
PHP
10
star
65

GitHub-Fold

🗃️ Google Chrome Extension to fold/unfold GitHub repo files.
JavaScript
10
star
66

learn-react

Learn React.js with Awais.
HTML
10
star
67

ptcl-cli

📟 Control PTCL router via command line. [Reboot, Get Stats, Screenshot xDSL for complaints].
JavaScript
10
star
68

lwj-cli

Learn with Jason via CLI.
JavaScript
9
star
69

wordle-solved

wordle-solution by Awais
JavaScript
9
star
70

WP-Welcome-Page-Boilerplate-For-TutsPlus

Welcome page plugin boilerplate for Envato Tuts+ tutorial series.
PHP
9
star
71

base16-shades-of-purple-exported-themes

Exported themes from the Shades of Purple for Base16 color scheme.
Vim Script
9
star
72

WPGitDeploy-CLI

Deploy your WordPress plugin from GitHub to WordPress.org SVN repository.
Shell
8
star
73

Shades-of-Purple-IntelliJ

Work in progress Shades of Purple theme for IntelliJ
8
star
74

next-js-blog-with-comments

JavaScript
8
star
75

shades-of-purple-alfred

🦄 Shades of Purple — A professional theme with hand-picked & bold shades of purple for Alfred App.
8
star
76

wordle-solved-cli

wordle-solved-cli by Awais
JavaScript
8
star
77

nodecli

Node.js CLI Automation
JavaScript
7
star
78

gatsby-plugin-paddle

⚛️ Gatsby plugin that adds paddle.js to your site.
JavaScript
7
star
79

Gutenberg-Multi-Block-Webpack-ES6

WORK IN PROGRESS
JavaScript
7
star
80

sitemaps-compare

Compare two sitemaps by converting them to files with URLs and VSCode
JavaScript
7
star
81

gatsby-minimal-blog

Minimal blog made with React, Gatsby, Styled Components and a lot more.
JavaScript
7
star
82

ahmadawais

Hello, nice to meet you.
7
star
83

DotGitIgnore

My go to .gitignore file.
6
star
84

shadesOfPurpleIntellij

6
star
85

VuePress-Base

VuePress Docs site base with Shades of Purple set up.
6
star
86

has-fetch

Check if the client-side browser has the fetch API support.
JavaScript
6
star
87

Gutenberg-Blocks

❌ DEPRECATED in the favour of https://github.com/ahmadawais/Gutenberg-Boilerplate
PHP
6
star
88

stuff

👀 Random Stuff!
HTML
6
star
89

cli-check-node

Check the installed Node.js version and exit as per the required Node.js version.
JavaScript
6
star
90

is-dir-empty

Check if a directory is empty with Node.js. Promise based.
JavaScript
6
star
91

BR-CLI

BRCLI is a Backup & Restore CLI. It's built for self hosted VPS with EasyEngine for WP websites.
Shell
6
star
92

create-rapid-api

create-rapid-api by Awais
JavaScript
6
star
93

Talk_Personal_Development_for_a_WordPress_Developer

WordPress Meetup Lahore talk: Personal Development for a WordPress Developer
JavaScript
6
star
94

scarfit

Add scarf analytics to a Node pkg, git commit/push, and release an npm patch
JavaScript
6
star
95

wp-release-it

WordPress plugin release automation that works.
JavaScript
5
star
96

next-base

My custom Next.js base to start projects.
JavaScript
5
star
97

with-mdx-remote

JavaScript
5
star
98

gatsby-remark-better-embed-video

📺 Embed Videos (Youtube, Vimeo, VideoPress) in Gatsby via Markdown with better options.
JavaScript
5
star
99

Woo-Keep-The-Change

Woo Keep The Change plugin helps online store owners keep the change :) i.e. Total $50 instead of $49.28.
PHP
5
star
100

Install-WPGulp

🚀 Installs WPGulp for you. Downloads all the required files and installs node packages. [Node >= 8 and npm >= 5.3].
JavaScript
5
star