We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) ``` [optional scope]: [optional body] [optional footer(s)] ``` Examples Commit message with description and breaking change footer ``` feat: allow provided config object to extend other configs ``` BREAKING CHANGE: `extends` key in config file is now used for extending other config files Commit message with ! to draw attention to breaking change ``` feat!: send an email to the customer when a product is shipped ``` Commit message with scope and ! to draw attention to breaking change ``` feat(api)!: send an email to the customer when a product is shipped ``` Commit message with both ! and BREAKING CHANGE footer ``` chore!: drop support for Node 6 ``` BREAKING CHANGE: use JavaScript features not available in Node 6.