Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

📓 Lint commit messages

License

NotificationsYou must be signed in to change notification settings

conventional-changelog/commitlint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Lint commit messages

Demo generated withsvg-term-cli

cat docs/assets/commitlint.json | svg-term --out docs/public/assets/commitlint.svg --frame --profile=Seti --height=20 --width=80

npm latestnode compatibilityGithub Actions

  • 🚓 Be a goodcommitizen
  • 📦 Share configuration vianpm
  • 🤖 Tap intoconventional-changelog

Contents


What is commitlint

commitlint checks if your commit messages meet theconventional commit format.

In general the pattern mostly looks like this:

type(scope?): subject#scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")

Real world examples can look like this:

chore: run tests on travis ci
fix(server): send cors headers
feat(blog): add comment section

Common types according tocommitlint-config-conventional (based on the Angular convention) can be:

  • build
  • chore
  • ci
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

These can be modified byyour own configuration.

Benefits of using commitlint

Getting started

CLI

  • Primary way to interact with commitlint.
  • npm install --save-dev @commitlint/cli
  • Packages:cli

Config

  • Configuration is picked up from:
    • .commitlintrc
    • .commitlintrc.json
    • .commitlintrc.yaml
    • .commitlintrc.yml
    • .commitlintrc.js
    • .commitlintrc.cjs
    • .commitlintrc.mjs
    • .commitlintrc.ts
    • .commitlintrc.cts
    • .commitlintrc.mts
    • commitlint.config.js
    • commitlint.config.cjs
    • commitlint.config.mjs
    • commitlint.config.ts
    • commitlint.config.cts
    • commitlint.config.mts
    • commitlint field inpackage.json
    • commitlint field inpackage.yaml
  • Packages:cli,core
  • SeeRules for a complete list of possible rules
  • An example configuration can be found at@commitlint/config-conventional

Important note about Node 24+

Node v24 changes the way that modules are loaded, and this includes the commitlint config file. If your project does not contain apackage.json, commitlint may fail to load the config, resulting in aPlease add rules to your commitlint.config.js error message. This can be fixed by doing either of the following:

  • Add apackage.json file, declaring your project as an ES6 module. This can be done easily by runningnpm init es6.
  • Rename the config file fromcommitlint.config.js tocommitlint.config.mjs.

Shared configuration

A number of shared configurations are available to install and use withcommitlint:

⚠️ If you want to publish your own shareable config then make sure it has a name aligning with the patterncommitlint-config-emoji-log orcommitlint-config-your-config-name — then in extend all you have to write isemoji-log oryour-config-name.

Documentation

Check themain website.

API

  • Alternative, programmatic way to interact withcommitlint
  • Packages:
    • format - Format commitlint reports
    • lint - Lint a string against commitlint rules
    • load - Load shared commitlint configuration
    • read - Read commit messages from a specified range or last edit
  • SeeAPI for a complete list of methods and examples

Tools

Roadmap

commitlint is considered stable and is used in various projects as a development tool.

Ideas:conventional-changelog/commitlint#94

Version Support and Releases

  • Node.jsLTS>= 18
  • git>= 2.13.2

Releases

Security patches will be applied to versions which are not yet EOL.
Features will only be applied to the current main version.

ReleaseInitial release
v1902/2024
v1810/2023

EOL is usually after around a year.

We're not a sponsored OSS project. Therefore we can't promise that we will release patch versions for older releases in a timely manner.
If you are stuck on an older version and need a security patch we're happy if you can provide a PR.

Related projects

License

Copyright by @marionebl. Allcommitlint packages are released under the MIT license.

Development

commitlint is developed in a mono repository.

Install and run

git clone git@github.com:conventional-changelog/commitlint.gitcd commitlintyarnyarn run build# run build tasksyarn start# run tests, again on changeyarn run commitlint# run CLI

For more information on how to contribute please take a look at ourcontribution guide.


[8]ページ先頭

©2009-2025 Movatter.jp