Code Committing
Format
Language Requirement
Always write in English only
<type>(<scope>): summary
-
Summary: ≤50 chars, imperative mood, no period
-
Scope: Module/package name (monorepo: exact package name or all )
-
Body (optional): Bullet list - {emoji} {text} (≤100 chars/line)
-
Breaking: Add ! after type and BREAKING CHANGE: footer
-
Issues: End the body with a bullet like - Fixes #123 or - Fixes PROJ-456
Types: feat ✨, fix 🐛, docs 📚, style 💄, refactor ♻️, perf ⚡, test ✅, build 🔧, ci 👷, chore 🔨, revert ⏪
Examples
Simple feature:
feat(button): add loading state
- ✨ Add spinner icon during async operations
- 📦 @ui/icons: v1.0.0 → v1.1.0
- Fixes #42
Breaking change:
feat(theme)!: redesign color tokens
- ✨ Replace RGB values with HSL format
- 💄 Update all component styles to use new tokens
- 📦 @ui/theme: v2.1.0 → v3.0.0
BREAKING CHANGE: Color token values changed from RGB to HSL format
For more examples, see references/examples.md