Commit Workflow
Entities
Commit
An atomic snapshot of changes. Each commit should encapsulate a single logical change.
Co-author Signatures
Append the following block verbatim to all commit messages (do not modify):
Use with Claude Code
- Follow built-in signature format
Use with Codex
🤖 Generated with [Codex](https://openai.com/codex/)
Co-Authored-By: Codex
Use with Zed and Claude Code
🤖 Generated with [Claude Code](https://claude.ai/code) via [Zed](https://zed.dev/docs/ai/external-agents)
Co-Authored-By: Zed <noreply@zed.dev>
Co-Authored-By: GitHub Copilot <noreply@github.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Note: This is a fixed template, not an example. Copy exactly as shown.
See Creating co-authored commits for details.
States
Unstaged Changes
Modified files not yet added to staging area.
Staged Changes
Changes ready to be committed. Review with git diff --staged.
Committed Changes
Changes saved to local repository history.
Actions
Stage Changes
git add <files>
git diff --staged # Review before committing
Commit Changes
Evaluate after every change whether it is atomic and propose a commit to the user.
git commit
Constraints
- Never commit directly to the main branch
- Always ask user confirmation before committing
- Always include co-author signatures in commit messages
- Make minimal, atomic commits (one logical change per commit)
- Use
gitcommand for Git operations - Write commit messages that:
- Describe what changed before and after the modification
- Enable reviewers to understand the intent without reading code
- State purpose and rationale in the body
- Follow the format:
<type>(<scope>): <subject>with body and footer
See commit-message-guide.md for detailed examples.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.