Files
2025-11-29 18:29:20 +08:00

47 lines
1.4 KiB
Markdown

# 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