# Gitlint configuration
# Matches CI commitlint rules: @commitlint/config-conventional
# Docs: https://jorisroovers.com/gitlint/configuration/

[general]
# Enable conventional commit rules
contrib = contrib-title-conventional-commits

# Ignore rules that conflict with our workflow
# B6: Body message is missing - we allow short commits without body
# T5: Title contains "WIP" - redundant with conventional commit regex enforcement
ignore = B6,T5

# Verbosity
verbosity = 2

[title-max-length]
# Max header length: 100 characters (matches commitlint)
line-length = 100

[contrib-title-conventional-commits]
# Conventional commit types allowed
types = feat,fix,docs,style,refactor,perf,test,build,ci,chore,revert

# Title regex - enforce conventional commit format
# Pattern: type(scope): subject (allows uppercase for acronyms/identifiers like L1, API)
[body-max-line-length]
# Allow longer body lines - matches our commit style
line-length = 120

[title-match-regex]
regex = ^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?: [a-zA-Z].*$
