| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Commitizen is a powerful release management tool that helps teams maintain consistent and meaningful commit messages while automating version management.
By enforcing standardized commit conventions (defaulting to Conventional Commits), Commitizen helps teams:
With just a simple cz bump command, Commitizen handles:
This standardization makes your commit history more readable and meaningful, while the automation reduces manual work and potential errors in the release process.
Before installing Commitizen, ensure you have:
The recommended way to install Commitizen is using pipx or uv, which ensures a clean, isolated installation:
Using pipx:
# Install Commitizen
pipx install commitizen
# Keep it updated
pipx upgrade commitizenUsing uv:
# Install commitizen
uv tool install commitizen
# Keep it updated
uv tool upgrade commitizen(For macOS users) Using Homebrew:
brew install commitizenYou can add Commitizen to your Python project using any of these package managers:
Using pip:
pip install -U commitizenUsing conda:
conda install -c conda-forge commitizenUsing Poetry:
# For Poetry >= 1.2.0
poetry add commitizen --group dev
# For Poetry < 1.2.0
poetry add commitizen --devUsing uv:
uv add --dev commitizenUsing pdm:
pdm add -d commitizenTo get started, run the cz init command. This will guide you through the process of creating a configuration file with your preferred settings.
Create standardized commits using:
cz commit
# or use the shortcut
cz cTo sign off your commits:
cz commit -- --signoff
# or use the shortcut
cz commit -- -sFor more commit options, run cz commit --help.
The most common command you'll use is:
cz bumpThis command:
You can customize:
For all available options, see the bump command documentation.
# Get your project's version (instead of Commitizen's version)
cz version -p
# Preview changelog changes
cz changelog --dry-run "$(cz version -p)"This command is particularly useful for automation scripts and CI/CD pipelines.
For example, you can use the output of the command cz changelog --dry-run "$(cz version -p)" to notify your team about a new release in Slack.
Commitizen can automatically validate your commit messages using pre-commit hooks.
---
repos:
- repo: https://github.com/commitizen-tools/commitizen
rev: master # Replace with latest tag
hooks:
- id: commitizen
- id: commitizen-branch
stages: [pre-push]prek install --hook-type commit-msg --hook-type pre-push| Hook | Recommended Stage |
|---|---|
| commitizen | commit-msg |
| commitizen-branch | pre-push |
Note: Replace master with the latest tag to avoid warnings. You can automatically update this with:
prek autoupdate
For more details about commit validation, see the check command documentation.
Commitizen provides a comprehensive CLI with various commands. Here's the complete reference:
| Command | Description | Alias |
|---|---|---|
| cz init | Initialize Commitizen configuration | - |
| cz commit | Create a new commit | cz c |
| cz bump | Bump version and update changelog | - |
| cz changelog | Generate changelog | cz ch |
| cz check | Validate commit messages | - |
| cz version | Show version information | - |
For each command, you can get detailed help by adding --help:
cz commit --help
cz bump --help
cz changelog --helpFor more details, visit our documentation site.
Commitizen supports command-line completion through argcomplete, which is automatically installed as a dependency. This feature provides intelligent auto-completion for all Commitizen commands and options.
If you installed Commitizen globally (e.g., using pipx or brew), you can enable global completion:
# Enable global completion for all Python applications
sudo activate-global-python-argcompleteFor a user-specific installation that persists across sessions:
# Add to your shell's startup file (e.g., ~/.bashrc, ~/.zshrc)
register-python-argcomplete cz >> ~/.bashrcFor one-time activation in your current shell session:
# Activate completion for current session only
eval "$(register-python-argcomplete cz)"After installation, you can verify the completion is working by:
For more detailed information about argcomplete configuration and troubleshooting, visit the argcomplete documentation.
These are our cool sponsors!
| Back | FazBrowse Home | New Git URL |