Commit all staged and unstaged changes into git, assign the next tag in sequence, then ask for confirmation before pushing. Before committing, check the current branch (`git branch --show-current`). If it's `main`, follow CLAUDE.md's Branching & Merge Requests exceptions (small fixes, typos/formatting, or explicit user request) — otherwise stop and ask, since releases are not one of the documented straight-to-main cases. No tagging scheme (semver vs. calver, `v` prefix, etc.) is documented in CLAUDE.md yet — infer the existing pattern from `git tag --list` if any tags exist, otherwise ask the user which scheme to start with instead of guessing.