blob: 8d37da19e0fb2bcfe3a3462c003d6faa198c515b [file] [log] [blame]
Andrew Grimbergea19c6d2023-05-03 09:43:27 -07001# All these sections are optional, edit this file as you like.
2[general]
3# Ignore certain rules, you can reference them by their id or by their full
4# name
5# ignore=title-trailing-punctuation, T3
6
7# verbosity should be a value between 1 and 3, the command line -v flags take
8# precedence over this
9# verbosity = 2
10
11# By default gitlint will ignore merge commits. Set to 'false' to disable.
12# ignore-merge-commits=true
13
14# By default gitlint will ignore fixup commits. Set to 'false' to disable.
15# ignore-fixup-commits=true
16
17# By default gitlint will ignore squash commits. Set to 'false' to disable.
18# ignore-squash-commits=true
19
20# Enable debug mode (prints more output). Disabled by default.
21# debug=true
22
23# Set the extra-path where gitlint will search for user defined rules
24# See http://jorisroovers.github.io/gitlint/user_defined_rules for details
25# extra-path=examples/
26
27# contrib=contrib-title-conventional-commits,contrib-body-requires-signed-off-by
28contrib=contrib-body-requires-signed-off-by
29
30# [title-max-length]
31# line-length=80
32
33# [title-must-not-contain-word]
34# Comma-separated list of words that should not occur in the title. Matching is
35# case insensitive. It's fine if the keyword occurs as part of a larger word
36# (so "WIPING" will not cause a violation, but "WIP: my title" will.
37# words=wip
38
39# [title-match-regex]
40# python like regex (https://docs.python.org/2/library/re.html) that the
41# commit-msg title must be matched to.
42# Note that the regex can contradict with other rules if not used correctly
43# (e.g. title-must-not-contain-word).
44# regex=^US[0-9]*
45
46# [B1]
47# B1 = body-max-line-length
48# line-length=120
49
50# [body-min-length]
51# min-length=5
52
53# [body-is-missing]
54# Whether to ignore this rule on merge commits (which typically only have a title)
55# default = True
56# ignore-merge-commits=false
57
58# [body-changed-file-mention]
59# List of files that need to be explicitly mentioned in the body when they are
60# changed This is useful for when developers often erroneously edit certain
61# files or git submodules. By specifying this rule, developers can only change
62# the file when they explicitly reference it in the commit message.
63# files=gitlint/rules.py,README.md
64
65# [author-valid-email]
66# python like regex (https://docs.python.org/2/library/re.html) that the
67# commit author email address should be matched to
68# For example, use the following regex if you only want to allow email
69# addresses from foo.com
70# regex=[^@]+@foo.com
71
72# [ignore-by-title]
73# Ignore certain rules for commits of which the title matches a regex
74# E.g. Match commit titles that start with "Release"
75# regex=^Release(.*)
76#
77# Ignore certain rules, you can reference them by their id or by their full name
78# Use 'all' to ignore all rules
79# ignore=T1,body-min-length
80
81# [ignore-by-body]
82# Ignore certain rules for commits of which the body has a line that matches a
83# regex
84# E.g. Match bodies that have a line that contain "release"
85# regex=(.*)release(.*)
86#
87# Ignore certain rules, you can reference them by their id or by their full name
88# Use 'all' to ignore all rules
89# ignore=T1,body-min-length
90
91# Enable Conventional Commit subject line enforcement
92# https://www.conventionalcommits.org/en/v1.0.0/
93#
94# Since we want all subjects to be well formed, enforce the topics
95# to the following (fairly standard) topics and require them to be Mixed Case
96# [contrib-title-conventional-commits]
97# types=Fix,Feat,Chore,Docs,Style,Refactor,Perf,Test,Revert,CI,Build