I had the same issue and was able to overcome it by adding this section to my package.json, which configures commitlint to use config-conventional.

"commitlint": {
  "extends": [
    "@commitlint/config-conventional"
  ]
},

Also ensure that you installed both dev dependencies.

"@commitlint/cli": "18.0.0",
"@commitlint/config-conventional": "18.0.0",

You can find this also in the commitlint projects package.json. ;- ) https://github.com/conventional-changelog/commitlint/blob/master/package.json

Answer from lars on Stack Overflow
🌐
npm
npmjs.com › package › @commitlint › config-conventional
commitlint/config-conventional
March 15, 2026 - Shareable commitlint config enforcing conventional commits. Latest version: 20.5.0, last published: a month ago. Start using @commitlint/config-conventional in your project by running `npm i @commitlint/config-conventional`. There are 1374 other projects in the npm registry using ...
      » npm install @commitlint/config-conventional
    
Published   Mar 15, 2026
Version   20.5.0
Discussions

Issue with CommitLint: "Please add rules to your `commitlint.config.js`" error despite having rules in my configuration file
I am implementing a commit linting hook for a team project. I successfully installed Husky and moved on to configuring my CommitLint. Wanting to use the basic conventional commits convention, I installed the following packages. More on stackoverflow.com
🌐 stackoverflow.com
Automating Releases in GitHub with Conventional Commits
Interesting article. I also use commitizen More on reddit.com
🌐 r/git
1
4
March 26, 2024
Commit message linting within Magit?
A tiny improvement, but still: https://github.com/akirak/conventional-commit.el More on reddit.com
🌐 r/emacs
11
10
September 29, 2022
How to enforce git commit messages longer than stupid shit like "abc" and "fix"?
Don’t use technology to solve a people problem. Your team needs to all agree that commit messages are valuable, and reject pull requests without useful messages. If that doesn’t work, escalate to management. If you go the technology route, you simply end up with lorem ipsum. More on reddit.com
🌐 r/ExperiencedDevs
151
144
December 19, 2021
🌐
Commitlint
commitlint.js.org › reference › configuration.html
Configuration | commitlint
When you extend @commitlint/config-conventional, the conventional-changelog-conventionalcommits preset is applied, which follows the Conventional Commits specification.
🌐
Commitlint
commitlint.js.org › guides › getting-started.html
Getting started | commitlint
deno add -D npm:@commitlint/cli npm:@commitlint/config-conventional · Configure commitlint to use conventional config · Linux / macOSWindows · sh · echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js · sh · # Here we use the node command to avoid encoding issue on Windows.
🌐
Conventional Commits
conventionalcommits.org › en › v1.0.0
Conventional Commits
types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others.
🌐
GitHub
github.com › conventional-changelog › commitlint
GitHub - conventional-changelog/commitlint: 📓 Lint commit messages
Node v24 changes the way that modules are loaded, and this includes the commitlint config file. If your project does not contain a package.json, commitlint may fail to load the config, resulting in a Please add rules to your commitlint.config.js error message.
Starred by 18.5K users
Forked by 965 users
Languages   TypeScript 92.2% | JavaScript 7.8%
Find elsewhere
🌐
DEV Community
dev.to › thecharacterv › git-better-with-commitlint-and-conventional-commits-21pp
Git Better with Commitlint and Conventional Commits - DEV Community
May 26, 2023 - Run the command npm install --save-dev @commitlint/config-conventional @commitlint/cli in your terminal .
🌐
Tericcabrel
blog.tericcabrel.com › apply-conventional-commit-style-on-your-project-with-commitlint
Apply conventional commit style on your project with commitlint
February 24, 2026 - Create a file conventionalCommit.json who will contain the configuration of our types and scopes. Note that if you don't provide this file. The default configuration will be used.
🌐
jsDocs.io
jsdocs.io › package › @commitlint › config-conventional
commitlint/config-conventional@19.8.1
September 25, 2025 - Documentation for npm package @commitlint/config-conventional@20.4.3 - jsDocs.io
🌐
GitHub
github.com › conventional-changelog › commitlint › blob › master › @commitlint › config-conventional › src › index.ts
commitlint/@commitlint/config-conventional/src/index.ts at master · conventional-changelog/commitlint
} from "@commitlint/types"; · export default { parserPreset: "conventional-changelog-conventionalcommits", rules: { "body-leading-blank": [RuleConfigSeverity.Warning, "always"] as const, "body-max-line-length": [RuleConfigSeverity.Error, "always", 100] as const, "footer-leading-blank": [RuleConfigSeverity.Warning, "always"] as const, "footer-max-line-length": [ RuleConfigSeverity.Error, "always", 100, ] as const, "header-max-length": [RuleConfigSeverity.Error, "always", 100] as const, "header-trim": [RuleConfigSeverity.Error, "always"] as const, "subject-case": [
Author   conventional-changelog
🌐
freeCodeCamp
freecodecamp.org › news › how-to-use-commitlint-to-write-good-commit-messages
How to Write Good Commit Messages with Commitlint
November 12, 2021 - npm install @commitlint/cli @commitlint/config-conventional --save-dev # OR yarn add -D @commitlint/cli @commitlint/config-conventional
🌐
CodeSandbox
codesandbox.io › examples › package › @commitlint › config-conventional
commitlint/config-conventional examples
Use this online @commitlint/config-conventional playground to view and fork @commitlint/config-conventional example apps and templates on CodeSandbox.
🌐
Commitlint
commitlint.js.org
commitlint
By supporting npm-installed configurations it makes sharing of commit conventions easy. ... Get high commit message quality and short feedback cycles by linting commit messages right when they are authored. ... To get the most out of commitlint you'll want to automate it in your project lifecycle.
🌐
Medium
medium.com › @sravanthipinninti › how-to-write-conventional-commits-d92a894b8945
How to write conventional commits? | by Sravanthi | Medium
April 14, 2023 - npm install @commitlint/cli @commitlint/config-conventional --save-dev OR yarn add -D @commitlint/cli @commitlint/config-conventional
🌐
Commitlint
commitlint.js.org › guides › ci-setup.html
Guide: CI Setup | commitlint
name: CI on: [push, pull_request] permissions: contents: read jobs: commitlint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup node uses: actions/setup-node@v4 with: node-version: lts/* cache: npm - name: Install commitlint run: npm install -D @commitlint/cli @commitlint/config-conventional - name: Print versions run: | git --version node --version npm --version npx commitlint --version - name: Validate current commit (last commit) with commitlint if: github.event_name == 'push' run: npx commitlint --last --verbose - name: Validate PR commits with commitlint if: github.event_name == 'pull_request' run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
🌐
npm
npmjs.com › package › @open-turo › commitlint-config-conventional
@open-turo/commitlint-config-conventional - npm
March 27, 2023 - This is an extension of the rules within @commitlint/config-conventional for the purposes of overriding certain values as deemed necessary.
      » npm install @open-turo/commitlint-config-conventional
    
Published   Mar 27, 2023
Version   1.1.0
Author   Turo Engineering
🌐
MHX Consulting
mhx.be › blog › conventional-commits
Blog - Conventional commits with Commitizen and Commitlint | MHX
March 1, 2022 - Install the following dependencies to enable conventional commits. npm i -D commitizen @commitlint/config-conventional @commitlint/cz-commitlint