1.4 KiB
1.4 KiB
Commit Message Checklist
Use before creating any git commit.
Format Validation
- Type is one of: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
- Type is lowercase
- Scope is meaningful and lowercase (if included)
- Subject uses imperative mood ("add" not "added")
- Subject is lowercase (NO capitals anywhere)
- Full header (type + scope + subject) is under 100 characters
- Subject doesn't end with a period
Body (if included)
- Blank line after subject
- Explains why the change was made
- Wraps at 90 characters per line
- Uses bullet points for lists
- Written in present tense
Footer (if included)
- Blank line before footer
- Breaking changes start with "BREAKING CHANGE:"
- Linear issues referenced as GREY-123
- GitHub issues referenced as #123
Content Quality
- Commit message is descriptive and specific
- Change is atomic (single logical change)
- No sensitive information (passwords, keys, tokens)
- Multi-tenant changes mention tenant_id (if applicable)
Python Projects
- Virtual environment activated (source .venv/bin/activate)
- Pre-commit hooks will run (Ruff, mypy, pytest)
Before Pushing
- Commits follow squash-merge strategy (if merging to main)
- Breaking changes are clearly documented
- Linear issues are referenced