A useful commit message explains intent
The first line should help a teammate scan history. Choose a type that describes the outcome, use a scope only when it adds context, and write the summary as an imperative phrase such as “handle empty input.” Put motivation or tradeoffs in the body.
Conventional Commit structure
type(scope)!: summary
Optional explanation
BREAKING CHANGE: migration detailsValidate an existing message with the Conventional Commit Validator.