# .gitlint configuration for kubernetes-sigs/karpenter-provider-ibm-cloud

[general]
# Ignore merge commits, revert commits, fixup commits, and squash commits
ignore-merge-commits=true
ignore-revert-commits=true
ignore-fixup-commits=true
ignore-squash-commits=true

# Fix regex warnings
regex-style-search=true

# Allow body-less commits for simple changes
ignore=body-is-missing

# Enable debug mode (useful for troubleshooting)
# debug=true

[title-max-length]
line-length=72

[title-min-length]
min-length=10

[title-must-not-contain-word]
# Words that should not appear in commit titles
words=wip,WIP,temp,TEMP,fixme,FIXME,todo,TODO,hack,HACK

[body-max-line-length]
line-length=80

[body-min-length]
min-length=10

[body-not-informative]
# Prevent uninformative body messages

[title-match-regex]
# Enforce conventional commits format: type(scope): description
# Examples: feat(nodepool): add spot instance support
#           fix: resolve memory leak in controller
#           docs(readme): update installation instructions
regex=^(feat|fix|docs|style|refactor|test|chore|ci|perf|build|revert)(\(.+\))?: .+

[ignore-by-title]
# Ignore commits with these title patterns
regex=^(Merge|Release|Version|Bump|Initial commit).*

[ignore-by-author-name]
# Ignore commits from automated tools
regex=^(dependabot|renovate|github-actions).*
