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.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				| # Directive: Peaceful Co-Existence with Developers | |
| 
 | |
| **Author**: Matthew Raymer | |
| **Date**: 2025-08-19 | |
| **Status**: 🎯 **ACTIVE** - Version control guidelines | |
| 
 | |
| ## Core Principles | |
| ### 0) let the developer control git | |
| ### 1) Version-Control Ownership | |
| 
 | |
| - **MUST NOT** run `git add`, `git commit`, or any write action. | |
| - **MUST** leave staging/committing to the developer. | |
| 
 | |
| ### 2) Source of Truth for Commit Text | |
| 
 | |
| - **MUST** derive messages **only** from: | |
| 
 | |
|   - files **staged** for commit (primary), and | |
|   - files **awaiting staging** (context). | |
| 
 | |
| - **MUST** use the **diffs** to inform content. | |
| - **MUST NOT** invent changes or imply work not present in diffs. | |
| 
 | |
| ### 3) Mandatory Preview Flow | |
| 
 | |
| - **ALWAYS** present, before any real commit: | |
| 
 | |
|   - file list + brief per-file notes, | |
|   - a **draft commit message** (copy-paste ready), | |
|   - nothing auto-applied. | |
| 
 | |
| ### 4) Version Synchronization Requirements | |
| 
 | |
| - **MUST** check for version changes in `package.json` before committing | |
| - **MUST** ensure `CHANGELOG.md` is updated when `package.json` version changes | |
| - **MUST** validate version format consistency between both files | |
| - **MUST** include version bump commits in changelog with | |
|   proper semantic versioning | |
| 
 | |
| ## Assistant Output Checklist (before showing the draft) | |
| 
 | |
| - [ ] List changed files + 1–2 line notes per file | |
| - [ ] Provide **one** focused draft message (subject/body/footer) | |
| - [ ] Subject ≤ 72 chars, imperative mood, correct `type(scope)!` syntax | |
| - [ ] Body only if it adds non-obvious value | |
| - [ ] No invented changes; aligns strictly with diffs | |
| - [ ] Render as a single copy-paste block for the developer | |
| - [ ] No invented changes; aligns strictly with diffs | |
| - [ ] Render as a single copy-paste block for the developer | |
| 
 | |
| --- | |
| 
 | |
| **See also**: | |
| 
 | |
| - `.cursor/rules/workflow/commit_messages.mdc` for commit message format and | |
|   templates | |
| - `.cursor/rules/workflow/version_sync.mdc` for version synchronization details | |
| 
 | |
| **Status**: Active version control guidelines | |
| **Priority**: High | |
| **Estimated Effort**: Ongoing reference | |
| **Dependencies**: git, package.json, CHANGELOG.md | |
| **Stakeholders**: Development team, AI assistants | |
| 
 | |
| ## Model Implementation Checklist | |
| 
 | |
| ### Before Version Control Work | |
| 
 | |
| - [ ] **File Analysis**: Review files staged and awaiting staging | |
| - [ ] **Version Check**: Check for version changes in package.json | |
| - [ ] **Changelog Review**: Verify CHANGELOG.md is updated if version changed | |
| - [ ] **Diff Analysis**: Analyze actual changes from git diffs | |
| 
 | |
| ### During Version Control Work | |
| 
 | |
| - [ ] **Commit Preview**: Present file list with brief notes per file | |
| - [ ] **Message Draft**: Provide focused draft commit message | |
| - [ ] **Format Validation**: Ensure message follows type(scope)! syntax | |
| - [ ] **Version Sync**: Validate version consistency between files | |
| 
 | |
| ### After Version Control Work | |
| 
 | |
| - [ ] **Developer Control**: Leave staging/committing to developer | |
| - [ ] **Message Validation**: Verify message aligns strictly with diffs | |
| - [ ] **Version Validation**: Confirm version format consistency | |
| - [ ] **Documentation**: Update relevant version control documentation
 | |
| 
 |