# Install commitizen with Homebrew, MacPorts, Nix, winget

Defines a standard way of committing rules and communicating it. Version 4.17.0 via Homebrew; verified 2026-07-30. Also installable with nix: nix profile install nixpkgs#commitizen.

## Install

```sh
sudo av install brew:commitizen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install commitizen
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install commitizen
```

  Evidence: MacPorts ports tree: devel/commitizen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#commitizen
```

  Evidence: nixpkgs package indexes: pkgs/by-name/co/commitizen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id shipengqi.commitizen -e
```

  Evidence: Windows Package Manager source index: shipengqi.commitizen from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:commitizen
- **Package manager:** Homebrew
- **Version:** 4.17.0
- **Source summary:** Defines a standard way of committing rules and communicating it
- **Homepage:** <https://commitizen-tools.github.io/commitizen/>
- **Repository:** <https://github.com/commitizen-tools/commitizen>
- **Last updated:** 2026-07-30T12:27:23Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cz (alias)
- git-cz (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.17.0
## Project history and usage

Commitizen is a Python CLI for standardized Git commits and release automation. Its official documentation presents it as a tool for Conventional Commits, semantic version bumping, and changelog generation.

### Project history

The project grew around the idea that commit-message conventions can drive release work: the CLI guides commit creation, validates commit messages, calculates version bumps from commit history, and can update changelogs. The public Python package history on PyPI dates back to 2017, placing this implementation in the wave of Conventional Commits tooling that moved commit metadata into everyday release automation.

### Adoption history

Commitizen is distributed as a Python package and documented for installation through pipx, uv, pip, conda, Poetry, pdm, and Homebrew. That spread is notable because the tool is not only a Python-project helper; it is commonly installed as a developer workstation CLI for projects in any language that want commit and release rules.

### How it is used

Typical usage centers on `cz commit` for guided commits, commit-message validation through pre-commit-style hooks, and `cz bump` for version and changelog updates. Its package-manager value comes from making release conventions executable rather than leaving them as prose in CONTRIBUTING files.

### Why package nerds care

Commitizen sits at the intersection of source-control hygiene and package release mechanics. For package maintainers, it is significant because the same commit taxonomy can feed semantic versioning, changelog text, tags, and CI release steps.

### Timeline

- 2017: PyPI records public Commitizen releases.
- 2020s: Official documentation emphasizes Conventional Commits, semantic versioning, changelog generation, and pre-commit integration.
- 2026: PyPI continues to publish 4.x releases.

### Related projects

- Commitizen is closely related to Conventional Commits, Semantic Versioning, Keep a Changelog, and pre-commit-style Git hook workflows.

### Sources

- <https://commitizen-tools.github.io/commitizen/>
- <https://github.com/commitizen-tools/commitizen>
- <https://raw.githubusercontent.com/commitizen-tools/commitizen/master/docs/README.md>
- <https://pypi.org/pypi/commitizen/json>


## Security Notes

No matching local secret-handling manifest was found for commitizen. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./.cz.toml, ./cz.toml, ./.cz.json, ./cz.json, ./.cz.yaml, ./cz.yaml, ./pyproject.toml
## Other Package-Manager Records

- Nix - commitizen: normalized package name match | nixpkgs package indexes: pkgs/by-name/co/commitizen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - commitizen: normalized package name match | MacPorts ports tree: devel/commitizen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - shipengqi.commitizen: normalized package name match | Windows Package Manager source index: shipengqi.commitizen from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [commitizen](https://pkg.so/pkg/npm/commitizen/) - Same normalized package name exists in another local package ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/commitizen.yml](https://github.com/mxcl/pkgdb/blob/main/combined/commitizen.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
