# conventional-changelog/conventional-changelog

**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/conventional-changelog-conventional-changelog).**

8,460 stars · 737 forks · TypeScript · ISC

## Links

- GitHub: https://github.com/conventional-changelog/conventional-changelog
- awesome-repositories: https://awesome-repositories.com/repository/conventional-changelog-conventional-changelog.md

## Description

Conventional Changelog is a set of tools for automatically generating formatted release notes by parsing Git commit messages that follow a structured specification. It includes a commit message parser to transform raw strings into structured data, a changelog generator for producing release notes, and a commit linter to ensure messages adhere to specific conventions before they are merged.

The project provides a system for semantic versioning automation, analyzing commit history to recommend the next version bump based on the types of changes recorded. It supports extensibility through configuration presets and templates, allowing the output to match specific organizational styles or ecosystem standards.

The toolset covers broader capabilities such as commit message standardization, git workflow integration, and version management. It handles large volumes of commit data using stream-based processing and can filter the commit range by analyzing repository tags and package metadata.

## Tags

### Development Tools & Productivity

- [Release Changelog Generators](https://awesome-repositories.com/f/development-tools-productivity/project-changelogs/release-changelog-generators.md) — Automatically generates detailed release changelogs by parsing structured commit history. ([source](https://github.com/conventional-changelog/conventional-changelog#readme))
- [Commit Verification Tools](https://awesome-repositories.com/f/development-tools-productivity/commit-message-generators/commit-verification-tools.md) — Conventional Changelog parses commit messages from files or an interactive shell to verify they adhere to the expected format. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-commits-parser))
- [Convention Validators](https://awesome-repositories.com/f/development-tools-productivity/commit-message-generators/convention-validators.md) — Conventional Changelog checks commit messages against a specific convention to ensure they are formatted correctly before merging. ([source](https://github.com/conventional-changelog/conventional-changelog#readme))
- [Message Linters](https://awesome-repositories.com/f/development-tools-productivity/commit-message-generators/message-linters.md) — Conventional Changelog validates that commit summaries follow a specific tag and length format to ensure consistency for automated logs. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-eslint))
- [Commit Standards](https://awesome-repositories.com/f/development-tools-productivity/commit-standards.md) — Enforces commit message standards to ensure history readability and compatibility with automated tools.
- [Changelog Formatting Presets](https://awesome-repositories.com/f/development-tools-productivity/changelog-formatting-presets.md) — Provides formatting presets to tailor release notes to specific project standards like JSHint. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-jshint))
- [Release Note Templates](https://awesome-repositories.com/f/development-tools-productivity/release-note-templates.md) — Produces the final release notes by injecting parsed commit data into customizable structural templates.

### DevOps & Infrastructure

- [Commit-Based Versioning Engines](https://awesome-repositories.com/f/devops-infrastructure/version-control-automation/commit-based-versioning-engines.md) — Calculates the required version bump by scanning commit types for breaking changes or feature additions.
- [GitHub Release Automators](https://awesome-repositories.com/f/devops-infrastructure/release-automation/github-release-automators.md) — Automates the generation of release notes suitable for platforms like GitHub by parsing commit messages.

### Data & Databases

- [Commit Message Parsers](https://awesome-repositories.com/f/data-databases/atomic-commit-logs/catalog-based-commit-coordinators/commit-message-parsers.md) — Transforms raw Git commit strings into structured data objects for use in changelogs.
- [Conventional Commit Parsers](https://awesome-repositories.com/f/data-databases/atomic-commit-logs/catalog-based-commit-coordinators/commit-message-parsers/conventional-commit-parsers.md) — Conventional Changelog transforms raw commit messages into structured objects based on a conventional specification for use in logs. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/.czrc))
- [Format Validators](https://awesome-repositories.com/f/data-databases/atomic-commit-logs/catalog-based-commit-coordinators/commit-message-parsers/format-validators.md) — Provides a commit linter to ensure messages follow a consistent format before they are merged.

### Software Engineering & Architecture

- [Templates](https://awesome-repositories.com/f/software-engineering-architecture/changelogs/changelog-renderers/templates.md) — Conventional Changelog modifies the layout and structure of the output using templates and custom partials. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-writer))
- [Stream-Based Commit Processing](https://awesome-repositories.com/f/software-engineering-architecture/stream-based-commit-processing.md) — Uses transform streams and async generators to process large volumes of commits without memory exhaustion. ([source](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-commits-parser))

### Part of an Awesome List

- [Package Management](https://awesome-repositories.com/f/awesome-lists/devtools/package-management.md) — Automated changelog generation from commit messages.
