@comparto/git-c

Conventional git cli.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@comparto/git-c
002.2.03 years ago3 years agoMinified + gzip package size for @comparto/git-c in KB

Readme

!actionsactions-badge !versionversion-badgepackage !downloadsdownloads-badgenpmtrends !Code Coveragecoverage-badgecoverage !semantic-releasesemantic-release-badgesemantic-release !code style: prettierprettier-badgeprettier
@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


```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 feature
BREAKING CHANGE: ๐Ÿงจ breaks stuff
```yml
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 gitmojigitmoji
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