commitlint
commitlint is a pre-commit hook designed to lint your commit messages according to the Conventional Commits standard.
Decision gist · record as of 2026-08-14
Yes, if you use Conventional Commits or want to adopt them. The package is actively maintained, has no dependencies, installs easily, and integrates seamlessly into pre-commit or GitHub Actions workflows. The GPL-3.0 license is a consideration for proprietary codebases; verify compatibility with your project's licensing model before adopting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires pre-commit framework to be installed and initialized in your repository; the commit-msg hook type must be explicitly installed.
- Low install friction with no runtime dependencies.
- Actively maintained with recent releases and a live repository; supports modern Python versions (3.10–3.14).
License · maintenance · safety
GPL-3.0 (copyleft) — Licensed under GPL-3.0 (copyleft). Use in proprietary projects requires careful review; derivative works and distributions must also be GPL-3.0.
last release 2026-07-29 (16 days) · last repo commit 2026-07-29 · 37 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 78,788 downloads/mo, #14,407 on PyPI
Alternatives
Verify before relying
# Pre-commit hook setup
# Add to .pre-commit-config.yaml:
repos:
- repo: https://github.com/opensource-nepal/commitlint
rev: v1.3.0
hooks:
- id: commitlint
# Then run:
pre-commit install --hook-type commit-msg- Whether the package can be used standalone from the CLI without pre-commit or GitHub Actions integration.
- Performance characteristics when linting large numbers of commits or in high-volume CI/CD pipelines.
- Customization options for Conventional Commits rules beyond the standard specification.
What it is and what it does
Commitlint is a linter that validates commit messages conform to the Conventional Commits standard, a specification for structuring commit messages with type, scope, and description. It integrates into Git workflows as a pre-commit hook (via the pre-commit framework) or as a GitHub Action, catching non-compliant messages before they enter the repository.
The tool is designed for teams that want to enforce consistent commit message style automatically. It runs with zero runtime dependencies and supports Python 3.10 and later. Configuration is minimal—you either add it to a pre-commit config file or include it in a GitHub workflow—and it can optionally check header length and fail the commit or workflow step if violations are found.
Use it for
- Enforce Conventional Commits in team repositories to keep commit history readable and enable automated changelog generation.
- Integrate into GitHub Actions workflows to validate all incoming pull requests and pushes without local setup.
- Use as a pre-commit hook to catch commit message violations before they reach the repository, blocking non-compliant commits locally.
- Maintain consistent commit message format across multiple projects by standardizing on Conventional Commits.
- Prevent commits starting with '#' or other non-standard patterns from entering the codebase.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you use Conventional Commits or want to adopt them.
The package is actively maintained, has no dependencies, installs easily, and integrates seamlessly into pre-commit or GitHub Actions workflows. The GPL-3.0 license is a consideration for proprietary codebases; verify compatibility with your project's licensing model before adopting.
Install
commitlint on PyPI
Before you install
Low install friction with no runtime dependencies. Actively maintained with recent releases and a live repository; supports modern Python versions (3.10–3.14).
Requires pre-commit framework to be installed and initialized in your repository; the commit-msg hook type must be explicitly installed.
License in practice
Licensed under GPL-3.0 (copyleft). Use in proprietary projects requires careful review; derivative works and distributions must also be GPL-3.0.
Quickstart
# Pre-commit hook setup
# Add to .pre-commit-config.yaml:
repos:
- repo: https://github.com/opensource-nepal/commitlint
rev: v1.3.0
hooks:
- id: commitlint
# Then run:
pre-commit install --hook-type commit-msg
Verify before relying
- Whether the package can be used standalone from the CLI without pre-commit or GitHub Actions integration.
- Performance characteristics when linting large numbers of commits or in high-volume CI/CD pipelines.
- Customization options for Conventional Commits rules beyond the standard specification.
Package facts
| License | GPL-3.0 copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,788 / month, #14,407 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: commitlint-2.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “github actions commit lint”
- commitlintLints commit messages against the Conventional Commits standard,…
- actionlint-pyactionlint-py provides a pip-installable wrapper that downloads and…
- ansible-lintansible-lint checks Ansible playbooks and roles for practices that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also actionlint-py · commitizen · conventional-pre-commit · commit-check · github-action-utils · gitlint-core · ansible-lint · pre-commit · git-cliff · prek