# Install commitlint with Homebrew, Nix, winget

Lint commit messages according to a commit convention. Version 21.2.0 via Homebrew; verified 2026-07-01.

## Install

```sh
sudo av install brew:commitlint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install commitlint
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#commitlint
```

  Evidence: nixpkgs package indexes: pkgs/by-name/co/commitlint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id Commitlint.Commitlint -e
```

  Evidence: Windows Package Manager source index: Commitlint.Commitlint from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:commitlint
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/commitlint>
- **Version:** 21.2.0
- **Source summary:** Lint commit messages according to a commit convention
- **Homepage:** <https://commitlint.js.org/#/>
- **Repository:** <https://github.com/conventional-changelog/commitlint>
- **Upstream docs:** <https://commitlint.js.org/>
- **License:** MIT
- **Source archive:** <https://registry.npmjs.org/commitlint/-/commitlint-21.2.0.tgz>
- **Last updated:** 2026-07-01T12:49:47Z
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- commitlint (cli)
- commitlint (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 21.2.0
- Package-manager updated: 2026-07-01
- Local data: ok
- Upstream repository: https://commitlint.js.org/#/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

commitlint is a Node.js CLI and library family for checking commit messages against a convention, most commonly Conventional Commits.

### Project history

The project is part of the conventional-changelog GitHub organization and presents itself as the linting half of the Conventional Commits workflow. Its README describes three core package-culture concerns: being a good Commitizen companion, sharing configuration through npm, and integrating with conventional-changelog.

### Adoption history

The npm package history for `@commitlint/cli` dates to 2017. The official README describes commitlint as stable and used in various projects, with setup paths for local Git hooks and CI. The project also documents shareable npm configurations, which made commit rules reusable across JavaScript monorepos and organizations.

### How it is used

commitlint is usually run as a commit-msg hook through tools such as Husky, or in CI against commit ranges. Its configuration files and package.json field make it fit naturally into Node package workflows.

### Why package nerds care

For package maintainers, commitlint matters because it turns release-note and versioning conventions into a lintable contract. It is often paired with conventional-changelog, release automation, and Commitizen-style prompts.

### Timeline

- 2017: npm records public `@commitlint/cli` releases.
- 2020s: Official docs describe local-hook, CI, shared-config, and prompt workflows.
- 2026: npm continues to publish 21.x releases.

### Related projects

- commitlint is closely related to Conventional Commits, conventional-changelog, Commitizen, Husky, and npm shareable configuration packages.

### Sources

- <https://commitlint.js.org/>
- <https://github.com/conventional-changelog/commitlint>
- <https://raw.githubusercontent.com/conventional-changelog/commitlint/master/README.md>
- <https://registry.npmjs.org/@commitlint%2Fcli>


## Security Notes

No matching local secret-handling manifest was found for commitlint. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./commitlint.config.js, ./commitlint.config.cjs, ./commitlint.config.mjs, ./commitlint.config.ts, ./commitlint.config.cts, ./commitlint.config.mts, ./.commitlintrc, ./.commitlintrc.json, ./.commitlintrc.yaml, ./.commitlintrc.yml, ./.commitlintrc.js, ./.commitlintrc.cjs, ./.commitlintrc.mjs, ./.commitlintrc.ts, ./.commitlintrc.cts, ./.commitlintrc.mts, ./package.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** commitlint
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - commitlint: normalized package name match | nixpkgs package indexes: pkgs/by-name/co/commitlint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- winget - Commitlint.Commitlint: normalized package name match | Windows Package Manager source index: Commitlint.Commitlint from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [node](https://www.automicvault.com/pkg/brew/node/) - Runtime dependency declared by Homebrew.
- [committed](https://www.automicvault.com/pkg/brew/committed/) - Shares av.db curated category or tags: cli, commit-linting, developer-tools, git, version-control.
- [aicommit](https://www.automicvault.com/pkg/brew/aicommit/) - Shares av.db curated category or tags: cli, commit-messages, developer-tools, git, version-control.
- [aicommit2](https://www.automicvault.com/pkg/brew/aicommit2/) - Shares av.db curated category or tags: cli, commit-messages, developer-tools, git, version-control.
- [aicommits](https://www.automicvault.com/pkg/brew/aicommits/) - Shares av.db curated category or tags: cli, commit-messages, developer-tools, git, version-control.
- [commitizen](https://www.automicvault.com/pkg/brew/commitizen/) - Shares av.db curated category or tags: cli, conventional-commits, developer-tools, git, version-control.
- [czg](https://www.automicvault.com/pkg/brew/czg/) - Shares av.db curated category or tags: cli, conventional-commits, developer-tools, git, version-control.
- [koji](https://www.automicvault.com/pkg/brew/koji/) - Shares av.db curated category or tags: cli, conventional-commits, developer-tools, git, version-control.
- [braid](https://www.automicvault.com/pkg/brew/braid/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [commitlint](https://www.automicvault.com/pkg/npm/commitlint/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, commit, commitlint, conventional, developer.
- [commitlint](https://www.automicvault.com/pkg/npm/commitlint/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/commitlint.yml](https://github.com/automic-vault/db/blob/main/combined/commitlint.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
