A CLI to keep semantic git commits. With emoji support 😄 👍
Many projects got different git commit rules. It is hard to remember them all.
$ npm i -g semantic-git-commit-clior
$ yarn add global semantic-git-commit-cliAfter installation it is available in your shell as:
$ semantic-git-commitor even shorter:
$ sgcJust create a
.sgcrcin your project root or you can add everything in yourpackage.jsonwith the valuesgc
You can even create a global config. Just go to your users home and create a .sgcrc. The global config will be triggered if no project configurations are present.
Options:
Type: boolean
Default: true
Asks if more info (body) should be added. This will open your default editor.
Example:
{
"body": false
}Type: boolean
Default: false
Asks for the scope in parentheses of the commit.
Example:
{
"scope": true
}Type: boolean
Default: false
A boolean to enable emoji at the beginning of a commit message
Example:
{
"emoji": true
}Types will define your git commits. If
typesis not set in your own.sgcrc, thetypesof the global .sgcrc
Keys
type- This will be your commit convention and will be your start of your commit - e.g.:Feat:description(optional) - The description to explain what your type is aboutemoji(optional) - An emoji which will be appended at the beginning of the commit (Emoji Cheat Sheet)
The .sgcrc:
{
"types": [
{
"emoji": ":sparkles:",
"type": "Feat:",
"description": "Any description to describe the type"
}
]
}or the package.json:
{
"name": "Your application name",
"version": "1.0.0",
"sgc": {
"types": [
{
"emoji": ":sparkles:",
"type": "Feat:",
"description": "Any description to describe the type"
}
]
}
}Available rules:
Type: number
Default: 72
If a number is set, it will not allow to commit messages more than the given number. If it is set to -1 the rule is deactivated
Example:
{
"rules": {
"max-char": -1
}
}Type: number
Default: 10
If a number is set, it will not allow to commit messages less than the given number. If it is set to -1 the rule is deactivated
Example:
{
"rules": {
"min-char": -1
}
}Type: boolean
Default: true
If it is set to false, it will not allow to commit messages with a dot at the
Example:
{
"rules": {
"end-with-dot": false
}
}