# Commit Messages Format This project uses the (conventional commit specification)[https://www.conventionalcommits.org/en/v1.0.0/#specification] for consistent commit messages. All commit messages should have the following form: ``` : ``` ## Fix A fix (PATCH in semantic versioning) looks like this: ``` fix: correct minor typos in code ``` ## Feature A new feature (MINOR in semantic versioning) looks like this: ``` feat: add catalan language ``` ## Breaking Change Breaking changes can be indicated by either appending a "!" to the type: ``` refactor!: drop support for Node 6 ``` Or adding "BREAKING CHANGE" to the commit message body text: ``` refactor!: drop support for Node 6 BREAKING CHANGE: refactor to use JavaScript features not available in Node 6. ``` ## Available Types In addition to "fix" and "feat" the following types are allowed: build:, chore:, ci:, docs:, style:, refactor:, perf:, test: Install commitlint: ``` npm install --save-dev @commitlint/{config-conventional,cli} ``` or via yarn: ``` yarn add @commitlint/{config-conventional,cli} ``` Create a commitlint.config.js file: ``` echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js ``` Add husky to package.json: ``` { "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" } } } ```