/Kama

πŸ’…πŸ½ Spice up your commit messages

Kama(Sutra) β™‹ Git Commit Msg

The reasons for these conventions:

  • πŸ”₯ spice up you commit messages
  • ⚑ less words in your commit history, more emojis
  • πŸ“ƒ automatic generating of the changelog
  • 🧭 simple navigation through git history (e.g. ignoring style changes)

Format of the commit message:

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

<issue number>
<body>

Example commit message:

πŸ†(middleware): ensure Range headers adhere more closely to RFC 2616

πŸ› #MIT-2310

Add one new dependency, use `range-parser` (Express dependency) to compute
range. It is more well-tested in the wild.

Message subject (first line)

The first line cannot be longer than 70 characters, the second line is always blank and other lines should be wrapped at 80 characters. The type and scope should always be lowercase as shown below.

Allowed <type> values:

  • πŸ”₯ (hot thing: new feature for the user, not a new feature for build script)
  • πŸ† (get fixed bug fix for the user, not a fix to a build script)
  • πŸ…± (spell dat changes to the documentation)
  • πŸ’ƒπŸΌ (got attitude formatting, missing semi colons, etc; no production code change)
  • πŸ‘ŒπŸΌ (round two refactoring production code, eg. renaming a variable)
  • πŸ‘… (taste me adding missing tests, refactoring tests; no production code change)
  • πŸ˜‡ (gotta do sometimes updating grunt tasks etc; no production code change)
  • 🍾 (updating grunt tasks etc; no production code change)

Example <scope> values:

  • init
  • runner
  • watcher
  • config
  • web-server
  • proxy
  • etc.

The <scope> can be empty (e.g. if the change is a global or difficult to assign to a single component), in which case the parentheses are omitted. For example, when updating a package the <scope> is empty e.g. πŸ˜‡: Update MyPackage to 1.2.3

Message body πŸ‘―β€β™€οΈ

  • Confidence is sexy: uses the imperative, present tense: β€œchange” not β€œchanged” nor β€œchanges”.
  • Calculate your moves includes motivation for the change and contrasts with previous behavior

For more info about message body, see:

Breaking changes πŸ’”

All breaking changes have to be mentioned in footer with the description of the change, justification and migration notes.

BREAKING CHANGE:

`port-runner` command line option has changed to `runner-port`, so that it is
consistent with the configuration file syntax.

To migrate your project, change all the commands, where you use `--port-runner`
to `--runner-port`.

Issue Number πŸ”’

Referencing issues

Closed issues should be listed on a separate line prefixed with "πŸ›"(put to bed) emoji like this:

πŸ› #234

or in the case of multiple issues:

πŸ› #123, #245, #992

For Windows: win + . opens up the emoji keyboard.

This document is based on Karma Git Commit Msg Convention. See the [commit history] for examples of properly-formatted commit messages.