Type
Must communicate the intention of the change
The essentials are feat and fix
Scope
It must be something that intuitively specifies the location of the change
It should aim to provide additional contextual information
Summary
Use the imperative, present: "change" not "changed" nor "changes"
Don't capitalize the first letter
No dot (.) at the end
Commits must be atomic!
Body
Use the imperative, present: "change" not "changed" nor "changes"
Describe and justify in detail the change
It should include the motivation and, if possible, a comparison with previous behavior
Significant Change
It is possible to inform if the commit makes a significant change or breaks the compatibility, this inserts the identifier "!" after type/scope
Result
Commits must be atomic!