# cz-conventional-gitmoji
A [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/).
## Installation
```bash
poetry add cz-conventional-gitmoji
```
or with pip:
```bash
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
```bash
cz --name cz_gitmoji commit
```
or by setting it in your **pyproject.toml**
```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](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 `contentional-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.
```bash
$ 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**
```yaml
repos:
- repo: https://github.com/ljnsn/cz-conventional-gitmoji
rev: main
hooks:
- id: conventional-gitmoji
```
Commit with a message in conventional format that contains a valid type mapped by conventional gitmoji and the gitmoji will automagically be added.
## Features
- [x] Enable conventional gitmoji commit messages via `cz commit`.
- [ ] 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`.
- [x] Add hook to automatically prepend the appropriate gitmoji for the commit's type.
## Inspiration
- [`commitizen-emoji`](https://github.com/marcelomaia/commitizen-emoji)
Raw data
{
"_id": null,
"home_page": "https://github.com/ljnsn/cz-conventional-gitmoji",
"name": "commitizen-gitmoji",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "ljnsn",
"author_email": "82611987+ljnsn@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/5b/b1/58030632474bd1eb65a7c2035435a4d1907b15be5cb02828eea5f041707d/commitizen_gitmoji-0.1.1.tar.gz",
"platform": null,
"description": "# 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\n```bash\npoetry add cz-conventional-gitmoji\n```\n\nor with pip:\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 `contentional-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\ud83c\udf89 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: main\n hooks:\n - id: conventional-gitmoji\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## Features\n\n- [x] Enable conventional gitmoji commit messages via `cz commit`.\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- [x] Add hook to automatically prepend the appropriate gitmoji for the commit's type.\n\n## Inspiration\n\n- [`commitizen-emoji`](https://github.com/marcelomaia/commitizen-emoji)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A commitizen plugin that combines gitmoji and conventional.",
"version": "0.1.1",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "03719355731608e71ce56bdfc46bfa13",
"sha256": "5935d815006608a4a56e00f53943505e43092825450e8d310ab5fed0a7e27219"
},
"downloads": -1,
"filename": "commitizen_gitmoji-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03719355731608e71ce56bdfc46bfa13",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 12506,
"upload_time": "2022-12-27T02:36:54",
"upload_time_iso_8601": "2022-12-27T02:36:54.830360Z",
"url": "https://files.pythonhosted.org/packages/68/75/48253189f83b45e7ffdcc1e1e9dce7351bd4fb6c7309c9152e38aff9b405/commitizen_gitmoji-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "9b808c70c6858c8d3314c077e027ee85",
"sha256": "2c6eaca8e9d74ca7b91d0d508da02f2972200c460edff22a5a08aa94d92ccb3c"
},
"downloads": -1,
"filename": "commitizen_gitmoji-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9b808c70c6858c8d3314c077e027ee85",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 12306,
"upload_time": "2022-12-27T02:36:56",
"upload_time_iso_8601": "2022-12-27T02:36:56.468218Z",
"url": "https://files.pythonhosted.org/packages/5b/b1/58030632474bd1eb65a7c2035435a4d1907b15be5cb02828eea5f041707d/commitizen_gitmoji-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-27 02:36:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "ljnsn",
"github_project": "cz-conventional-gitmoji",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "commitizen-gitmoji"
}