/push
Safe push with guard rails. Commits, pushes, and opens a PR if one doesn't exist.
Workflow
- Safety check — refuse if on
mainbranch - Stage changes —
git addrelevant files (never-Ablindly) - Commit — conventional commit format, auto-detect type from diff
- Rebase —
git pull --rebase origin mainto stay current - Push —
git push -u origin <branch> - PR — if no open PR exists, create one with template
Conventional Commits
<type>(<scope>): <subject>
Types: feat, fix, docs, style, refactor, perf, test, chore
<!-- CONFIGURE: Adjust scopes to match your project (e.g., www, api, docs) -->
Pre-flight Gates (when called from /ship)
When /push runs as Phase S of /ship, it verifies gates before pushing:
| Gate | Requirement |
|---|---|
| Code review | Score > 9 |
| UX review | Score = 10/10 (if frontend changed) |
| Working tree | Clean (no uncommitted changes) |
PR Template
Auto-generated PR body includes:
- Summary (1-3 bullet points from commits)
- Test plan checklist
- Phase-by-phase changelog (when called from
/ship)
Safety Rules
- Never pushes to main — always feature branches
- Never force pushes — always regular push
- Never skips hooks — if pre-push hook fails, fix the issue