Smart Git Commit
Review staged and unstaged changes, then create a well-formatted git commit.
Steps
- Run
git statusto see what's changed - Run
git diffandgit diff --cachedto understand the changes - Run
git log --oneline -5to match the project's commit style - Stage relevant files with
git add <files>(never usegit add .blindly) - Write a commit message following Conventional Commits:
feat:— new featurefix:— bug fixdocs:— documentationrefactor:— code restructuring (no behavior change)test:— adding/updating testschore:— tooling, deps, configperf:— performance improvementstyle:— formatting, no logic change
- Create the commit
Rules
- Keep subject line under 72 characters
- Use imperative mood: "add feature" not "added feature"
- If the user provided
$ARGUMENTS, use it as context or scope - Never commit
.env, secrets, orsettings.local.json - Warn the user before committing any sensitive-looking file
Example Messages
feat(auth): add OAuth2 login with GitHub
fix(api): handle null response from payment gateway
docs: update README with MCP setup instructions
refactor(db): extract query builder into separate module
$ARGUMENTS