!actionsactions-badge
!versionversion-badgepackage !downloadsdownloads-badgenpmtrends
!Code Coveragecoverage-badgecoverage
!semantic-releasesemantic-release-badgesemantic-release
!code style: prettierprettier-badgeprettier
```sh-session $ 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 ...
BREAKING CHANGE: ๐งจ breaks stuff
Will not be in effect if
@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 moreUsage
npx @comparto/git-c
```sh-session $ 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 ...
<!-- usagestop -->
# Command Topics
- [`git-c commit`](docs//commit.md) - interactive conventional commit cli
- [`git-c help`](docs//help.md) - display help for git-c
<!-- commandsstop -->
# 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 featureBREAKING CHANGE: ๐งจ breaks stuff
```yml
breakingChangeEmoji: '๐งจ'
Closed Issue Emoji
fix: ๐ resolved nasty bug
๐ Closes: #123
closedIssueEmoji: '๐'
Disable Emoji
Disable all emojis, overridesbreakingChangeEmoji
, closedIssueEmoji
and emoji
optionsdisableEmoji: false
Details
Allows you to further configure cli and git message output based ontype
.
Default emojis follow standards set by gitmojigitmojidetails:
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 scopesScopes
Allows you to provide list ofscopes
to choose from.scopes: []
Will not be in effect if
scope
question is not turned on.Types
Allows you to provide list oftypes
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