Skip to content

Latest commit

 

History

History
101 lines (82 loc) · 5.95 KB

README.md

File metadata and controls

101 lines (82 loc) · 5.95 KB

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