kudos to this guide
npm i -D @commitlint/config-conventional @commitlint/cli
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.cjs
npm i -D husky
npx husky install
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit $1'
npm i -D commitizen @commitlint/cz-commitlint inquirer
add this to your package.json
"scripts": {
"release": "standard-version --no-verify"
// use --no-verify to skip git hooks we'll introduce later
}
npm i -D standard-version
install commitizen globally
npm install commitizen -g
initialize the changelog
commitizen init cz-conventional-changelog --save-dev --save-exact