Skip to content

About

A collection of shareable configurations for various development tools

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

spellbookx

Spellbookx

License: MIT Node.js Version pnpm Version Turborepo Vitest

A modern, highly modular monorepo of shareable developer tool configurations and recipes for JavaScript, TypeScript, React, Astro, Svelte, and Node.js.

Spellbookx streamlines your developer workflow by providing battle-tested, opinionated, and composable setups for linting, formatting, spell-checking, and commit conventions.


Workspace Packages

Package Description Version
eslint-plugin-spellbookx Modern ESLint 9+ Flat Config plugin bundling 16 modular presets, framework rules (React, Astro, Svelte, Node), and automated import sorting. npm
prettier-config-spellbookx Prettier configuration with 19 ready-to-use presets, plugins for Tailwind, Prisma, Astro, Svelte, SQL, Nginx, and the defineSbxConfig composer. npm
@spellbookx/recipes Curated import categorization rules and comprehensive ignore patterns for toolchains, operating systems, and runtimes. npm
commitlint-config-spellbookx Strict Conventional Commits configuration with automatic workspace package scope discovery and interactive cz-git prompt. npm
cspell-config-spellbookx Multi-language CSpell spell-checker preset with extensive programming dictionaries, ignore globs, and technical jargon. npm
spellbookx πŸ§™ The Spellbookx CLI (sbx) β€” Automated interactive setup wizard for ESLint, Prettier, CSpell, and Commitlint. npm

Key Highlights

  • ⚑ ESLint 9+ Flat Configs: Native support for ESLint flat configurations without legacy .eslintrc overhead.
  • 🎨 Multi-Framework Prettier: First-class formatting presets for Tailwind CSS class sorting, Astro, Svelte, Prisma, SQL, and Nginx.
  • πŸ“¦ Monorepo-Aware Commitlint: Automatically discovers all workspace packages across pnpm-workspace.yaml, package.json, and lerna.json for scope validation.
  • πŸ“– Technical & Multi-Lang Spellcheck: Pre-configured CSpell dictionaries for English, Italian, Spanish, French, German, and programming runtimes.
  • πŸ—‚οΈ Shared Recipes: Centralized ignore patterns and regex groups for simple-import-sort and prettier-plugin-sort-imports.
  • πŸ€– AI Agent Skills: Built-in .agents/skills allowing AI coding assistants (Antigravity, Cursor, Copilot, Cline) to automatically scaffold and configure the toolchain.
  • πŸ”„ Strict Dogfooding: This monorepo uses its own configurations across all root configurations and packages.
  • πŸš€ Modern Toolchain: Built with Turborepo, Rolldown, TypeScript, Vitest, and Lefthook.

Quick Packages Overview

1. ESLint Plugin (eslint-plugin-spellbookx)

pnpm add -D eslint-plugin-spellbookx eslint
// eslint.config.mjs
import { defineConfig } from 'eslint/config';
import spellbookx from 'eslint-plugin-spellbookx';

export default defineConfig([
  spellbookx.configs['recommended-spellcheck'],
  // or spellbookx.configs.recommended, spellbookx.configs.react, etc.
]);

2. Prettier Config (prettier-config-spellbookx)

pnpm add -D prettier-config-spellbookx prettier
// prettier.config.mjs
export { default } from 'prettier-config-spellbookx';
// or use specific presets:
// export { default } from 'prettier-config-spellbookx/astro-tailwind';
// export { default } from 'prettier-config-spellbookx/base';

3. Spellbookx Recipes (@spellbookx/recipes)

pnpm add -D @spellbookx/recipes
import recipes, { ignores, imports } from '@spellbookx/recipes';

console.log(imports.uiFrameworks); // Regex matching React, Vue, Svelte, Astro, etc.
console.log(ignores.node); // Array of globs for build outputs and caches

4. Commitlint Config (commitlint-config-spellbookx)

pnpm add -D commitlint-config-spellbookx @commitlint/cli
// commitlint.config.mjs
export { default } from 'commitlint-config-spellbookx';

5. CSpell Config (cspell-config-spellbookx)

pnpm add -D cspell-config-spellbookx cspell
// cspell.config.cjs
const { defineConfig } = require('@cspell/cspell-types');

module.exports = defineConfig({
  version: '0.2',
  import: ['cspell-config-spellbookx'],
});

AI Agent Skills

Spellbookx includes official agent skills conforming to the open Agent Skills specification. These skills enable AI coding assistants (such as Antigravity, Cursor, Copilot, Cline, Zed, and Warp) to automatically configure, customize, and maintain the Spellbookx developer toolchain without manual setup or prompt engineering.

Available Skills

Skill Description Location
spellbookx-setup Complete guided setup of the full Spellbookx suite into any JS/TS codebase or monorepo. .agents/skills/spellbookx-setup
spellbookx-eslint Configures ESLint 9+ flat configs with framework presets and @spellbookx/recipes import sorting. .agents/skills/spellbookx-eslint
spellbookx-prettier Composes Prettier presets (Tailwind, Astro, Svelte, Prisma) using the defineSbxConfig composer. .agents/skills/spellbookx-prettier
spellbookx-cspell Configures multi-language code spell-checking, custom dictionaries, and ignore paths. .agents/skills/spellbookx-cspell
spellbookx-commitlint Sets up Conventional Commits, monorepo scope discovery, and interactive cz-git prompt. .agents/skills/spellbookx-commitlint

Installation

Install all or selected Spellbookx skills into your project using the skills CLI:

# Add all Spellbookx skills to your project
npx skills add dcdavidev/spellbookx

