--- description: Commit current changes and push to the remote --- Commit the current working-tree changes and push them. 1. Run `git status` and `git diff` to see what will be committed. 2. Check the current branch (`git branch --show-current`). If it's `main` and the change looks feature-sized (not one of CLAUDE.md's "commit straight to main" exceptions: small fixes, typos/formatting, or the user explicitly said `main`), stop and tell the user to branch first — don't push a feature to `main`. 3. Stage the changed files (`git add -A` is fine here). 4. Create a commit with a short message describing the changes (infer it from the diff), including the `Co-Authored-By: Claude ` trailer. Pass the message via a HEREDOC. 5. Push with `git push`. If the current branch has no upstream, use `git push -u origin HEAD`. 6. If the branch isn't `main`, remind the user to open an MR with `tea pr create` (see CLAUDE.md's Branching & Merge Requests section) rather than opening one automatically. 7. Report the commit hash and push result. If there are no changes, stop and say so — do not create an empty commit.