A customizable changelog generator that follows Conventional Commit specifications and uses regex-powered custom parsers.
git-cliff is a command-line tool that automatically generates changelog files from a project's Git history. It parses commit messages using Conventional Commit specifications and customizable regex patterns, then formats the output with a templating system to produce professional, structured changelogs.
Developers and teams who follow conventional commit standards and need automated, consistent changelog generation for release management, especially those integrating it into CI/CD pipelines.
It offers extensive customization through regex parsers and templates, supports monorepos, and automates changelog creation to reduce manual effort while ensuring adherence to commit standards.
A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically categorizes commits into standard sections like feat, fix, and chore, ensuring consistent and readable changelogs directly from commit history.
Uses regex patterns to define custom commit message parsers, allowing teams to adapt to various commit formats beyond Conventional Commits.
Offers a full templating system via configuration files, enabling complete control over changelog structure, styling, and output format.
Capable of generating changelogs for projects with multiple packages or workspaces, handling complex versioning and release scenarios.
Designed for automation in pipelines, with examples for GitHub Actions and Docker, facilitating seamless release management.
Setting up custom parsers and templates requires understanding regex and the templating syntax, which can be complex for users new to such tools.
The quality of generated changelogs is directly tied to the consistency and format of commit messages, making it less effective for projects with poor commit hygiene.
As a Rust tool, it requires Rust installation or reliance on pre-built binaries, which might not align with all development environments or preferences.
While customizable, the default templates may not suit all needs, necessitating additional configuration effort for specific styling or formatting requirements.