arowinski avatar

commit

Creates commits with generated messages following project conventions. Use when asked to commit chan

by arowinski|Open Source

Commit

Workflow

  1. Run git-commit-context — gets status, diffs, log in one call. Understand what to commit, match message style.
  2. Confirm formatter applied; if the pre-commit gate (tests/lint) failed, stop and report — don't commit.
  3. 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