Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
npx git-cz
# or
npx git-cz -e
npm install -g git-cz
git-cz
# or
git-cz -e
npm install -g commitizen
npm install --save-dev git-cz
package.json
:
{
"config": {
"commitizen": {
"path": "git-cz"
}
}
}
run:
git cz
npm install -g commitizen git-cz
commitizen init git-cz --save-dev --save-exact
run:
git cz
You can provide a custom configuration in a changelog.config.js
file in your repo, or in any parent folder.
git-cz will search for the closest config file.
Below is default config:
module.exports = {
disableEmoji: false,
format: '{type}{scope}: {emoji}{subject}',
list: ['test', 'feat', 'fix', 'chore', 'docs', 'refactor', 'style', 'ci', 'perf'],
maxMessageLength: 64,
minMessageLength: 3,
questions: ['type', 'scope', 'subject', 'body', 'breaking', 'issues', 'lerna'],
scopes: [],
types: {
chore: {
description: 'Build process or auxiliary tool changes',
emoji: '🤖',
value: 'chore'
},
ci: {
description: 'CI related changes',
emoji: '🎡',
value: 'ci'
},
docs: {
description: 'Documentation only changes',
emoji: '✏️',
value: 'docs'
},
feat: {
description: 'A new feature',
emoji: '🎸',
value: 'feat'
},
fix: {
description: 'A bug fix',
emoji: '🐛',
value: 'fix'
},
perf: {
description: 'A code change that improves performance',
emoji: '⚡️',
value: 'perf'
},
refactor: {
description: 'A code change that neither fixes a bug or adds a feature',
emoji: '💡',
value: 'refactor'
},
release: {
description: 'Create a release commit',
emoji: '🏹',
value: 'release'
},
style: {
description: 'Markup, white-space, formatting, missing semi-colons...',
emoji: '💄',
value: 'style'
},
test: {
description: 'Adding missing tests',
emoji: '💍',
value: 'test'
},
messages: {
type: 'Select the type of change that you\'re committing:',
customScope: 'Select the scope this component affects:',
subject: 'Write a short, imperative mood description of the change:\n',
body: 'Provide a longer description of the change:\n ',
breaking: 'List any breaking changes:\n',
footer: 'Issues this commit closes, e.g #123:',
confirmCommit: 'The packages that this commit has affected\n',
},
}
};
Using --non-interactive
flag you can run git-cz
non-interactive mode.
For example:
git-cz --non-interactive --type=feat --subject="add onClick prop to component"
CLI parameters:
--type
--subject
--scope
--body
--breaking
--issues
--lerna
Using --disable-emoji
flag will disable emoji.
For example:
git-cz --disable-emoji
<type>[(<scope>)]: <emoji> <subject>
[BLANK LINE]
[body]
[BLANK LINE]
[breaking changes]
[BLANK LINE]
[footer]
The header is the only mandatory part of the commit message.
The first line (type + subject) is limited to 50 characters [enforced]
Any other line should be limited to 72 character [automatic wrapping]
This allows the message to be easier to read on GitHub as well as in various git tools.
By default the subject format is: {type}{scope}: {subject}
Configuring the format
field in .git-cz.json
you can customize your own:
{type}{scope}: {emoji}{subject}
{emoji}{scope} {subject}
Must be one of the following:
test
— Adding missing testsfeat
— A new featurefix
— A bug fixchore
— Build process or auxiliary tool changesdocs
— Documentation only changesrefactor
— A code change that neither fixes a bug or adds a featurestyle
— Markup, white-space, formatting, missing semi-colons...ci
— CI related changesperf
— A code change that improves performanceThe subject contains succinct description of the change:
Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.
Select the packages the commit affected.
Breaking Changes must start with the words BREAKING CHANGE:
.
The footer is the place to reference any tasks related to this commit.
npm i -g git-cz
added 1 package in 0.612s
Installs in 0.6s vs 31.1s.
npm i -g mol-conventional-changelog
added 345 packages in 31.076s
FAQs
Semantic emojified git commit, git-cz.
The npm package git-cz receives a total of 43,713 weekly downloads. As such, git-cz popularity was classified as popular.
We found that git-cz demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.