--- id: commitizen version: "4.17.0" license: MIT license_treatment: permissive maintenance: active --- # commitizen — Python commitizen client tool License: permissive · Maintenance: active · Downloads: 3.6M/mo ## What it is and what it does Commitizen is a CLI tool that standardizes commit messages across a team and automates the release workflow. It enforces Conventional Commits by default, validates commit format, and provides an interactive prompt to guide users through structured commit creation. The core workflow uses a single `cz bump` command to automatically increment version numbers based on commit history (semantic versioning), update version files, generate or update changelogs in Keep a Changelog format, and create git tags—eliminating manual version management and changelog maintenance. The package integrates with pre-commit hooks for commit-message validation, supports custom commit rules and templates, and includes bash completion via argcomplete. It has 14 runtime dependencies covering interactive prompts (questionary, prompt-toolkit), terminal colors (colorama, termcolor), configuration parsing (tomlkit, pyyaml), templating (jinja2), and packaging metadata (packaging, importlib-metadata). Requires Python 3.10+ and Git 1.8.5.2+. Use it for: - Enforce consistent commit message format across a development team to improve git history readability. - Automate version bumping and changelog generation in CI/CD pipelines to reduce manual release overhead. - Validate incoming commits via pre-commit hooks to prevent non-standard messages from entering the repository. - Generate release notes and changelogs automatically from commit history for stakeholder communication. - Standardize semantic versioning across multiple projects using a shared commit convention. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Commitizen enforces standardized commit messages and automates version bumping, changelog generation, and release management using semantic versioning and Conventional Commits. Yes. Commitizen is actively maintained (last commit 2026-08-10), has no known vulnerabilities, low install friction, and is widely adopted (top 5000 PyPI packages). It solves a real team workflow problem—standardizing commits and automating releases—with a permissive MIT license. Install it if your team or project needs consistent commit discipline and automated release management. ## Install pip install commitizen uv add commitizen poetry add commitizen ## Installing commitizen Before you install: Low friction: pure Python wheel with 14 runtime dependencies, all common CLI/formatting libraries (questionary, prompt-toolkit, colorama, jinja2, pyyaml). Active maintenance—last commit 2026-08-10, 3497 stars, released 2026-07-29. License in practice: MIT license (permissive): you can use, modify, and distribute freely in commercial and private projects with minimal restrictions. Quickstart: pip install commitizen cz init cz commit cz bump Requires Python 3.10+ and Git 1.8.5.2+. Verify before relying: - Whether pre-commit hook integration works reliably across all supported shells (Bash, Zsh, Fish, Tcsh). - Performance impact when used on repositories with very large commit histories. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 3.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags semantic versioning automation, conventional commits enforcement, changelog generation, git release management, commit message standardization, version bump automation, release workflow tool, release-automation, git-workflow, semantic-versioning [View on SkillFed](https://skillfed.io/packages/commitizen) · [View on PyPI](https://pypi.org/project/commitizen/)