Lint your commits
Shareable commitlint
config enforcing conventional commits. Use with
@commitlint/cli and @commitlint/prompt-cli.
npm install --save-dev @wowvendor/commitlint-config @commitlint/cli
echo "module.exports = {extends: ['@wowvendor/commitlint-config']};" > commitlint.config.js
The following rules are considered problems for @commitlint/config-conventional
and will yield a non-zero exit code
when not met.
Consult docs/rules for a list of available rules.
-
condition:
type
is found in value -
rule:
always
-
value
[ 'feat', // A new feature 'fix', // A bug fix 'wip', // Work in progress 'chore', // Build process or auxiliary tool changes 'refactor', // A code change that neither fixes a bug or adds a feature 'style', // Markup, white-space, formatting, missing semi-colons... 'test', // Adding missing tests 'perf', // A code change that improves performance, 'docs', // Documentation only changes 'ci', // CI related changes 'revert', // Revert to a commit ];
echo "foo: some message" # fails
echo "fix: some message" # passes
-
description:
type
is in casevalue
-
rule:
always
-
value
'lower-case';
echo "FIX: some message" # fails
echo "fix: some message" # passes
-
condition:
type
is empty -
rule:
never
echo ": some message" # fails
echo "fix: some message" # passes
-
condition:
scope
is in casevalue
-
rule:
always
'kebab-case';
echo "fix(SCOPE): some message" # fails
echo "fix(scope): some message" # passes
echo "fix(some-scope): some message" # passes
-
condition:
subject
is in one of the cases['sentence-case', 'start-case', 'pascal-case', 'upper-case']
-
rule:
never
echo "fix(SCOPE): Some message" # fails
echo "fix(SCOPE): Some Message" # fails
echo "fix(SCOPE): SomeMessage" # fails
echo "fix(SCOPE): SOMEMESSAGE" # fails
echo "fix(scope): some message" # passes
echo "fix(scope): some Message" # passes
-
condition:
subject
is empty -
rule:
never
echo "fix:" # fails
echo "fix: some message" # passes
-
condition:
subject
ends withvalue
-
rule:
never
- value
'.';
echo "fix: some message." # fails
echo "fix: some message" # passes
-
condition:
header
hasvalue
or less characters -
rule:
always
- value
100;
echo "fix: lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore" # fails
echo "fix: some message" # passes