Repo of the Day
orhun/git-cliff
Published: Nov 10, 2026
Open repository ↗A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
Summary
git-cliff is a Rust changelog generator that turns Git history into changelog files. It understands Conventional Commits and can use regex-powered custom parsers, while a configuration file lets teams customize the changelog template and format.
What it is useful for
Use git-cliff when a project needs changelog or release-note content derived from commits instead of maintaining it by hand. It fits three concrete cases:
- A team follows Conventional Commits and wants its existing history converted into a changelog.
- A repository contains another commit-message convention and the team needs to describe that format with a custom regular-expression parser.
- Different projects or teams require different changelog layouts; the template is controlled through configuration rather than being fixed by the tool.
It can also serve projects evaluating monorepo changelog generation: the README links a community introduction specifically to git-cliff and monorepos, although configuration details are not included in the supplied README.
The supplied README does not state explicit limitations. It shows that parsing and presentation are configuration-driven, and it documents changelog generation—not version calculation, release publishing, or artifact uploads. Engineers should therefore verify current command behavior and required inputs in the official usage documentation rather than assume a particular release workflow.
How engineers can use it
-
Install it using the documented path. The README links the official installation documentation but does not provide a complete installation command, so use that page for the current instructions.
-
Choose a commit parser. If the team uses Conventional Commits, ensure the commits being parsed follow that format. For other message patterns, define a regex-powered custom parser using the Git configuration documentation.
-
Create a configuration file. Use the configuration guide and templating documentation to select the parser and define the desired changelog format.
-
Generate and review the result. Follow the README’s linked usage examples for the exact invocation, run the generator against the repository, and inspect the resulting changelog before including it in a release.
For an initial adoption, start with one repository, keep its configuration with the project, and compare the generated output with the team’s expected release-note format. The README does not document a separate validation command, so none is assumed here.