Commit all changes in the repo with proper formatting, linting, and testing.
1. Gather Context
Check what tooling exists:
!ls -la package.json Makefile Cargo.toml pyproject.toml go.mod 2>/dev/null || true
!cat package.json 2>/dev/null | head -50 || true
!git log --oneline -5
2. Current Changes
!git status
!git diff
!git diff --cached
3. Execute
Based on what you found:
- •Format: Run formatter if available (prettier, black, gofmt, cargo fmt, nixfmt, etc.)
- •Lint: Run linter if available (eslint, tsc --noEmit, clippy, etc.)
- •Test: Run tests related to changed files if test runner exists
- •Stage:
git add -A - •Commit: Create commit message matching repo's existing style (from git log)
If $ARGUMENTS is provided, use it as the commit message. Otherwise, generate one matching the repo's commit style.
Fix any formatting/lint issues automatically. If tests fail, report and stop.