
commit
Creates commits with generated messages following project conventions. Use when asked to commit chan
by arowinski|Open Source
Commit
Workflow
- Run
git-commit-context— gets status, diffs, log in one call. Understand what to commit, match message style. - Confirm formatter applied; if the pre-commit gate (tests/lint) failed, stop and report — don't commit.
- Consider amend or absorb (ask first):
- Last commit unpushed + related? Amend.
- Staged changes match scope of existing branch commit?
git absorb --and-rebase.
Rules
- First line: max 80 chars, imperative mood
- Prefer single-line — the diff shows WHAT, message explains WHY
- Add body only for: non-obvious why, breaking changes, migration notes
- NEVER mention tests unless they're the main change
- NEVER commit unrelated changes
- NEVER add ticket prefixes (e.g. JIRA-123, GH-456)
- NEVER add a conventional-commit or scope prefix (
feat(...),fix(scope):,area(scope):) — plain action-verb imperative only - Plain ASCII only — no Unicode (e.g. arrows
→); use a word ("to") or punctuation (>) - NEVER use vague messages ("Address review feedback", "Fix issues", "Update based on suggestions") — describe actual change
- NEVER add provenance suffixes ("per retro fixes", "after review", "per feedback") — describe the change, not its source