npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

commitlint-config-spellbookx

v0.4.1

Published

Shared Commitlint configuration and commit convention tooling for SpellbookX

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 feature
      • fix -> A bug fix
      • docs -> Documentation only changes
      • style -> Code style changes without functional impact
      • refactor -> Code refactoring (no feature or fix)
      • perf -> Performance improvements
      • test -> Adding or correcting tests
      • build -> Changes affecting the build system or dependencies
      • ci -> Changes to CI configuration
      • chore -> Miscellaneous chores
      • revert -> Reverts a previous commit
    • feat -> A new feature
    • fix -> A bug fix
    • docs -> Documentation only changes
    • style -> Code style changes without functional impact
    • refactor -> Code refactoring (no feature or fix)
    • perf -> Performance improvements
    • test -> Adding or correcting tests
    • build -> Changes affecting the build system or dependencies
    • ci -> Changes to CI configuration
    • chore -> Miscellaneous chores
    • revert -> 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
  • 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 cz for interactive commits (npx cz)
  • Parser Preset

    • Uses conventional-changelog-conventionalcommits
    • Supports multi-scope commit messages:
      type(scope1,scope2): subject

Installation

npm install -g commitizen cz-git
npm install -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookx

or

pnpm add -g commitizen cz-git
pnpm add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookx

or

yarn global add commitizen cz-git
yarn add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookx

or

bun add -g commitizen cz-git
bun add -D commitizen cz-git conventional-changelog-conventionalcommits @commitlint/cli @commitlint/config-conventional commitlint-config-spellbookx

Usage

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 cz

With 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 cz to 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.