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.