commitlint-config-spellbookx
v0.4.1
Published
Shared Commitlint configuration and commit convention tooling for SpellbookX
Maintainers
Readme
commitlint-config-spellbookx
Shared Commitlint configuration - standardizing commit message formatting across JS/TS projects.
Conventional commits, interactive prompts, and multi-scope support included.
Clean. Opinionated. Always consistent.
Table of Content
Features
Base Rules
- Enforces Conventional Commits style.
- Supported commit types:
feat-> A new featurefix-> A bug fixdocs-> Documentation only changesstyle-> Code style changes without functional impactrefactor-> Code refactoring (no feature or fix)perf-> Performance improvementstest-> Adding or correcting testsbuild-> Changes affecting the build system or dependenciesci-> Changes to CI configurationchore-> Miscellaneous choresrevert-> Reverts a previous commit
feat-> A new featurefix-> A bug fixdocs-> Documentation only changesstyle-> Code style changes without functional impactrefactor-> Code refactoring (no feature or fix)perf-> Performance improvementstest-> Adding or correcting testsbuild-> Changes affecting the build system or dependenciesci-> Changes to CI configurationchore-> Miscellaneous choresrevert-> Reverts a previous commit- Enforces:
- Scope case:
kebab-case - Subject cannot be empty
- Subject case:
sentence-case - No full stop at the end of subject
- Header max length: 72
- Body and footer max line length: 100
- Scope case:
Interactive Prompt
- Multi-scope support enabled
- Scope separator:
, - Guided questions for type, scope, subject, body, breaking changes, and issues affected
- Emoji and title per commit type
- Uses
czfor interactive commits (npx cz)
Parser Preset
- Uses
conventional-changelog-conventionalcommits - Supports multi-scope commit messages:
type(scope1,scope2): subject
- Uses
Installation
npm install -g commitizen cz-git
npm install -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookxor
pnpm add -g commitizen cz-git
pnpm add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookxor
yarn global add commitizen cz-git
yarn add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookxor
bun add -g commitizen cz-git
bun add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookxUsage
Create a commitlint.config.mjs file at your project root:
export default {
extends: ['commitlint-config-spellbookx'],
};Create a .czrc file at your project root:
{
"path": "cz-git"
}Add these properties to your root package.json:
{
"config": {
"commitizen": {
"path": "git-cz"
}
}
}With CLI
Interactive commits using Commitizen:
npx czWith Lefthook
Configure a lefthook.yml in your project root:
commit-msg:
commands:
lint-commit-msg:
run: npx commitlint --verbose --edit {1}Commitlint will automatically validate commit messages on each commit. Use
czto create commits interactively.
Resources
License
This project is licensed under the MIT License.
Copyright (c) 2025 Davide Di Criscito
For the full details, see the LICENSE file.
