In addition to the native templates, some alternative commit format templates
are available as PyPI packages (installable with pip).
A Commitizen plugin that leverages OpenAI's GPT-4o to automatically generate clear, concise, and conventional commit messages based on your staged git changes.
pip install cz-aicz --name cz_ai commitJust like conventional commit format, but the scope has been restricted to a
JIRA issue format, i.e. project-issueNumber. This standardises scopes in a
meaningful way.
pip install conventional-JIRAThis plugin extends the Commitizen tools by:
- requiring a JIRA issue ID in the commit message
- creating links to GitHub commits in the CHANGELOG.md
- creating links to JIRA issues in the CHANGELOG.md
pip install cz-github-jira-conventionalFor installation instructions (configuration and pre-commit) please visit https://github.com/apheris/cz-github-jira-conventional
conventional commit format, but with emojis
pip install cz-emojicz --name cz_emoji commitconventional commits, but with gitmojis.
Includes a pre-commit hook that automatically adds the correct gitmoji to the commit message based on the conventional type.
pip install cz-conventional-gitmojicz --name cz_gitmoji commitCommitizen emoji (Unmaintained)
Just like conventional commit format, but with emojis and optionally time spent and related tasks.
pip install commitizen-emojicz --name cz_commitizen_emoji commitAn extension of the conventional commit format to include user-specified
legacy change types in the CHANGELOG while preventing the legacy change types
from being used in new commit messages
pip install cz_legacySee the README for instructions on configuration
Commitizen can read and write version from different sources. In addition to the native providers, some alternative version sources are available as PyPI packages (installable with pip).
A provider for Deno projects. The provider updates the version in deno.json and jsr.json files.
pip install commitizen-deno-providerAdd deno-provider to your configuration file.
Example for .cz.yaml:
---
commitizen:
major_version_zero: true
name: cz_conventional_commits
tag_format: $version
update_changelog_on_bump: true
version_provider: deno-provider
version_scheme: semverProvides prefix choices for commit messages based on staged files (Git only).
For example, if the staged files are component/z/a.ts and component/z/b.ts,
the path prefix option will be component/z and commit message might look like:
component/z/: description of changes. If only one file is staged, the extension
is removed in the prefix.
pip install cz-pathAdd cz-path to your configuration file.
Example for .cz.json:
{
"commitizen": {
"name": "cz_path",
"remove_path_prefixes": ["src", "module_name"]
}
}The default value for remove_path_prefixes is ["src"]. Adding / to the
prefixes is not required.
$ git add .vscode/
$ cz -n cz_path c
? Prefix: (Use arrow keys)
» .vscode
.vscode/
project
(empty)
? Prefix: .vscode
? Commit title: adjust settings
.vscode: adjust settings
[main 0000000] .vscode: adjust settings
2 files changed, 1 insertion(+), 11 deletions(-)
Commit successful!