Configure options below — the preview updates in real time.

General

Top-level commitlint configuration options.

Shareable configuration packages or files to extend.

The formatter used to output issues encountered during linting.

The parser preset used to parse the commit messages.

Default IgnoresWhether to use the default ignore rules (auto-skips Merge, Revert, etc.).

Array of regex patterns. If a commit message matches any pattern, linting is skipped.

The help URL printed in the console when a commit validation fails.

Additional plugins containing custom rules to load.

Prompt configuration for interactive commit wizards like @commitlint/cz-commitlint. Set to a JSON object string.

Rules: Enums & Allow-lists

Rules that restrict commit message types and scopes to specific lists.

Limits the commit type to an exact array of allowed strings (e.g. feat, fix, chore).

Limits the commit scope to an exact array of allowed strings.

Rules: Case Formatting

Rules that enforce casing conventions on commit message parts.

Enforces the casing of the header.

Enforces the casing of the type.

Enforces the casing of the scope.

Enforces the casing of the subject.

Enforces the casing of the body.

Rules: Length Limits

Rules that enforce minimum and maximum character counts on commit message parts.

Max allowed characters in the header (72 is conventional default).

Min allowed characters in the header.

Max characters in the type.

Min characters in the type.

Max characters in the scope.

Min characters in the scope.

Max characters in the subject.

Min characters in the subject.

Max characters in the body.

Min characters in the body.

Max characters per line in the body.

Max characters in the footer.

Min characters in the footer.

Max characters per line in the footer.

Rules: Empty / Presence

Rules that check whether commit message parts are present or absent.

Checks if the type is absent/empty.

Checks if the scope is absent/empty.

Checks if the subject is absent/empty.

Checks if the body is absent/empty.

Checks if the footer is absent/empty.

Checks if references (like issue/PR numbers) are absent.

Rules: Full-Stop

Rules that check whether commit message parts end with a specific character.

Character the header should (or shouldn't) end with.

Character the subject should (or shouldn't) end with.

Character the body should (or shouldn't) end with.

Rules: Leading Blank

Rules that ensure blank lines exist before body and footer.

Ensures a blank line exists before the body.

Ensures a blank line exists before the footer.

Rules: Miscellaneous

Additional rules for trimming, sign-off, trailers, exclamation marks, and scope delimiters.

Checks that the header doesn't have leading or trailing whitespace.

Checks that the commit contains a sign-off token (e.g. "Signed-off-by:").

Checks that a specific git trailer exists (e.g. "Fixes" or "Resolves").

Checks that no exclamation mark is used in the subject (before the colon). Used by Angular convention.

Enforces that ! in the header and BREAKING CHANGE in the footer are used together (both present or both absent).

Allowed delimiters for multi-scope definitions.