Lint commit messages
- ๐ Enforce commit conventions
- ๐ค Plays nice with
conventional-changelog - ๐ฆ Supports shareable configuration
npm install --save-dev @commitlint/{angular,cli}
echo '{"extends": ["@commitlint/config-angular"]}' > .commitlintrc
- Primary way to interact with commitlint.
npm install --save-dev @commitlint/cli- Packages: cli
- Configuration is picked up from
.commitlintfiles - Packages: cli, core
- See Rules for a complete list of possible rules
- An example configurations can be found at @commitlint/config-angular
A number of shared configurations are available to install and use with commitlint:
- @commitlint/config-angular
- @commitlint/config-lerna-scopes
- @commitlint/config-patternplate
- conventional-changelog-lint-config-atom
- conventional-changelog-lint-config-canonical
- Alternative, programatic way to interact with
commitlint npm install --save @commitlint/core- Packages: core
- See API for a complete list of methods and examples
- Node.js LTS version and higher:
>= 4 - git
>= 2
- angular-precommit โ Pre commit with angular conventions
- conventional-changelog โ Generate a changelog from conventional commit history
- conventional-commits-detector โ Detect what commit message convention your repository is using
- conventional-github-releaser โ Make a new GitHub release from git metadata
- commitizen โ Simple commit conventions for internet citizens
Copyright by @marionebl. All commitlint packages are released under the MIT license.
commitlint is developed in a mono repository.
git clone [email protected]:marionebl/commitlint.git
cd commitlint
npm install
npm start # run tests, again on change
npm run build # run build tasks