# commitizen-tools/commitizen

Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:

Repository: https://github.com/commitizen-tools/commitizen
Canonical: https://ross.abutalabs.com/products/commitizen
Homepage: https://commitizen-tools.github.io/commitizen/
Language: Python
License: MIT
License Family: permissive
Topics: commitizen, python, python3, git, conventional-commits, semantic-versioning, semver, bump-version, changelog-generator, release-automation
Last push: 2026-08-25T13:10:05+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 3252, "days_push": 8, "days_rel": 14, "gap_med": 4, "n_releases_24m": 62}
- flags: no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3498, forks 349 (observed 2026-08-28T04:08:07.427650+00:00)

## What it is
Commitizen is a Python CLI tool that enforces standardized commit messages (Conventional Commits by default) and automates semantic version bumping and changelog generation. It streamlines the release process with interactive commit prompts, commit validation hooks, and customizable rules.

## Use cases
- generate changelogs automatically from git commits
- bump semantic version numbers based on commit history
- enforce conventional commit message standards in a team
- validate commit messages with pre-commit hooks
- automate the software release process
- write standardized commit messages interactively

## When to choose
- your team uses Conventional Commits and wants automation
- you want automatic semver version bumping and changelog generation
- you need commit message linting integrated with pre-commit
- you want customizable commit rules and version file formats

## When to avoid
- your project doesn't use git
- you prefer non-conventional or fully custom release workflows
- you need a language-agnostic tool outside the Python ecosystem's tooling conventions

## Facets
- artifact type: cli-tool
- maturity: active
- function: cli, version-control, developer-tools, ci-cd, documentation
- domain: developer-tools, version-control
- platform: cli, python, cross-platform
- tags: conventional-commits, semantic-versioning, changelog-generator, release-automation, git, pre-commit-hooks, automation, command-line

## Member repositories
- commitizen-tools/commitizen (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:07.427650+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:35:50.920367+00:00, confidence not recorded.
  - homepage: https://commitizen-tools.github.io/commitizen/ (fetched 2026-08-29T09:29:55.925843+00:00, sha 9bd42f602dd5)
  - registry_pypi: https://pypi.org/pypi/commitizen/json (fetched 2026-08-29T09:29:55.928454+00:00, sha 1083e4411488)
- Data as of 2026-08-30T08:39:29.467469+00:00.
