Commitizen is a Python client tool that standardizes commit messages, automates version bumping using Semantic Versioning, and generates changelogs. It helps development teams maintain consistent commit history and streamline release processes. The library is actively maintained with frequent patch releases, and the current version is 4.13.9.
pip install commitizenVerified import paths — ran on the pinned version, not inferred.
To get started, initialize Commitizen in your project, which guides you through creating a configuration file (e.g., in `pyproject.toml` or `.cz.toml`). Then, use `cz commit` for an interactive prompt to create conventional commits, and `cz bump` to automatically increment your project's version and update the changelog based on these commits.
Upgrade your Python environment to 3.10 or newer.
Update custom plugins to use the `commitizen.plugin` entrypoint mechanism.
Replace `--files-only` with `--version-files-only` in your `cz bump` commands.
Use the `--no-raise` flag or specifically ignore exit code 21 (`cz --no-raise NO_INCREMENT bump`) to allow the command to succeed without a version bump when no changes qualify.
Prefix Git-specific arguments with `--`, e.g., `cz commit -- -s`.