push-and-release
Git pull, resolve conflicts, push, fix hook errors, then release
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/nimbalyst/nimbalyst/HEAD/.claude/commands/push-and-release.md -o ~/.claude/commands/push-and-release.mdpush-and-release.md
**Arguments**: `{{arg1}}`
- First word: release type (patch, minor, major) — defaults to "patch" if omitted
- If second word is "auto": passed through to `/release-alpha` (skips approval prompts)
Run the full push-and-release workflow:
## 1. Git Pull
- Run `git pull origin main --rebase`
- If there are merge/rebase conflicts:
- Analyze the conflicts and resolve them intelligently (prefer incoming changes for version bumps, preserve local changes for code)
- Stage resolved files and continue the rebase: `git rebase --continue`
- If resolution is ambiguous, stop and ask the user
## 2. Fix Git Hook Errors
- If any git hooks (pre-commit, commit-msg, etc.) fail during the pull/rebase:
- Read the error output
- Fix the issues (linting, formatting, type errors, etc.)
- Stage fixes and retry the operation
- Repeat until hooks pass
## 3. Git Push
- Push to origin: `git push origin main`
- If push is rejected (e.g., non-fast-forward), pull again and repeat from step 1
- Verify push succeeded
## 4. Release
- Extract the release type from `{{arg1}}` (default: "patch")
- Determine if "auto" was specified
- Run `/release-alpha {{arg1}}` (or `/release-alpha patch` if no args given)
- This delegates to the full release workflow including changelog, version bump, tagging, and pushing the release
## Error Recovery
- If any step fails, diagnose the root cause before retrying
- Never force-push or use destructive git operations without asking the user
- If stuck after reasonable attempts, stop and explain the situation to the userRun E2E tests in a dev container for isolated, reproducible test execution. Use proactively when asked to run Playwright tests, E2E tests, or when in a worktree. Handles the full Docker container lifecycle automatically.
Prepare and execute an Android release (patch/minor/major)
Gather details and draft an actionable bug report for developers.
Create a git commit with concise, bullet-point commit message
Create a new plan document for tracking work.
Run E2E tests in a dev container (isolated environment)
Execute a plan document while keeping progress synchronized.
Investigate a Nimbalyst performance problem (freeze, lag, idle CPU, slow op, memory growth) with measured evidence before proposing a fix.