Skip to content

Commitizen adapter following the conventional-changelog format, with emojis. πŸŽ‰

License

Notifications You must be signed in to change notification settings

pvdlg/cz-conventional-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

cz-conventional-commit

commitizen adapter following the conventional-changelog format, with emojis and additionnal commit types (aliases).

Travis Codecov Greenkeeper badge license

Screenshot

Install as a global utility

npm install --global commitizen @metahub/cz-conventional-commit

Create a .czrc file in your home directory, with the following content:

{
  "path": "@metahub/cz-conventional-commit",
  "cz-conventional-commit": {
    "maxSubjectLength": 72,
    "bodyLineLength": 100
  }
}

Now cd into any git repository and use git cz instead of git commit and you will find the commitizen prompt.

See commitizen documentation for more informations.

Making your repo Commitizen-friendly

npm install --save-dev commitizen @metahub/cz-conventional-commit
./node_modules/.bin/commitizen init @metahub/cz-conventional-commit --save-dev

You can customize cz-conventional-commit in package.json:

...
"config": {
  "commitizen": {
    "path": "@metahub/cz-conventional-commit",
    "cz-conventional-commit": {
      "maxSubjectLength": 72,
      "bodyLineLength": 100,
      "emoji": true
    }
  }
}
...

See commitizen documentation for more informations.

Options

Option Description Default
maxSubjectLength Length at which to truncate the commit head (head includes type, scope, subject and emoji) 72
bodyLineLength Length at which to wrap body lines 100
emoji To add and emoji at the end of the commit message false

Commit types

Commit Type Title Description Emoji
feat Features A new feature ✨
fix Bug Fixes A bug Fix πŸ›
docs Documentation Documentation only changes πŸ“š
style Styles Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) πŸ’Ž
refactor Code Refactoring A code change that neither fixes a bug nor adds a feature πŸ“¦
perf Performance Improvements A code change that improves performance πŸš€
test Tests Adding missing tests or correcting existing tests 🚨
build Builds Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) πŸ› 
ci Continuous Integrations Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) βš™οΈ
chore Chores Other changes that don't modify src or test files ♻️
revert Reverts Reverts a previous commit πŸ—‘

Commit aliases

Aliases are additionnal commit types that will be formatted to follow AngularJS Commit Message Conventions and automatically set some fields.

For example when choosing initial, cz-conventional-commit will automatically set:

  • the standard type to feat
  • the scope to empty
  • the subject to 'Initial commit πŸŽ‰'
  • the issues to empty
  • the breaking to empty

The commit message will be feat: Initial commit πŸŽ‰.

Commit Type Type Scope (default) Subject (default) Emoji
initial feat empty Initial commit πŸŽ‰
dependencies fix package - ⏫
peerDependencies fix package - ⬆️
devDependencies chore package - πŸ”Ό
metadata fix package - πŸ“¦

Related