# orhun/git-cliff

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/orhun-git-cliff).**

11,402 stars · 269 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/orhun/git-cliff
- Homepage: https://git-cliff.org
- awesome-repositories: https://awesome-repositories.com/repository/orhun-git-cliff.md

## Topics

`changelog` `changelog-generator` `commit` `conventional-changelog` `conventional-commit` `conventional-commits` `generator` `git` `git-cliff` `hacktoberfest` `keepachangelog` `rust` `semver`

## Description

This project is a version control documentation tool designed to automate the generation of release notes and changelogs. It functions as a pipeline-based engine that parses repository history, categorizes commits, and transforms them into structured documentation. By leveraging conventional commit patterns or custom regular expressions, it provides a consistent method for tracking project evolution and managing semantic versioning.

What distinguishes this tool is its highly flexible template-driven architecture, which allows for deep customization of output formatting, grouping, and sorting. It supports complex project structures, including monorepos and nested submodules, by enabling path-based scoping and multi-repository aggregation. Users can enrich their documentation with external metadata from remote hosting services or maintain strict control over the process by operating in a fully offline, local-first mode.

The system offers extensive configuration options to tailor the documentation lifecycle, including commit preprocessing, filtering, and environment-specific settings. It integrates into continuous integration pipelines to automate updates, supports the export of documentation to formats like PDF, and provides diagnostic tools to monitor performance during the generation process.

## Tags

### Development Tools & Productivity

- [Release Changelog Generators](https://awesome-repositories.com/f/development-tools-productivity/project-changelogs/release-changelog-generators.md) — Automatically generates structured release notes by parsing commit history and repository metadata.
- [Repository Documentation Generators](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/repository-documentation-generators.md) — Extracts and transforms repository history into professional documentation formats like Markdown or PDF.
- [Commit Standards](https://awesome-repositories.com/f/development-tools-productivity/commit-standards.md) — Analyzes commit messages using conventional patterns to categorize changes for project history.
- [Version Control and Repository Tools](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools.md) — Combines commit histories from multiple distinct repositories into a single unified document to track changes across an entire project ecosystem. ([source](https://git-cliff.org/docs/category/usage))
- [CI/CD Integrations](https://awesome-repositories.com/f/development-tools-productivity/ci-cd-integrations.md) — Executes documentation creation within continuous integration pipelines to automate updates. ([source](https://git-cliff.org/docs/category/github-actions))
- [Changelog Metadata Retrievers](https://awesome-repositories.com/f/development-tools-productivity/integration-metadata-retrievers/changelog-metadata-retrievers.md) — Retrieves commit and release details from hosted version control services to enrich automated changelogs with external data. ([source](https://git-cliff.org/docs/category/integration))
- [Template-Driven Reporters](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-configuration/project-insight-reporters/template-driven-reporters.md) — Transforms raw commit data into highly formatted documents using flexible templates.
- [Path-Based Filtering Rules](https://awesome-repositories.com/f/development-tools-productivity/commit-management/path-based-filtering-rules.md) — Filters commits based on modified file paths to focus documentation on specific project areas. ([source](https://git-cliff.org/docs/configuration/git))
- [Regex Categorization Rules](https://awesome-repositories.com/f/development-tools-productivity/commit-management/regex-categorization-rules.md) — Groups commits into specific sections based on regex matching against commit metadata and messages. ([source](https://git-cliff.org/docs/configuration/git))
- [Changelog File Managers](https://awesome-repositories.com/f/development-tools-productivity/local-file-syncing/local-file-managers/changelog-file-managers.md) — Creates new documentation files or prepends updates to existing files for ongoing maintenance. ([source](https://git-cliff.org/docs/usage/examples))
- [Repository Hosting Integrations](https://awesome-repositories.com/f/development-tools-productivity/repository-hosting-integrations.md) — Connects to remote hosting services via authentication tokens to retrieve metadata for automated changelog generation. ([source](https://git-cliff.org/docs/configuration/remote))
- [Submodule Management Tools](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/repository-utilities/repository-configuration-utilities/submodule-management-tools.md) — Incorporates commit history from nested version control submodules into the primary project documentation. ([source](https://git-cliff.org/docs/category/usage))

### DevOps & Infrastructure

- [Release Automation](https://awesome-repositories.com/f/devops-infrastructure/release-automation.md) — Automates semantic version calculation and release documentation generation within CI pipelines.
- [Semantic Versioning Systems](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/semantic-versioning-systems.md) — Calculates and suggests next version numbers based on unreleased changes to ensure consistent release numbering.
- [Continuous Integration Pipelines](https://awesome-repositories.com/f/devops-infrastructure/continuous-integration-pipelines.md) — Integrates documentation generation into automated CI pipelines to produce updated history files.
- [Offline Build Environments](https://awesome-repositories.com/f/devops-infrastructure/offline-build-environments.md) — Produces version history reports using only local repository data to avoid network dependencies. ([source](https://git-cliff.org/docs/tips-and-tricks))

### Content Management & Publishing

- [Data-Driven Templates](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/rendering-visualization/document-rendering/data-driven-templates.md) — Injects processed commit metadata into customizable text templates to generate structured documentation.

### Web Development

- [Monorepo Changelog Generators](https://awesome-repositories.com/f/web-development/monorepo-tooling/monorepo-changelog-generators.md) — Generates isolated or unified changelogs by filtering commit history across specific subdirectories and submodules.

### Data & Databases

- [Output Template Engines](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/output-template-engines.md) — Provides a flexible template engine with conditional logic and variable injection for formatting documentation output. ([source](https://git-cliff.org/docs/category/templating))

### Software Engineering & Architecture

- [Pipeline Architectures](https://awesome-repositories.com/f/software-engineering-architecture/pipeline-architectures.md) — Organizes commit analysis and documentation generation into a sequential, decoupled pipeline of transformation steps.
- [Filters](https://awesome-repositories.com/f/software-engineering-architecture/access-rules/path-based/filters.md) — Generates documentation for specific subdirectories by focusing analysis on relevant file paths. ([source](https://git-cliff.org/docs/category/usage))
- [Changelog Renderers](https://awesome-repositories.com/f/software-engineering-architecture/changelogs/changelog-renderers.md) — Enables definition of document structure and content through customizable templates to match project standards. ([source](https://git-cliff.org/docs/))
- [Local-First Architectures](https://awesome-repositories.com/f/software-engineering-architecture/local-first-architectures.md) — Prioritizes local repository analysis for high performance and offline functionality while optionally integrating remote data.
- [Declarative Configurations](https://awesome-repositories.com/f/software-engineering-architecture/declarative-configurations.md) — Uses structured configuration files to define the behavior and formatting rules of the changelog generation process.
- [Regex-Based Parsers](https://awesome-repositories.com/f/software-engineering-architecture/syntax-parsing-engines/regex-based-parsers.md) — Uses regular expressions to parse and categorize raw commit messages into structured data segments.

### Networking & Communication

- [Remote Service Clients](https://awesome-repositories.com/f/networking-communication/remote-service-clients.md) — Extracts pull request details from hosting services to enrich documentation with external context. ([source](https://git-cliff.org/docs/))
