Commit message guidelines (CI-enforced)
May 13, 2026 ยท View on GitHub
These align with the gitlint rules run in CI.
Subject (first line)
- Max 72 characters.
- Use imperative mood when reasonable (e.g., "Fix crash on startup").
- No trailing punctuation (e.g., don't end with a period).
- No tabs, no leading/trailing whitespace.
Body (optional)
- Blank line after the subject.
- Wrap lines at 80 characters.
- Explain what and why over how; link issues like "Fixes #1234" when applicable.
- No hard tabs, no trailing whitespace.
- Gitlint ignores the B1 body-length rule for generated agent metadata lines such as the
Agent-Logs-Url:footer and the Copilot Autofix co-author line.
Helpful commands (Windows PowerShell)
python -m pip install --upgrade gitlint
git fetch origin
gitlint --ignore body-is-missing --commits origin/<base>..
Replace <base> with your target branch (e.g., release/9.3, develop).
Common examples
- Good: "Refactor XCore event dispatch to avoid deadlock"
- Good: "Fix: avoid trailing whitespace in generated XSLT layouts"
- Avoid: "Fixes stuff." (too vague, trailing period)
- Avoid: "WIP: temp" (unclear intent, typically avoided in shared history)