- init
pnpm add @commitlint/cli @commitlint/config-conventional --save-dev
echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js
- test
echo "add commit lint" | npx commitlint # found 2 problems, 0 warnings
echo "feat: add commit lint" | npx commitlint # success
- init
pnpm add husky --save-dev
npx husky install
npx husky add .husky/commit-msg
# .husky/commit-msg
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx eslint src/**
npx --no-install commitlint --edit $1
- test
git commit -m "test" # error, You can skip the check with `-no-verify`
- init
pnpm add commitizen commitlint-config-cz conventional-changelog conventional-changelog-cli cz-customizable --save-dev
npx commitizen init cz-conventional-changelog --yarn --dev --exact
- test
git cz # use commitizen
pnpm run commit
Submit the code and write Messagepnpm run version
Generating version logs