Review code quality, run linting/type-checks, fix errors, create a feature branch synced with development, commit, push, and open a PR. Use when asked to "ship it", "push my changes", "create a PR", "review and push", or "finalize and submit".
Automated pipeline that reviews code, fixes issues, creates a branch, pushes, and opens a PR. Execute every step in order. Do NOT skip steps.
$1 — (optional) Branch name suffix. Default: auto-generated from changed files.$2 — (optional) PR title. Default: auto-generated from commit analysis.git status to see all modified, staged, and untracked files.git diff and git diff --cached to understand what changed.package.json scripts (biome, eslint, prettier, etc.).pnpm lint -- <files>pnpm lint <files>pnpm format -- <files> or equivalent).pnpm type-check or npx tsc --noEmit (whichever exists in scripts).build script exists, run pnpm build.git branch --show-current to check the current branch.git fetch origin to sync remote state.development (or main/master):
git checkout -b feature/<branch-name>$1 if provided, otherwise derive from the changes (e.g., feature/update-blog-components).git rebase origin/developmentgit add -A.
.env, .env.local, credentials, or secrets.feat:, fix:, refactor:, docs:, chore:, etc.Co-Authored-By: Claude Opus 4.6 <[email protected]>git push origin <branch-name>git push origin <branch-name> --force-with-lease — but ONLY with --force-with-lease, never --force.development).git log origin/<base>..HEAD --oneline to summarize all commits in the PR.gh pr create \
--base <base-branch> \
--title "<pr-title>" \
--body "$(cat <<'EOF'
## Summary
<3-5 bullet points describing what changed and why>
## Changes
<list of key files changed with one-line descriptions>
## Testing
<how to verify these changes work>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
$2 as PR title if provided. Otherwise auto-generate from commit messages.Output a summary:
✅ Ship complete!
Branch: <branch-name>
PR: <pr-url>
Commits: <count>
Files changed: <count>
Lint: passed
Types: passed / <note if pre-existing issues>
development, main, or master. Always create a feature branch.--force push. Only --force-with-lease if absolutely needed..env files.pnpm-lock.yaml, yarn.lock, or package-lock.json).