Lint your commits, the litebox-way
> Lint your commits, litebox-way
Shareable commitlint config enforcing Litebox convention :)
Run this commands inside the root of your project:
``sh`
yarn add -D @hello-litebox/commitlint @commitlint/cli @hello-litebox/commit-prompt commitizen
`sh`
echo "const config = require('@hello-litebox/commitlint');
module.exports = config({ taskIdPrefixes: [] });" > commitlint.config.js
`sh`
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit ${1}'
Add this to your package.json
``
"config": {
"commitizen": {
"path": "@hello-litebox/commit-prompt"
}
},
"scripts": {
"commit": "git-cz"
}
If you want that every commit has always a task id in the subject, you can add it as a string inside
the taskIdPrefixes array in the commitlint.config.js file, e.g:
``
module.exports = config({ taskIdPrefixes: ['CU-'] });
This way, to be considered a valid commit, the message should be:
feat: CU-1234 add something
If you add more taskIdPrefixes to the array, any of those will be considered valid, e.g:
``
module.exports = config({ taskIdPrefixes: ['CU-', 'HOTFIX'] });
feat: HOTFIX add something
The above commit message is also valid.
`sh
git add .
yarn commit
`
After run yarn commit, an interactive screen will appear, letting you fill all the commit parts, one by one.
The required ones are: scope and subject`, the others can be skipped normally.