Skip to main content

A commitizen plugin that combines gitmoji and conventional.

Project description

cz-conventional-gitmoji

A commitizen plugin that combines gitmoji and conventional commits.

Installation

With pip or any other package manager of your choice, the usual way:

pip install cz-conventional-gitmoji

Usage

This package can be used as a normal commitizen plugin, either by specifying the name on the command line

cz --name cz_gitmoji commit

or by setting it in your pyproject.toml

[tool.commitizen]
name = "cz_gitmoji"

This will make commitizen use the commit message parsing rules defined by this plugin, which are 100% compatible with conventional commits. As such, the gitmojis are completely optional and all commands will continue to validate commit messages in conventional format just fine. This is useful if you're transitioning an existing repo to cz-conventional-gitmoji or you work in a team in which some colleagues don't like gitmojis.

gitmojify

Apart from the conventional-gitmoji rules, this package provides the gitmojify command which is also available as a pre-commit hook. The command reads a commit message either from cli or a commit message file and prepends the correct gitmoji based on the type. If the message already has a gitmoji, it is returned as is.

$ gitmojify -m "init: initial version"
๐ŸŽ‰ init: initial version

To use it as a pre-commit hook, install this packages as well as commitizen and put the following into your .pre-commit-config.yaml

repos:
  - repo: https://github.com/ljnsn/cz-conventional-gitmoji
    rev: 0.2.4
    hooks:
      - id: conventional-gitmoji

To use commitizen hooks with conventional-gitmoji, you need to add the package as an extra dependency.

  - repo: https://github.com/commitizen-tools/commitizen
    rev: v3.29.0
    hooks:
      - id: commitizen
        additional_dependencies: [cz-conventional-gitmoji]

Make sure to install the relevant pre-commit hooks with

pre-commit install --install-hooks

Commit with a message in conventional format that contains a valid type mapped by conventional gitmoji and the gitmoji will automagically be added.

Type mappings

Types to gitmojis
Type Emoji
fix ๐Ÿ›
feat โœจ
docs ๐Ÿ“
style ๐ŸŽจ
refactor โ™ป๏ธ
perf โšก๏ธ
test โœ…
build ๐Ÿ‘ท
ci ๐Ÿ’š
revert โช๏ธ
dump ๐Ÿ”ฅ
hotfix ๐Ÿš‘๏ธ
deploy ๐Ÿš€
ui ๐Ÿ’„
init ๐ŸŽ‰
security ๐Ÿ”’๏ธ
secret ๐Ÿ”
bump ๐Ÿ”–
fix-lint ๐Ÿšจ
wip ๐Ÿšง
dep-drop โฌ‡๏ธ
dep-bump โฌ†๏ธ
pin ๐Ÿ“Œ
analytics ๐Ÿ“ˆ
dep-add โž•
dep-rm โž–
config ๐Ÿ”ง
script ๐Ÿ”จ
lang ๐ŸŒ
typo โœ๏ธ
poop ๐Ÿ’ฉ
merge ๐Ÿ”€
package ๐Ÿ“ฆ๏ธ
external ๐Ÿ‘ฝ๏ธ
resource ๐Ÿšš
license ๐Ÿ“„
boom ๐Ÿ’ฅ
asset ๐Ÿฑ
accessibility โ™ฟ๏ธ
source-docs ๐Ÿ’ก
beer ๐Ÿป
text ๐Ÿ’ฌ
db ๐Ÿ—ƒ๏ธ
logs-add ๐Ÿ”Š
logs-rm ๐Ÿ”‡
people ๐Ÿ‘ฅ
ux ๐Ÿšธ
arch ๐Ÿ—๏ธ
design ๐Ÿ“ฑ
mock ๐Ÿคก
egg ๐Ÿฅš
ignore ๐Ÿ™ˆ
snap ๐Ÿ“ธ
experiment โš—๏ธ
seo ๐Ÿ”๏ธ
types ๐Ÿท๏ธ
seed ๐ŸŒฑ
flag ๐Ÿšฉ
catch ๐Ÿฅ…
animation ๐Ÿ’ซ
deprecation ๐Ÿ—‘๏ธ
auth ๐Ÿ›‚
fix-simple ๐Ÿฉน
exploration ๐Ÿง
dead โšฐ๏ธ
test-fail ๐Ÿงช
logic ๐Ÿ‘”
health ๐Ÿฉบ
infra ๐Ÿงฑ
devxp ๐Ÿง‘โ€๐Ÿ’ป
money ๐Ÿ’ธ
threading ๐Ÿงต
validation ๐Ÿฆบ
chore ๐Ÿงน

Features

  • Enable conventional gitmoji commit messages via cz commit.
  • Add hook to automatically prepend the appropriate gitmoji for the commit's type.
  • Add --simple-emojis option to use only the emojis relating to cz_conventional_commits types.
  • Add --simple-types option to use only the types used by cz_conventional_commits.
  • Add --conventional option to put the emoji in the commit message, making it compatible with cz_conventional_commits.

Inspiration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cz_conventional_gitmoji-0.7.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cz_conventional_gitmoji-0.7.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file cz_conventional_gitmoji-0.7.0.tar.gz.

File metadata

File hashes

Hashes for cz_conventional_gitmoji-0.7.0.tar.gz
Algorithm Hash digest
SHA256 d1a672d570911147cc27a17ba15877e5ef279b91c51a8da9a89523f27325a261
MD5 18daa9f18de9386d0d20c1c660c37efd
BLAKE2b-256 b8805402e92d019860c88772e5d7bcdd812f1e0c7f24b51fdbb503bdb55e64f2

See more details on using hashes here.

File details

Details for the file cz_conventional_gitmoji-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cz_conventional_gitmoji-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 278b817d306efa5b446db8d078288c42534cfff56662a344da0053c24b50701b
MD5 5187489d1b7d9e7f5dffda4aba945007
BLAKE2b-256 60473d7d559850a8146bb08adb01486156339d49271aff38e11729707ab996ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page