@comparto/git-c
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

actions version downloads Code Coverage semantic-release code style: prettier

@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

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 to rules[type-enum][2]
  • scopes correlates to rules[scope-enum][2]
  • maxMessageLength correlates to rules[header-max-length][2]
  • minMessageLength correlates to rules[header-min-length][2]
useCommitlintConfig: false

Readme

Keywords

none

Package Sidebar

Install

npm i @comparto/git-c

Weekly Downloads

17

Version

2.2.0

License

MIT

Unpacked Size

47.3 kB

Total Files

61

Last publish

Collaborators

  • epic_tacho