@comparto/git-c
v2.2.0
Published
Conventional git cli.
Downloads
5
Readme
@comparto/git-c
Interactive conventional commits cli, inspired by git-cz with the ability to leverage commitlint
configuration, configuration validation, versatile configuration through cosmiconfig
and more
Usage
npx @comparto/git-c
$ npm install -g @comparto/git-c
$ git-c COMMAND
running command...
$ git-c (-v|--version|version)
@comparto/git-c/2.2.0 linux-x64 node-v14.15.1
$ git-c --help [COMMAND]
USAGE
$ git-c COMMAND
...
Command Topics
git-c commit
- interactive conventional commit cligit-c help
- display help for git-c
Configuration
By default git-c
comes ready to run out of the box.
This supports cosmiconfig, so you can customize with either a
gitc
key in your package.json, or just create a.gitcrc.json
,.gitcrc.yml
,gitc.config.js
, etc. in your project directory.
Options
Breaking Change Emoji
feat: 🎸 dope new feature
BREAKING CHANGE: 🧨 breaks stuff
breakingChangeEmoji: '🧨'
Closed Issue Emoji
fix: 🐛 resolved nasty bug
🏁 Closes: #123
closedIssueEmoji: '🏁'
Disable Emoji
Disable all emojis, overrides breakingChangeEmoji
, closedIssueEmoji
and emoji
options
disableEmoji: false
Details
Allows you to further configure cli and git message output based on type
.
Default emojis follow standards set by gitmoji
details:
chore:
description: Other changes that don't modify src or test files
emoji: '🤖'
ci:
description: Changes to CI configuration files and scripts
emoji: '👷'
docs:
description: Add or update documentation.
emoji: '📝'
feat:
description: A new feature
emoji: '🎸'
fix:
description: Fix a bug.
emoji: '🐛'
perf:
description: Improve performance.
emoji: '⚡️'
refactor:
description: Refactor code.
emoji: '♻️'
release:
description: Deploy stuff.
emoji: '🚀'
revert:
description: Revert changes.
emoji: '⏪'
style:
description: Improve structure / format of the code.
emoji: '🎨'
test:
description: Add or update tests.
emoji: '✅'
Max Message Length
maxMessageLength: 64
Min Message Length
minMessageLength: 3
Questions
Allows you to toggle questions.
questions:
- type # Select the type of change that you're committing?
- scope # Select the scope this component affects?
- subject # Write a short, imperative description of the change?
- body # Provide a longer description of the change?
- breaking # List any breaking changes
- issues # Issues this commit closes, e.g #123
scope
question will not be turned if there's no scopes
Scopes
Allows you to provide list of scopes
to choose from.
scopes: []
Will not be in effect if scope
question is not turned on.
Types
Allows you to provide list of types
to choose from. Can be further configured through Details
.
types:
- chore
- docs
- feat
- fix
- refactor
- test
Commitlint
Will leverage Commitlint's configuration instead for options:
types
correlates torules[type-enum][2]
scopes
correlates torules[scope-enum][2]
maxMessageLength
correlates torules[header-max-length][2]
minMessageLength
correlates torules[header-min-length][2]
useCommitlintConfig: false