commitlint-config-techor
v3.0.23
Published
Check your commits with Techor's commitlint config
Downloads
47
Maintainers
Readme
Getting Started
Skip if you have already run npm install techor
:
npm install commitlint-config-techor -D
Configuration
Create a .commitlintrc.yml
file in your project root and extend techor
:
extends: techor
Set up Husky
Use Husky to register Git Hooks to automatically check whether it is legal before committing.
npx husky install
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit ${1}'
Check if the .husky
is successfully generated in the project root:
+ └── .husky
+ ├─── _
+ └─── commit-msg
From now on, you just need to commit; the check happens after the commit. If everything is legal, there will be no prompts.
package.json
Pre-commit checks via Git Hook are only enabled when other team members clone the project and run npm install
.
Save commit-check
and husky install
commands for teamwork and CI:
{
"scripts": {
"install": "husky install",
"commit-check": "commitlint --from=HEAD~1 --verbose"
}
}
pnpm run commit-check
:
Continuous Integration
Typically, you double-check commits before publishing and on relevant workflows, using GitHub Actions as an example:
Create a workflow for commit check /.github/workflows/commit-check.yml
:
name: Commit Check
on:
push:
branches:
- '**'
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize
jobs:
check:
timeout-minutes: 15
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: pnpm run commit-check
Commit Header Format
The header has a particular format that includes a Type
, a Target
, and a Summary
:
Type(Target): Summary
┊ ┊
┊ └─⫸ Target: Workspace, Package or Role
┊
└─⫸ Type: Bump, Feat, New, Perf, Add, Update, Improve, Fix, Deprecate, Drop, Docs, Upgrade, Revert, Example, Test, Refactor, Chore, Misc
For the full documentation, check out the Techor's conventional commits