# Commitizen Guide

[![commitizen-tools.github.io](https://img.shields.io/badge/commitizen--tools.github.io-0288D1?style=flat)](https://commitizen-tools.github.io/commitizen/)
[![documentation](https://img.shields.io/badge/documentation-077b70?style=flat)](https://commitizen-tools.github.io/commitizen/tutorials/writing_commits/)
[![commitizen-tools/commitizen](https://img.shields.io/badge/commitizen--tools/commitizen-555555?style=flat&logo=github&logoColor=white)](https://github.com/commitizen-tools/commitizen)

Installation
-------------

```shell
pipx install commitizen
```

Auto-Check Commits via Git Hooks
---------------------------------

[![documentation](https://img.shields.io/badge/documentation-Manual_Git_Hook_Installation-077b70?style=flat)](https://commitizen-tools.github.io/commitizen/tutorials/auto_check/#method-2-manual-git-hook-installation)

```shell filename=".githooks/commit-msg"
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: 2026 Tomáš Havlas <tomas@havlas.me>
#
# Enforce the Conventional Commits format with Commitizen.

set -euo pipefail

if ! command -v cz >/dev/null 2>&1; then
  echo "no cz, try running 'pipx install commitizen'"
  exit 127
fi

git cz check --allow-abort --commit-msg-file "$1"
```