{"id":26221405,"url":"https://github.com/ljnsn/cz-conventional-gitmoji","last_synced_at":"2025-10-25T19:12:34.875Z","repository":{"id":65109851,"uuid":"581889471","full_name":"ljnsn/cz-conventional-gitmoji","owner":"ljnsn","description":"A commitizen plugin that combines gitmoji and conventional commits.","archived":false,"fork":false,"pushed_at":"2025-05-22T17:33:00.000Z","size":460,"stargazers_count":27,"open_issues_count":1,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T14:57:57.140Z","etag":null,"topics":["commitizen","conventional-commits","git","gitmoji","semantic-versioning","semver"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ljnsn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-24T18:34:08.000Z","updated_at":"2025-06-08T00:48:07.000Z","dependencies_parsed_at":"2023-02-16T08:15:25.353Z","dependency_job_id":"c2ba4d5c-8091-42d6-9539-c6c7f67c2b24","html_url":"https://github.com/ljnsn/cz-conventional-gitmoji","commit_stats":{"total_commits":38,"total_committers":3,"mean_commits":"12.666666666666666","dds":"0.42105263157894735","last_synced_commit":"dc06de9b36ea637b45103e75fa63655791f6ca15"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/ljnsn/cz-conventional-gitmoji","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljnsn%2Fcz-conventional-gitmoji","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljnsn%2Fcz-conventional-gitmoji/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljnsn%2Fcz-conventional-gitmoji/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljnsn%2Fcz-conventional-gitmoji/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ljnsn","download_url":"https://codeload.github.com/ljnsn/cz-conventional-gitmoji/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljnsn%2Fcz-conventional-gitmoji/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266236669,"owners_count":23897222,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commitizen","conventional-commits","git","gitmoji","semantic-versioning","semver"],"created_at":"2025-03-12T16:20:09.172Z","updated_at":"2025-10-25T19:12:34.856Z","avatar_url":"https://github.com/ljnsn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cz-conventional-gitmoji\n\nA [commitizen](https://github.com/commitizen-tools/commitizen) plugin that combines [gitmoji](https://gitmoji.dev/) and [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).\n\n## Installation\n\nWith `pip` or any other package manager of your choice, the usual way:\n\n```bash\npip install cz-conventional-gitmoji\n```\n\n## Usage\n\nThis package can be used as a normal `commitizen` plugin, either by specifying the name on the command line\n\n```bash\ncz --name cz_gitmoji commit\n```\n\nor by setting it in your **pyproject.toml**\n\n```toml\n[tool.commitizen]\nname = \"cz_gitmoji\"\n```\n\nThis will make `commitizen` use the commit message parsing rules defined by this plugin, which are 100% compatible with [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/). 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.\n\n### gitmojify\n\nApart 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.\n\n```bash\n$ gitmojify -m \"init: initial version\"\n🎉 init: initial version\n```\n\nTo use it as a pre-commit hook, install this packages as well as `commitizen` and put the following into your **.pre-commit-config.yaml**\n\n```yaml\nrepos:\n  - repo: https://github.com/ljnsn/cz-conventional-gitmoji\n    rev: 0.7.0  # double-check the latest version (or run pre-commit autoupdate)\n    hooks:\n      - id: conventional-gitmoji\n```\n\nTo use `commitizen` hooks with `conventional-gitmoji`, you need to add the package as an extra dependency.\n\n```yaml\n  - repo: https://github.com/commitizen-tools/commitizen\n    rev: v3.29.0\n    hooks:\n      - id: commitizen\n        additional_dependencies: [cz-conventional-gitmoji]\n```\n\nMake sure to install the relevant pre-commit hooks with\n\n```bash\npre-commit install --install-hooks\n```\n\nCommit with a message in conventional format that contains a valid type mapped by conventional gitmoji and the gitmoji will automagically be added.\n\n### Type mappings\n\n\u003cdetails\u003e\n\u003csummary\u003eTypes to gitmojis\u003c/summary\u003e\n\n| Type | Emoji |\n|------|-------|\n| `fix` | 🐛 |\n| `feat` | ✨ |\n| `docs` | 📝 |\n| `style` | 🎨 |\n| `refactor` | ♻️ |\n| `perf` | ⚡️ |\n| `test` | ✅ |\n| `build` | 👷 |\n| `ci` | 💚 |\n| `revert` | ⏪️ |\n| `dump` | 🔥 |\n| `hotfix` | 🚑️ |\n| `deploy` | 🚀 |\n| `ui` | 💄 |\n| `init` | 🎉 |\n| `security` | 🔒️ |\n| `secret` | 🔐 |\n| `bump` | 🔖 |\n| `fix`-lint | 🚨 |\n| `wip` | 🚧 |\n| `dep-drop` | ⬇️ |\n| `dep-bump` | ⬆️ |\n| `pin` | 📌 |\n| `analytics` | 📈 |\n| `dep-add` | ➕ |\n| `dep-rm` | ➖ |\n| `config` | 🔧 |\n| `script` | 🔨 |\n| `lang` | 🌐 |\n| `typo` | ✏️ |\n| `poop` | 💩 |\n| `merge` | 🔀 |\n| `package` | 📦️ |\n| `external` | 👽️ |\n| `resource` | 🚚 |\n| `license` | 📄 |\n| `boom` | 💥 |\n| `asset` | 🍱 |\n| `accessibility` | ♿️ |\n| `source-docs` | 💡 |\n| `beer` | 🍻 |\n| `text` | 💬 |\n| `db` | 🗃️ |\n| `logs-add` | 🔊 |\n| `logs-rm` | 🔇 |\n| `people` | 👥 |\n| `ux` | 🚸 |\n| `arch` | 🏗️ |\n| `design` | 📱 |\n| `mock` | 🤡 |\n| `egg` | 🥚 |\n| `ignore` | 🙈 |\n| `snap` | 📸 |\n| `experiment` | ⚗️ |\n| `seo` | 🔍️ |\n| `types` | 🏷️ |\n| `seed` | 🌱 |\n| `flag` | 🚩 |\n| `catch` | 🥅 |\n| `animation` | 💫 |\n| `deprecation` | 🗑️ |\n| `auth` | 🛂 |\n| `fix-simple` | 🩹 |\n| `exploration` | 🧐 |\n| `dead` | ⚰️ |\n| `test-fail` | 🧪 |\n| `logic` | 👔 |\n| `health` | 🩺 |\n| `infra` | 🧱 |\n| `devxp` | 🧑‍💻 |\n| `money` | 💸 |\n| `threading` | 🧵 |\n| `validation` | 🦺 |\n| `chore` | 🧹\u003csup\u003e1\u003c/sup\u003e |\n\n\u003csup\u003e1\u003c/sup\u003e This is an addition to the original Gitmojis.\n\u003c/details\u003e\n\n## Features\n\n- [x] Enable conventional gitmoji commit messages via `cz commit`.\n- [x] Add hook to automatically prepend the appropriate gitmoji for the commit's type.\n- [ ] Add `--simple-emojis` option to use only the emojis relating to `cz_conventional_commits` types.\n- [ ] Add `--simple-types` option to use only the types used by `cz_conventional_commits`.\n- [ ] Add `--conventional` option to put the emoji in the commit message, making it compatible with `cz_conventional_commits`.\n\n## Inspiration\n\n- [`commitizen-emoji`](https://github.com/marcelomaia/commitizen-emoji)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fljnsn%2Fcz-conventional-gitmoji","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fljnsn%2Fcz-conventional-gitmoji","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fljnsn%2Fcz-conventional-gitmoji/lists"}