Welcome to git-cliff
git-cliff is a highly customizable changelog generator that follows Conventional Commits specifications. Written in Rust, it generates changelogs from your Git history using regex-powered custom parsers and flexible templates.
What is git-cliff?
With git-cliff, you can automatically generate professional changelogs from your Git history. Whether you follow conventional commits or have your own commit style, git-cliff adapts to your workflow through powerful configuration options. The tool analyzes your Git commits, groups them by type (features, bug fixes, breaking changes, etc.), and generates beautifully formatted changelogs in Markdown or any other format you desire using the Tera templating engine.Why use git-cliff?
Highly Customizable
Customize every aspect of your changelog with Tera templates and regex-powered commit parsers. Match your project’s style perfectly.
Conventional Commits
Built-in support for conventional commits specification with automatic grouping by commit type (feat, fix, docs, etc.).
Git Integration
Native integration with GitHub, GitLab, Gitea, Bitbucket, and Azure DevOps. Pull in PR titles, labels, and contributor information.
Fast and Reliable
Written in Rust for blazing-fast performance. Process thousands of commits in seconds.
Key Features
Flexible Commit Parsing
Parse commits using conventional commit patterns or define your own custom regex parsers:Powerful Templating
Customize your changelog output with Tera templates. Access commit metadata, generate links, and format output exactly how you need:Remote Integration
Fetch pull request metadata, contributor information, and more from your Git hosting service:- Pull request titles and links
- First-time contributor recognition
- PR labels for custom grouping
- Automatic version comparisons
Version Bumping
Automatically determine the next semantic version based on commit types:Get Started
Quickstart
Get up and running with git-cliff in under 5 minutes
Installation
View all installation methods for your platform
Configuration
Learn how to configure git-cliff for your project
Templating
Customize your changelog format with templates
Real-World Example
Here’s an example of changelog output generated by git-cliff from its own repository:The
git cliff command can be used interchangeably with git-cliff (with a hyphen) in most environments when git is installed.