# conventional-changelog/commitlint

**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-commitlint).**

18,324 stars · 955 forks · TypeScript · mit

## Links

- GitHub: https://github.com/conventional-changelog/commitlint
- Homepage: https://commitlint.js.org
- awesome-repositories: https://awesome-repositories.com/repository/conventional-changelog-commitlint.md

## Topics

`commit` `conventions` `git` `lint`

## Description

Commitlint is a command-line utility designed to lint and validate Git commit messages against established conventions. By parsing commit messages into structured components, it ensures that project history remains consistent, which facilitates automated changelog generation and semantic versioning.

The tool distinguishes itself through a schema-driven validation engine that supports custom rule definitions and plugin-based extensions. It enables standardized project governance by allowing teams to distribute and inherit shared configuration rule sets across multiple repositories, ensuring uniform formatting standards regardless of the development environment.

Beyond core validation, the project provides an interactive terminal interface that guides developers through the creation of compliant messages in real time. It includes a customizable error reporting pipeline and supports complex scope categorization, allowing for precise tracking of changes within version control metadata. The software is distributed as a package-based utility, enabling integration into automated workflows to enforce formatting requirements at the point of commit.

## Tags

### Development Tools & Productivity

- [Commit Standards](https://awesome-repositories.com/f/development-tools-productivity/commit-standards.md) — Validates Git commit messages against established conventions to ensure consistent project history and automated changelog generation.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides an interactive command-line interface for constructing compliant commit messages.
- [Interactive Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces/advanced-execution-environments/interactive-command-line-interfaces.md) — Provides a stateful terminal interface that guides users through compliant message creation.
- [Development Workflows](https://awesome-repositories.com/f/development-tools-productivity/development-workflows.md) — Guides developers through writing compliant commit messages directly in the terminal.

### DevOps & Infrastructure

- [Commit Checkers](https://awesome-repositories.com/f/devops-infrastructure/version-control-automation/commit-based-versioning-engines/commit-checkers.md) — Assists developers in constructing compliant commit messages through an interactive interface. ([source](https://commitlint.js.org/reference/configuration.html))
- [Commit-Based Versioning Engines](https://awesome-repositories.com/f/devops-infrastructure/version-control-automation/commit-based-versioning-engines.md) — Parses and categorizes commit metadata to support automated semantic versioning.
- [Configuration Distribution and Sharing](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-distribution-and-sharing.md) — Distributes and synchronizes shared configuration rule sets across multiple repositories to maintain uniform commit standards.

### Software Engineering & Architecture

- [Data Validation Schemas](https://awesome-repositories.com/f/software-engineering-architecture/data-validation-schemas.md) — Evaluates parsed commit data against defined constraints to ensure project-specific formatting compliance.
- [Project Governance Standards](https://awesome-repositories.com/f/software-engineering-architecture/project-governance-standards.md) — Distributes and enforces shared commit rules across repositories to maintain project consistency.
- [Custom Validation Rules](https://awesome-repositories.com/f/software-engineering-architecture/custom-validation-rules.md) — Allows defining custom validation rules to enforce specific project formatting requirements. ([source](https://commitlint.js.org/guides/getting-started.html))
- [Configuration Inheritance](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/hierarchical-configuration-systems/configuration-inheritance.md) — Resolves rule sets by merging local project settings with shared external configurations.
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures.md) — Allows extending core validation logic through dynamically loaded external plugins.
- [Abstract Syntax Tree Parsers](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsers.md) — Decomposes commit messages into structured components to enable precise validation of types and scopes.
- [Rule Package Distributions](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/automation-and-templating-frameworks/rule-package-distributions.md) — Enables sharing common commit rules via installable packages across development teams. ([source](https://commitlint.js.org))

### Artificial Intelligence & ML

- [Convention Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/external-tool-integrations/convention-integrations.md) — Supports importing external rule sets from shared packages to enforce standardized commit formats. ([source](https://commitlint.js.org/concepts/shareable-config.html))
