In simple English
Writing good project notes and release logs takes a lot of time. People often forget steps or write unclear messages. This tool guides you through writing clean commit messages. It updates your version numbers and builds your release notes automatically. It costs nothing to run, but your team must agree to follow its formatting rules.
What it is
Commitizen is a command-line utility for Python that enforces standardized commit messages and automates software releases. It reads your git history to bump version numbers, tag commits and generate markdown changelogs.
What it is good for
Solo builders and small teams who want to stop writing release notes by hand and keep a clean, uniform git history without extra project management overhead.
- Walks you through writing structured commit messages step by step.
- Updates version numbers and project files automatically with a single command.
- Generates clean changelogs from your commit history without extra plugins.
- Requires Python 3.10 or newer installed on your system.
- Everyone on your team must use the tool or follow the exact commit format.
- Fails to generate useful notes if your past commit history is messy.
Writing release notes and updating version numbers by hand
Pre-commit hooks for automated code checks
- semantic-release/semantic-release24k stars
Another popular release automation tool that works primarily in Node and JavaScript ecosystems.
- dyad-sh/dyad22k stars
A desktop program that builds a web application from a written description, running locally with keys the user supplies.
- stackblitz-labs/bolt.diy20k stars
Turns a written description into a running web application in the browser, with any of more than 22 model providers.
- cloudflare/vibesdk5.4k stars
An open platform for running an application-building service, built end to end on one company's infrastructure.
pipx install commitizen