Skip to content

Development Guide

Terminal window
# Enable corepack and use pnpm
corepack enable
corepack use [email protected]
# Install dependencies
pnpm install
# Install the repository-managed Git hooks
pnpm run hooks:install
# Build all packages
pnpm run build
# Run tests
pnpm run test
CommandDescription
pnpm run buildBuild all packages (Turborepo)
pnpm run devWatch mode for development
pnpm run lintLint the entire monorepo
pnpm run lint:fixAuto-fix lint issues
pnpm run testRun integration tests (Vitest)
pnpm run inspectorOpen ESLint config inspector UI
pnpm run docsGenerate API docs (TypeDoc)
pnpm run hooks:installInstall the hooks declared in quality.yml
pnpm run cleanRemove all dist/ and node_modules/

The Git hooks are managed by the external quality CLI, not by a JavaScript workspace dependency. Install the checksum-verified native binary before running pnpm run hooks:install:

Terminal window
curl --proto '=https' --tlsv1.2 -fsSL \
https://raw.githubusercontent.com/santi020k/quality/main/install.sh \
| sh -s -- santi020k/quality v1.1.1
quality --version
pnpm run hooks:install
quality hooks status

The repository’s hook definitions live in quality.yml; rerun the install command after changing them.

This is a monorepo using Turborepo + pnpm Workspaces. Each config lives under packages/:

  • packages/basic — Main entry point, composes all configs
  • packages/core — Core JS rules, types, utilities
  • packages/typescript — TypeScript rules
  • packages/react — React + Hooks rules
  • packages/next — Next.js rules
  • packages/astro — Astro rules
  • packages/expo — Expo/React Native rules
  • packages/nest — NestJS rules
  • packages/vue — Vue rules
  • packages/{extensions,formats,libraries,testing,tools} — dependency-owning feature packs.
  • packages/integrations — compatibility aggregate over the feature packs.
  • packages/tests — Integration tests
  • packages/playground — Local testing playground

Always validate your changes before submitting:

Terminal window
pnpm run ok

For full contributing guidelines, see the CONTRIBUTING.md.

Did this page help?

One click helps us spot documentation that needs another pass. No personal data is sent.