--- id: commitlint version: "2.0.0" license: GPL-3.0 license_treatment: copyleft maintenance: active --- # commitlint — commitlint is a pre-commit hook designed to lint your commit messages according to the Conventional Commits standard. License: copyleft · Maintenance: active · Downloads: 78.8K/mo ## 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 above — verify before relying. Lints commit messages against the Conventional Commits standard, enforcing consistent message format in Git repositories via pre-commit hooks or GitHub Actions. 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 pip install commitlint uv add commitlint poetry add commitlint ## Installing commitlint 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). 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 Requires pre-commit framework to be installed and initialized in your repository; the commit-msg hook type must be explicitly installed. 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_current - Install friction: low - Maintenance: active - Downloads: 78.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags commit message linter, conventional commits validation, git pre-commit hook, commit format checker, github actions commit lint, conventional commit enforcer, commit message style guide, git-workflow, commit-standards, ci-cd [View on SkillFed](https://skillfed.io/packages/commitlint) · [View on PyPI](https://pypi.org/project/commitlint/)