You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							196 lines
						
					
					
						
							4.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							196 lines
						
					
					
						
							4.0 KiB
						
					
					
				
								# Commit Message Format and Templates
							 | 
						|
								
							 | 
						|
								> **Agent role**:
							 | 
						|
								  Reference this file for commit message formatting and templates.
							 | 
						|
								
							 | 
						|
								## Commit Message Format (Normative)
							 | 
						|
								
							 | 
						|
								### A. Subject Line (required)
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								<type>(<scope>)<!>: <summary>
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								- **type** (lowercase, Conventional Commits):
							 | 
						|
								
							 | 
						|
								  `feat|fix|refactor|perf|docs|test|build|chore|ci|revert`
							 | 
						|
								
							 | 
						|
								- **scope**: optional module/package/area (e.g., `api`, `ui/login`, `db`)
							 | 
						|
								
							 | 
						|
								- **!**: include when a breaking change is introduced
							 | 
						|
								
							 | 
						|
								- **summary**: imperative mood, ≤ 72 chars, no trailing period
							 | 
						|
								
							 | 
						|
								**Examples**
							 | 
						|
								
							 | 
						|
								- `fix(api): handle null token in refresh path`
							 | 
						|
								
							 | 
						|
								- `feat(ui/login)!: require OTP after 3 failed attempts`
							 | 
						|
								
							 | 
						|
								### B. Body (optional, when it adds non-obvious value)
							 | 
						|
								
							 | 
						|
								- One blank line after subject.
							 | 
						|
								
							 | 
						|
								- Wrap at ~72 chars.
							 | 
						|
								
							 | 
						|
								- Explain **what** and **why**, not line-by-line "how".
							 | 
						|
								
							 | 
						|
								- Include brief notes like tests passing or TS/lint issues resolved
							 | 
						|
								
							 | 
						|
								  **only if material**.
							 | 
						|
								
							 | 
						|
								**Body checklist**
							 | 
						|
								
							 | 
						|
								- [ ] Problem/symptom being addressed
							 | 
						|
								
							 | 
						|
								- [ ] High-level approach or rationale
							 | 
						|
								
							 | 
						|
								- [ ] Risks, tradeoffs, or follow-ups (if any)
							 | 
						|
								
							 | 
						|
								### C. Footer (optional)
							 | 
						|
								
							 | 
						|
								- Issue refs: `Closes #123`, `Refs #456`
							 | 
						|
								
							 | 
						|
								- Breaking change (alternative to `!`):
							 | 
						|
								
							 | 
						|
								  `BREAKING CHANGE: <impact + migration note>`
							 | 
						|
								
							 | 
						|
								- Authors: `Co-authored-by: Name <email>`
							 | 
						|
								
							 | 
						|
								- Security: `CVE-XXXX-YYYY: <short note>` (if applicable)
							 | 
						|
								
							 | 
						|
								## Content Guidance
							 | 
						|
								
							 | 
						|
								### Include (when relevant)
							 | 
						|
								
							 | 
						|
								- Specific fixes/features delivered
							 | 
						|
								
							 | 
						|
								- Symptoms/problems fixed
							 | 
						|
								
							 | 
						|
								- Brief note that tests passed or TS/lint errors resolved
							 | 
						|
								
							 | 
						|
								### Avoid
							 | 
						|
								
							 | 
						|
								- Vague: *improved, enhanced, better*
							 | 
						|
								
							 | 
						|
								- Trivialities: tiny docs, one-liners, pure lint cleanups (separate,
							 | 
						|
								
							 | 
						|
								  focused commits if needed)
							 | 
						|
								
							 | 
						|
								- Redundancy: generic blurbs repeated across files
							 | 
						|
								
							 | 
						|
								- Multi-purpose dumps: keep commits **narrow and focused**
							 | 
						|
								
							 | 
						|
								- Long explanations that good inline code comments already cover
							 | 
						|
								
							 | 
						|
								**Guiding Principle:** Let code and inline docs speak. Use commits to
							 | 
						|
								highlight what isn't obvious.
							 | 
						|
								
							 | 
						|
								## Copy-Paste Templates
							 | 
						|
								
							 | 
						|
								### Minimal (no body)
							 | 
						|
								
							 | 
						|
								```text
							 | 
						|
								
							 | 
						|
								<type>(<scope>): <summary>
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								### Standard (with body & footer)
							 | 
						|
								
							 | 
						|
								```text
							 | 
						|
								
							 | 
						|
								<type>(<scope>)<!>: <summary>
							 | 
						|
								
							 | 
						|
								<why-this-change?>
							 | 
						|
								<what-it-does?>
							 | 
						|
								<risks-or-follow-ups?>
							 | 
						|
								
							 | 
						|
								Closes #<id>
							 | 
						|
								BREAKING CHANGE: <impact + migration>
							 | 
						|
								Co-authored-by: <Name> <email>
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								## Type Descriptions
							 | 
						|
								
							 | 
						|
								### feat
							 | 
						|
								
							 | 
						|
								New feature for the user
							 | 
						|
								
							 | 
						|
								### fix
							 | 
						|
								
							 | 
						|
								Bug fix for the user
							 | 
						|
								
							 | 
						|
								### docs
							 | 
						|
								
							 | 
						|
								Documentation only changes
							 | 
						|
								
							 | 
						|
								### style
							 | 
						|
								
							 | 
						|
								Changes that do not affect the meaning of the code
							 | 
						|
								
							 | 
						|
								### refactor
							 | 
						|
								
							 | 
						|
								Code change that neither fixes a bug nor adds a feature
							 | 
						|
								
							 | 
						|
								### perf
							 | 
						|
								
							 | 
						|
								Code change that improves performance
							 | 
						|
								
							 | 
						|
								### test
							 | 
						|
								
							 | 
						|
								Adding missing tests or correcting existing tests
							 | 
						|
								
							 | 
						|
								### build
							 | 
						|
								
							 | 
						|
								Changes that affect the build system or external dependencies
							 | 
						|
								
							 | 
						|
								### ci
							 | 
						|
								
							 | 
						|
								Changes to CI configuration files and scripts
							 | 
						|
								
							 | 
						|
								### chore
							 | 
						|
								
							 | 
						|
								Other changes that don't modify src or test files
							 | 
						|
								
							 | 
						|
								---
							 | 
						|
								
							 | 
						|
								**See also**:
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/workflow/version_control.mdc` for
							 | 
						|
								
							 | 
						|
								  core version control principles
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/workflow/version_sync.mdc` for version synchronization details
							 | 
						|
								
							 | 
						|
								**Status**: Active commit message guidelines
							 | 
						|
								**Priority**: High
							 | 
						|
								**Estimated Effort**: Ongoing reference
							 | 
						|
								**Dependencies**: version_control.mdc
							 | 
						|
								**Stakeholders**: Development team, AI assistants
							 | 
						|
								
							 | 
						|
								## Model Implementation Checklist
							 | 
						|
								
							 | 
						|
								### Before Creating Commits
							 | 
						|
								
							 | 
						|
								- [ ] **Change Review**: Review all changes to be committed
							 | 
						|
								- [ ] **Scope Assessment**: Determine if changes belong in single or multiple commits
							 | 
						|
								- [ ] **Message Planning**: Plan clear, descriptive commit message
							 | 
						|
								- [ ] **Convention Check**: Review commit message format requirements
							 | 
						|
								
							 | 
						|
								### During Commit Creation
							 | 
						|
								
							 | 
						|
								- [ ] **Type Selection**: Choose appropriate commit type (feat, fix, docs, etc.)
							 | 
						|
								- [ ] **Message Writing**: Write clear, concise commit message
							 | 
						|
								- [ ] **Body Content**: Add detailed description if needed
							 | 
						|
								- [ ] **Breaking Changes**: Document breaking changes with `!` and migration notes
							 | 
						|
								
							 | 
						|
								### After Commit Creation
							 | 
						|
								
							 | 
						|
								- [ ] **Message Review**: Verify commit message follows conventions
							 | 
						|
								- [ ] **Change Validation**: Confirm all intended changes are included
							 | 
						|
								- [ ] **Documentation**: Update any related documentation
							 | 
						|
								- [ ] **Team Communication**: Communicate significant changes to team
							 | 
						|
								
							 |