PluginBench
Rule

typescript shadcn ui nextjs cursorrules prompt fil

via PatrickJS/awesome-cursorrules

TypeScript + shadcn/ui + Next.js development conventions with RSC-first patterns and Tailwind styling.

What is typescript shadcn ui nextjs cursorrules prompt fil?

Establishes code style, naming, and architectural patterns for TypeScript projects using shadcn/ui components and Next.js. Emphasizes functional programming, React Server Components, early error handling, and performance optimization via Tailwind CSS and dynamic loading.

  • Enforce functional TypeScript with interfaces, descriptive naming (isLoading, hasError), and named exports for components
  • Prioritize React Server Components and minimize 'use client' directives; wrap client components in Suspense
  • Use shadcn/ui, Radix, and Tailwind Aria for accessible, responsive UI with mobile-first Tailwind CSS
  • Implement Zod validation and model expected errors as return values in Server Actions with early guard clauses
  • Optimize images (WebP, lazy loading, size data) and Web Vitals; use 'nuqs' for URL search parameter state management
  • Structure files with exported component, subcomponents, helpers, static content, and types in declared order

Applies to

File patterns this rule matches.

**/*
Rule definition (reference)

Source of truth, from the repository.

Code Style and Structure:

  • Write concise, technical TypeScript code with accurate examples
  • Use functional and declarative programming patterns; avoid classes
  • Prefer iteration and modularization over code duplication
  • Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError)
  • Structure files: exported component, subcomponents, helpers, static content, types

Naming Conventions:

  • Use lowercase with dashes for directories (e.g., components/auth-wizard)
  • Favor named exports for components

TypeScript Usage:

  • Use TypeScript for all code; prefer interfaces over types
  • Avoid enums; use maps instead
  • Use functional components with TypeScript interfaces

Syntax and Formatting:

  • Use the "function" keyword for pure functions
  • Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements
  • Use declarative JSX

Error Handling and Validation:

  • Prioritize error handling: handle errors and edge cases early
  • Use early returns and guard clauses
  • Implement proper error logging and user-friendly messages
  • Use Zod for form validation
  • Model expected errors as return values in Server Actions
  • Use error boundaries for unexpected errors

UI and Styling:

  • Use Shadcn UI, Radix, and Tailwind Aria for components and styling
  • Implement responsive design with Tailwind CSS; use a mobile-first approach

Performance Optimization:

  • Minimize 'use client', 'useEffect', and 'setState'; favor React Server Components (RSC)
  • Wrap client components in Suspense with fallback
  • Use dynamic loading for non-critical components
  • Optimize images: use WebP format, include size data, implement lazy loading

Key Conventions:

  • Use 'nuqs' for URL search parameter state management
  • Optimize Web Vitals (LCP, CLS, FID)
  • Limit 'use client':
    • Favor server components and Next.js SSR
    • Use only for Web API access in small components
    • Avoid for data fetching or state management

Follow Next.js docs for Data Fetching, Rendering, and Routing

Related rules

TypeScript, Vite, and Tailwind best practices with Vue 3 Composition API and DaisyUI.

**/*
41k
via PatrickJS/awesome-cursorrules

TypeScript and Vue.js development conventions and best practices.

**/*
41k
via PatrickJS/awesome-cursorrules

TypeScript, Zod, Tailwind, and Next.js coding standards for Cursor.

**/*
41k
via PatrickJS/awesome-cursorrules

TYPO3 CMS extension development with modern PHP 8.3+, PSR standards, and best practices.

**/*
41k
via PatrickJS/awesome-cursorrules

Swift UIKit development guidelines emphasizing clean architecture, Auto Layout with SnapKit, and programmatic UI composition.

**/*
41k
via PatrickJS/awesome-cursorrules

C# guidance for Unity tower defense game with Ringcon controller integration.

**/*
41k
via PatrickJS/awesome-cursorrules