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.
| 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. | |
prettier-config-spellbookx |
Prettier configuration with 19 ready-to-use presets, plugins for Tailwind, Prisma, Astro, Svelte, SQL, Nginx, and the defineSbxConfig composer. |
|
@spellbookx/recipes |
Curated import categorization rules and comprehensive ignore patterns for toolchains, operating systems, and runtimes. | |
commitlint-config-spellbookx |
Strict Conventional Commits configuration with automatic workspace package scope discovery and interactive cz-git prompt. |
|
cspell-config-spellbookx |
Multi-language CSpell spell-checker preset with extensive programming dictionaries, ignore globs, and technical jargon. | |
spellbookx |
π§ The Spellbookx CLI (sbx) β Automated interactive setup wizard for ESLint, Prettier, CSpell, and Commitlint. |
- β‘ ESLint 9+ Flat Configs: Native support for ESLint flat configurations without legacy
.eslintrcoverhead. - π¨ 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, andlerna.jsonfor 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/skillsallowing 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.
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.
]);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';pnpm add -D @spellbookx/recipesimport 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 cachespnpm add -D commitlint-config-spellbookx @commitlint/cli// commitlint.config.mjs
export { default } from 'commitlint-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'],
});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.
| 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 |
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/spellbookxYou 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/spellbookxOnce 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-setupskill." - "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.
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
# Clone the repository
git clone https://github.com/dcdavidev/spellbookx.git
cd spellbookx
# Install dependencies
pnpm install
# Build all packages
pnpm run build| 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 |
This project enforces commit hygiene and pre-commit checks using Lefthook:
- Pre-commit: Runs
pnpm run lintandpnpm run fmton staged files. - Commit-msg: Validates the commit message with
commitlintaccording to Conventional Commits. - Interactive Commits: Run
pnpm run committo use the interactive CLI powered bycz-git.
Contributions, issues, and feature requests are welcome! Please read our Contributing Guide for details on code style, commit conventions, and development workflows.
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.
