---
description: Stage, commit, and push changes with an auto-generated conventional commit message
---

Review the current git status and diff, then stage all changes, write a concise conventional commit message, commit, and push to the current branch.

## Steps

1. **Check status**: `git status` — understand what has changed
2. **Review the diff**: `git diff` (and `git diff --cached` if anything is already staged) — read the actual changes
3. **Stage everything**: `git add -A`
4. **Craft the commit message** following Conventional Commits:
   - Format: `<type>(<scope>): <short summary>`
   - Types: `feat`, `fix`, `refactor`, `chore`, `docs`, `test`, `perf`, `build`
   - Scope: optional, the subsystem affected (e.g. `ui`, `cmd`, `config`)
   - Summary: imperative mood, lowercase, no trailing period, ≤72 chars
   - Body: add a blank line then bullet points for non-trivial changes
   - Do **not** include "Generated by" or similar noise
5. **Commit**: `git commit -m "<message>"`
6. **Push**: `git push`

## Guidelines

- Read the actual diff — do not guess from filenames alone
- Prefer one well-scoped commit; do not split unless the changes are clearly unrelated
- Keep the subject line under 72 characters
- Use the body to explain *what* and *why*, not *how*
- If there is nothing to commit, say so and stop

$@
