Commit-Message aus Diff

Macht aus einem Diff eine Conventional-Commit-Message - Titel + Body mit dem Warum, nicht dem Was.

Zuletzt geprüft 23. April 2026

Prompt

Write a conventional commit message for the following diff.

Output exactly:
- TITLE: `<type>(<scope>): <imperative subject>` - max 70 chars, no period
- BODY: optional, only if non-obvious. 2-5 lines. Explain WHY, not what.
- FOOTER: optional, only if breaking change / issue ref.

Types:
- feat, fix, docs, style, refactor, perf, test, chore, build, ci

Rules:
- Do not describe the diff ("adds lines, removes lines")
- Do not say "cleanup" or "misc improvements" - if it's really miscellaneous, split the commit
- Imperative mood ("add" not "added")
- Scope: one word, the module/file group affected. Omit if it spans everything.
- Breaking change: add `!` after type and `BREAKING CHANGE:` in footer
- If body would just repeat the title, skip body

Commit context (optional, to disambiguate WHY):
[CONTEXT - ticket, slack, decision]

Diff:
[PASTE]

Wann nutzen

Für den Moment nach `git diff --cached` wenn die Finger auf der Tastatur sind. Zwingt das Modell, das Warum rauszuarbeiten, nicht das Offensichtliche.

Use-Cases

  • Schnelle Commit-Message, ohne Branding auf Git-History.
  • Squash-Commit-Message aus mehreren kleinen Änderungen.
  • PR-Title für Conventional-Commit-basierten Changelog.

Getestet mit

Wenn der Diff zu groß ist für eine Message: das ist ein Hinweis, den Commit zu splitten, nicht das Modell zu bitten, alles reinzupacken.