diff --git a/.gitlint b/.gitlint new file mode 100644 index 0000000..36ce471 --- /dev/null +++ b/.gitlint @@ -0,0 +1,43 @@ +# Gitlint configuration file +# See https://jorisroovers.github.io/gitlint/configuration/ for documentation +# This configuration enforces conventional commit message format + +[general] +# Ignore specific rules if needed +ignore=body-changed-file-mention,body-match-regex,body-is-missing +# Enable search regex style to avoid warnings +regex-style-search=true + +[title-max-length] +# Maximum title length +line-length=50 + +[title-must-not-contain-word] +# Words that cannot be used in the title +words=WIP,TODO,FIXME + +[title-match-regex] +# Title must match conventional commit format +regex=^(feat|fix|docs|style|refactor|test|chore|ci|build|perf|revert)(\(.+\))?: .+ + +[body-max-line-length] +# Maximum line length in the body +line-length=72 + +[body-min-length] +# Minimum body length (0 = no minimum) +min-length=0 + +# Body is optional - disabled via ignore list above + +[ignore-by-title] +# Ignore specific commit titles +regex=(Merge|Revert|Initial commit) + +[ignore-by-body] +# Ignore specific commit bodies +regex=(Signed-off-by|Co-authored-by) + +[ignore-by-author-name] +# Ignore commits by specific authors +regex=(dependabot|renovate)