Commit and push all current changes. If an argument is provided, use it as the commit message summary. Otherwise, auto-generate one from the changes.
Steps
- •
Run these in parallel to understand the current state:
bashgit status git diff git diff --staged git log --oneline -5
- •
Analyze the changes and draft a commit message:
- •Summarize the nature of the changes (new feature, enhancement, bug fix, refactor, etc.)
- •Keep the first line concise (under 72 chars)
- •Add a blank line then a brief body if the changes warrant explanation
- •Do NOT commit files that look like secrets (.env, credentials, etc.)
- •If
$ARGUMENTSwas provided, use it as the summary line
- •
Stage relevant files by name (prefer specific files over
git add -A). Common files to exclude:- •
.cardmaker-data.json.bak - •
*.tsbuildinfo - •
client/vite.config.d.ts,client/vite.config.js(build artifacts)
- •
- •
Create the commit using a HEREDOC for the message:
bashgit commit -m "$(cat <<'EOF' Summary line here Optional body here. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> EOF )"
- •
Push to the remote:
bashgit push
- •
Run
git statusto confirm clean state.
Report the commit hash and pushed status when done.