reeve-push
Push the current branch and create or update a pull request. Use when implementation is complete and validated.
Push
Before Pushing
- Run project validation (check
AGENTS.mdfor commands, e.g.npx tsc --noEmit,bun test). - Confirm all intended changes are committed (
git statusshows clean tree). - If uncommitted work remains, use the
reeve-commitskill first.
Push
git push -u origin HEAD
If rejected (non-fast-forward), use the reeve-pull skill to sync with main, then retry.
Only use --force-with-lease if you intentionally rewrote history (e.g. after rework).
Pull Request
Check if a PR already exists:
pr_url=$(gh pr view --json url -q .url 2>/dev/null || true)
No existing PR — create one:
# Write body to a temp file to avoid shell escaping issues
cat > /tmp/pr-body.md << 'EOF'
## Summary
<what changed and why>
## Task
Fixes ISSUE-ID
- **Status:** success | partial
---
*Automated by [Reeve](https://github.com/ianchenx/reeve)*
EOF
gh pr create --title "ISSUE-ID: <concise title>" --body-file /tmp/pr-body.md
PR exists and open — update if needed:
gh pr edit --title "ISSUE-ID: <updated title if scope changed>"
PR exists but closed/merged — you need a new branch:
git checkout -b <new-branch-name>
git push -u origin HEAD
gh pr create --title "..." --body-file /tmp/pr-body.md
After
Print the PR URL:
gh pr view --json url -q .url