home / github / git-cliff

git-cliff

12k

Generate changelogs and release notes from Git history using conventional commits or custom parsers.

$brew install git-cliff
Language
Rust
Stars
11,537
Category
GitHub & Git
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

git-cliff generates changelogs and release notes from Git history using conventional commits or custom parsers and templates. It is built for release workflows where you want reproducible notes, optional remote metadata, and semver bumps from the shell.

What It Enables
  • Generate changelogs for full history, unreleased work, specific tag ranges, or merged history across multiple repositories.
  • Shape release notes with config and templates, filter commits by path, tag, or range, and write or prepend CHANGELOG.md in CI.
  • Export changelog context as JSON, reuse JSON context as input, and enrich releases with contributor or pull request metadata from GitHub, GitLab, Gitea, Bitbucket, or Azure DevOps.
Agent Fit
  • --context gives real JSON output, and the main workflow is flag-driven and non-interactive, so it fits scripted release pipelines well.
  • Best used as a release-notes primitive: an agent can inspect commit ranges, render notes, and calculate the next version, then hand off tagging or publishing to other tools.
  • Fit depends on commit hygiene and config quality; without conventional commits or tuned parsers, generated output can be noisy.
Caveats
  • It generates changelog content but does not create Git tags or publish releases for you.
  • Remote enrichment needs tokens or API access, and offline runs skip that extra metadata.