Skip to main content
Zayne Labs Config provides three complementary packages that work together to establish consistent code quality, formatting, and type-checking standards across your projects.

Package Suite

ESLint Config

Opinionated ESLint configuration with framework support and zero-config setup

Prettier Config

Modular Prettier configuration with smart import sorting and Tailwind support

TSConfig

TypeScript configuration presets for apps, libraries, and monorepos

Comparison

FeatureESLint ConfigPrettier ConfigTSConfig
PurposeCode quality & best practicesCode formatting & styleTypeScript compiler settings
Setup ComplexityOne-line or interactive CLIOne-line factory functionSingle extend reference
Framework SupportReact, Vue, Svelte, Astro, SolidAstroNext.js
CustomizationHighly configurable optionsModular factory systemExtend and override
Node VersionNode.js v20+Node.js v18+Any
Config FormatESLint Flat ConfigPrettier v3JSON extends

Quick Start

All Packages

pnpm add -D @zayne-labs/eslint-config @zayne-labs/prettier-config @zayne-labs/tsconfig

ESLint Setup

eslint.config.js
import { zayne } from "@zayne-labs/eslint-config";

export default zayne();

Prettier Setup

prettier.config.js
import { zayne } from "@zayne-labs/prettier-config";

export default zayne();

TypeScript Setup

tsconfig.json
{
  "extends": "@zayne-labs/tsconfig/bundler/dom/app"
}

Why Use These Packages Together?

ESLint enforces best practices and catches bugs, Prettier ensures uniform formatting, and TSConfig provides type safety—all working in harmony.
Start with sensible defaults and customize only what you need. Each package offers granular control when required.
Whether you’re building with React, Vue, Svelte, or vanilla TypeScript, these packages adapt to your stack.
Built for ESLint v9+ Flat Config, Prettier v3, and modern TypeScript features.

Package Details

@zayne-labs/eslint-config

Latest Version: 0.11.30 Key Features:
  • Interactive CLI for guided setup
  • Support for TypeScript, JSX, Vue, JSON, YAML, TOML, Markdown
  • Framework plugins: React, Vue, Svelte, Astro, Solid
  • Respects .gitignore by default
  • Type-aware linting rules
View ESLint Config Documentation →

@zayne-labs/prettier-config

Latest Version: 0.11.30 Key Features:
  • Modular factory for selective feature enabling
  • Smart import sorting by “distance”
  • Tailwind CSS v4 support with class sorting
  • Auto-installation of optional plugins
  • Deduplicated configuration merging
View Prettier Config Documentation →

@zayne-labs/tsconfig

Latest Version: 0.11.30 Key Features:
  • Presets for apps, libraries, and monorepos
  • Separate configs for DOM and non-DOM environments
  • TSC and bundler variants
  • Based on Matt Pocock’s TSConfig Cheat Sheet
  • Next.js-specific configuration
View TSConfig Documentation →

Integration Example

Here’s a complete setup for a React TypeScript application:
package.json
{
  "scripts": {
    "lint:eslint": "eslint .",
    "lint:eslint-fix": "eslint . --fix",
    "format": "prettier --write .",
    "type-check": "tsc --noEmit"
  },
  "devDependencies": {
    "@zayne-labs/eslint-config": "^0.11.30",
    "@zayne-labs/prettier-config": "^0.11.30",
    "@zayne-labs/tsconfig": "^0.11.30",
    "eslint": "^9.5.0",
    "prettier": "^3.0.0",
    "typescript": "^5.0.0"
  }
}
eslint.config.js
import { zayne } from "@zayne-labs/eslint-config";

export default zayne({
  react: true,
  typescript: true,
  stylistic: true,
});
prettier.config.js
import { zayne } from "@zayne-labs/prettier-config";

export default zayne({
  sortImports: true,
  tailwindcss: true,
});
tsconfig.json
{
  "extends": "@zayne-labs/tsconfig/bundler/dom/app",
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["src"]
}

Support & Contributing

All three packages are open source and maintained by Zayne Labs.

Report Issues

Found a bug or have a feature request?

View Source

Explore the codebase and contribute
These packages follow semantic versioning with config-specific considerations. Rule changes are considered non-breaking, while changes to setup or major behavior are breaking changes.

Build docs developers (and LLMs) love