Commit, PR, and Merge
Stage changes, commit with a descriptive message, create a PR, and merge to main.
Steps
- •Check current state:
bash
git status git diff --stat git log --oneline -5
Staleness check: If a root Makefile exists, run make -n to check for stale targets. If stale targets exist, warn the user before proceeding (soft gate -- warn, don't block).
- •Create a branch from the current state:
bash
git checkout -b <short-descriptive-branch-name>
- •Stage files -- add specific files (never use
git add -A):
bash
git add <file1> <file2> ...
Do NOT stage .claude/settings.local.json, .codex/ local state, or any files containing secrets.
- •Commit with a descriptive message:
If an argument is provided, use it as the commit message. Otherwise, analyze the staged changes and write a message that explains why, not just what.
bash
git commit -m "<commit message>"
- •Push and create PR:
bash
git push -u origin <branch-name> gh pr create --title "<short title>" --body "<summary and test plan>"
- •Merge and clean up:
bash
gh pr merge <pr-number> --merge --delete-branch git checkout main git pull
- •Report the PR URL and what was merged.
Important
- •Always create a NEW branch -- never commit directly to main
- •Exclude sensitive files from staging
- •Use
--merge(not--squashor--rebase) unless asked otherwise - •If a commit message argument is provided, use it exactly