Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier…
Opinionated TypeScript/JavaScript conventions and tooling setup for modern projects. Covers code organization (single responsibility, type separation, constants extraction), runtime practices (isomorphic code with environment markers), and explicit TypeScript typing Includes ESLint configuration via @antfu/eslint-config, Vitest testing patterns, and Git hooks with lint-staged for automated code formatting Provides @antfu/ni command shortcuts for dependency management across package managers, and pnpm catalog-based version management for monorepos References detailed guides for ESLint setup, project initialization, Vue/Nuxt app development, library publishing, and monorepo patterns Coding Practices Code Organization Single responsibility: Each source file should have a clear, focused scope/purpose Split large files: Break files when they become large or handle too many concerns Type separation: Always separate types and interfaces into types.ts or types/*.ts Constants extraction: Move constants to a dedicated constants.ts file Runtime Environment Prefer isomorphic code: Write runtime-agnostic code that works in Node, browser, and workers whenever possible Clear runtime indicators: When code is environment-specific, add a comment at the top of the file: // @env node // @env browser
don't have the plugin yet? install it then click "run inline in claude" again.