ccommit

2.0.2Β β€’Β PublicΒ β€’Β Published

😜 βž• πŸ‘” 🟰 ccommit

ccommit is a conventional commit generator that interprets commit types from gitmoji through conventional-commits to propose a bridged gap through multiple formats.

For developers that use gitmoji it is not always possible to do so in every project. However, to keep workflows the same it would be ideal to introduce a configuration that would provide standards to applications while having some modicum of β€œfun.”

This can hook into your release system to create release notes.

πŸ“ Note: This package is ESM

Usage

Local

Install as a devDependencies:

# pnpm
pnpm add ccommit --save-dev

πŸ“ Note: This is my preference as I try to limit globals wherever possible.

Global

# pnpm
pnpm add ccommit --global

πŸ“ Note: For non-node projects this can be helpful, but again, try to limit globals.

Client

Call directly after staging files

# local
pnpm ccommit -c

# global
ccommit -c

πŸ“ Note: Choose local or global

Hook

Add this to your prepare-commit-msg for git:

exec < /dev/tty
# local
pnpm ccommit --hook || true

# global
ccommit --hook || true

πŸ“ Note: Choose local or global

Options

β–² packages [main] pnpm ccommit -h

  Conventional Commit Generator that interprets commit types from gitmoji and conventional

  Usage
    $ ccommit -c

  Flags
    --breaking, -b       πŸ’₯  Breaking Change
    --commit, -c         πŸ’½  Mode: Client
    --dryrun, -n         🎽  Mode: Dry Run
    --emoji, -e          😜  Emoji (default)
    --hook, -u           πŸͺ  Mode: Hook
    --list, -l           πŸ“–  List all types
    --version, -v        πŸ“¦  Print installed version

  Options
    --format             😜  Commit Format: conventional|gitmoji (default)
    --message            πŸ“  Commit Message
    --scope              πŸ”¬  Commit Scope
    --title              πŸ““  Commit Title
    --type               ✨  Commit Type

  Notes
    - Pass any non-format options the following will be required: --title, --type
    - If you do not pass any options the Conventional Commit Generator prompt will run
      - Branch Name detection is enabled to pre-populate Issue Tracker information in prompt

Formats

Gitmoji

  • 😜 gitmoji
  • πŸ§ͺ Examples
    • ✨ (scope) ABC-123 subject
    • πŸ’š (github) subject
    • πŸ› subject

Conventional

  • πŸ‘” conventional
    • a mapping of gitmoji to what could be construed as it’s more in-depth conventional counterparts
    • can pass --noemoji|-xe and turn emojis off within conventional
  • πŸ§ͺ Examples
    • feat(scope): ✨ ABC-123 subject
    • fix-ci(github): πŸ’š subject
    • fix: πŸ› subject

Roadmap

This was meant to sunset @jeromefitz/git-cz as a year-end personal hackathon. This will keep up with gitmoji and ideally some tenets of β€˜best of both worlds’ could make it to gitmoji-cli some day. (There are a few closed issues on β€˜boring’ versions already, and with this using enquirer probably less and less of a chance.)

As a result it is a mash-up of both and I have tried to add references where applicable:

Package Sidebar

Install

npm i ccommit

Weekly Downloads

58

Version

2.0.2

License

MIT

Unpacked Size

28.5 kB

Total Files

5

Last publish

Collaborators

  • jeromefitz