Commit Changes
You are tasked with creating git commits for the changes made during this session.
Process:
Think about what changed:
-
Review the conversation history and understand what was accomplished
-
Run git status to see current changes
-
Run git diff to understand the modifications
-
Consider whether changes should be one commit or multiple logical commits
Plan your commit(s):
-
Identify which files belong together
-
Draft clear, descriptive commit messages
-
Use imperative mood in commit messages
-
Focus on why the changes were made, not just what
Present your plan to the user:
-
List the files you plan to add for each commit
-
Show the commit message(s) you'll use
-
Ask: "I plan to create [N] commit(s) with these changes. Shall I proceed?"
Execute upon confirmation:
-
Use git add with specific files (never use -A or . )
-
Create commits with your planned messages
-
Show the result with git log --oneline -n [number]
Generate reasoning (after each commit):
-
Run: bash "$CLAUDE_PROJECT_DIR/.claude/scripts/generate-reasoning.sh" <commit-hash> "<commit-message>"
-
This captures what was tried during development (build failures, fixes)
-
The reasoning file helps future sessions understand past decisions
-
Stored in .git/claude/commits/<hash>/reasoning.md
Important:
-
NEVER add co-author information or Claude attribution
-
Commits should be authored solely by the user
-
Do not include any "Generated with Claude" messages
-
Do not add "Co-Authored-By" lines
-
Write commit messages as if the user wrote them
Remember:
-
You have the full context of what was done in this session
-
Group related changes together
-
Keep commits focused and atomic when possible
-
The user trusts your judgment - they asked you to commit