# Or add a specific skill:
npx skills add dcdavidev/spellbookx --skill spellbookx-setup
npx skills add dcdavidev/spellbookx --skill spellbookx-eslint
npx skills add dcdavidev/spellbookx --skill spellbookx-prettier
npx skills add dcdavidev/spellbookx --skill spellbookx-cspell
npx skills add dcdavidev/spellbookx --skill spellbookx-commitlint

# Or install globally for your personal AI assistant:
npx skills add -g dcdavidev/spellbookx

Manual Installation

You can also copy the skills directly into any project's .agents/skills folder:

mkdir -p .agents/skills
git clone --depth 1 https://github.com/dcdavidev/spellbookx.git /tmp/spellbookx
cp -r /tmp/spellbookx/.agents/skills/* .agents/skills/
rm -rf /tmp/spellbookx

Usage with AI Assistants

Once installed, your AI assistant (Google Antigravity, Cursor, Claude Code, GitHub Copilot, Cline, Windsurf, Zed, or Warp) automatically discovers and activates the skills. You can interact with your agent using natural prompts:

  • "Set up Spellbookx in this project using the spellbookx-setup skill."
  • "Configure ESLint flat config for my Next.js and Tailwind project using spellbookx-eslint."
  • "Add a custom technical dictionary and ignore paths using spellbookx-cspell."
  • "Format my commit using spellbookx-commitlint."

For full documentation and skill guides, see .agents/README.md.


Repository Structure

spellbookx/
β”œβ”€β”€ .agents/
β”‚   └── skills/                        # AI agent skills (setup, eslint, prettier, etc.)
β”œβ”€β”€ @spellbookx/
β”‚   └── recipes/                       # Import sorting recipes & ignore patterns
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ commitlint-config-spellbookx/  # Conventional Commits + cz-git prompt
β”‚   β”œβ”€β”€ cspell-config-spellbookx/      # CSpell multi-lang & technical dicts
β”‚   β”œβ”€β”€ eslint-plugin-spellbookx/      # ESLint 9+ flat configs (16 presets)
β”‚   β”œβ”€β”€ prettier-config-spellbookx/    # Prettier configs (19 presets + composer)
β”‚   └── spellbookx/                    # πŸ§™ The Spellbookx CLI (`sbx`)
β”œβ”€β”€ .config/cspell/                    # Monorepo CSpell custom dictionary
β”œβ”€β”€ .editorconfig                      # Consistent indentation and coding styles
β”œβ”€β”€ .nvmrc                             # Node.js LTS version (>= v24.x)
β”œβ”€β”€ .prettierignore                    # Global format exclusions
β”œβ”€β”€ eslint.config.mjs                  # Monorepo ESLint flat configuration
β”œβ”€β”€ lefthook.yml                       # Fast Git hooks manager
β”œβ”€β”€ package.json                       # Monorepo workspace root scripts & devDeps
β”œβ”€β”€ pnpm-workspace.yaml                # pnpm workspace definition
β”œβ”€β”€ prettier.config.mjs                # Monorepo Prettier configuration
└── turbo.json                         # Turborepo task pipeline configuration

Development

Prerequisites

  • Node.js: >= 24.0.0 (Active LTS recommended, see .nvmrc)
  • Package Manager: pnpm >= 10.0.0

Setup

# Clone the repository
git clone https://github.com/dcdavidev/spellbookx.git
cd spellbookx

# Install dependencies
pnpm install

# Build all packages
pnpm run build

Available Scripts

Script Command Purpose
pnpm run build turbo run build Compiles all workspace packages using Rolldown & tsc
pnpm run build:force turbo run build --force Rebuilds all packages ignoring Turborepo cache
pnpm run test turbo run test Executes all unit test suites using Vitest
pnpm run test:watch turbo run test -- --watch Runs Vitest in interactive watch mode
pnpm run test:force turbo run test --force Runs all tests bypassing Turborepo cache
pnpm run lint pnpm exec eslint --fix . Lints and auto-fixes JavaScript, TypeScript, JSON, and Markdown
pnpm run lint:check pnpm exec eslint . Lints codebase without applying automatic fixes
pnpm run fmt pnpm exec prettier --write . Formats all supported files across the monorepo
pnpm run fmt:check pnpm exec prettier --check . Verifies formatting without writing changes
pnpm run spellcheck pnpm exec cspell . Quick spell-check without progress bar
pnpm run spellcheck:all pnpm exec cspell . Complete spell-check with full reporting
pnpm run check lint && spellcheck && test Local validation suite
pnpm run check:ci lint:check && fmt:check && ... Strict CI pipeline verification
pnpm run clean rm -rf ... Removes .turbo caches and package dist/ folders
pnpm run commit cz Launches interactive Commitizen (cz-git) prompt
pnpm run commit:lint commitlint --from=HEAD~1 Validates recent commit messages against Conventional Commits
pnpm run changeset changeset Creates a new changeset interactively
pnpm run version changeset version Consumes changesets, bumps versions, and updates changelogs
pnpm run release turbo run release Compiles all packages and publishes each to npmjs via Turborepo
pnpm run publish pnpm run version && pnpm run release Full pipeline: bumps versions and publishes all packages

Git Workflow & Hooks

This project enforces commit hygiene and pre-commit checks using Lefthook:

  1. Pre-commit: Runs pnpm run lint and pnpm run fmt on staged files.
  2. Commit-msg: Validates the commit message with commitlint according to Conventional Commits.
  3. Interactive Commits: Run pnpm run commit to use the interactive CLI powered by cz-git.

Contributing

Contributions, issues, and feature requests are welcome! Please read our Contributing Guide for details on code style, commit conventions, and development workflows.


License

This project is open-source software licensed under the MIT License.

  • Author & Creator: Davide Di Criscito
  • Copyright: Β© 2026 Davide Di Criscito and contributors.

For full license details and permissions, see the LICENSE file.

About

A collection of shareable configurations for various development tools

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages