Commit, PR, and Merge
Stage changes, commit with a descriptive message, create a PR, and merge to main.
Steps
- Check current state:
git status git diff --stat git log --oneline -5
- Create a branch from the current state:
git checkout -b <short-descriptive-branch-name>
- Stage files — add specific files (never use git add -A ):
git add <file1> <file2> ...
Do NOT stage .claude/settings.local.json or any files containing secrets.
- Commit with a descriptive message:
If $ARGUMENTS is provided, use it as the commit message. Otherwise, analyze the staged changes and write a message that explains why, not just what.
git commit -m "$(cat <<'EOF' <commit message here> EOF )"
- Push and create PR:
git push -u origin <branch-name> gh pr create --title "<short title>" --body "$(cat <<'EOF'
Summary
<1-3 bullet points>
Test plan
<checklist>
🤖 Generated with Claude Code EOF )"
- Merge and clean up:
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 settings.local.json and sensitive files from staging
-
Use --merge (not --squash or --rebase ) unless asked otherwise
-
If the commit message from $ARGUMENTS is provided, use it exactly