.cursorrules (deprecated)
1/framework_rules/rules/nextjs-react-typescript-cursorrules-prompt-file/.cursorrules.cursorrules
Quality
38/100
Scores the file, not the repository.Length
561 words
0 headings · 0 code blocksRepository
28
— · pushed 478 days agoLast changed
3 days ago
First indexed 3 days ago.1You are an expert in Solidity, TypeScript, Node.js, Next.js 14 App Router, React, Vite, Viem v2, Wagmi v2, Shadcn UI, Radix UI, and Tailwind Aria.23Key Principles45- Write concise, technical responses with accurate TypeScript examples.6- Use functional, declarative programming. Avoid classes.7- Prefer iteration and modularization over duplication.8- Use descriptive variable names with auxiliary verbs (e.g., isLoading).9- Use lowercase with dashes for directories (e.g., components/auth-wizard).10- Favor named exports for components.11- Use the Receive an Object, Return an Object (RORO) pattern.1213JavaScript/TypeScript1415- Use "function" keyword for pure functions. Omit semicolons.16- Use TypeScript for all code. Prefer interfaces over types. Avoid enums, use maps.17- File structure: Exported component, subcomponents, helpers, static content, types.18- Avoid unnecessary curly braces in conditional statements.19- For single-line statements in conditionals, omit curly braces.20- Use concise, one-line syntax for simple conditional statements (e.g., if (condition) doSomething()).2122Error Handling and Validation2324- Prioritize error handling and edge cases:25 - Handle errors and edge cases at the beginning of functions.26 - Use early returns for error conditions to avoid deeply nested if statements.27 - Place the happy path last in the function for improved readability.28 - Avoid unnecessary else statements; use if-return pattern instead.29 - Use guard clauses to handle preconditions and invalid states early.30 - Implement proper error logging and user-friendly error messages.31 - Consider using custom error types or error factories for consistent error handling.3233React/Next.js3435- Use functional components and TypeScript interfaces.36- Use declarative JSX.37- Use function, not const, for components.38- Use Shadcn UI, Radix, and Tailwind Aria for components and styling.39- Implement responsive design with Tailwind CSS.40- Use mobile-first approach for responsive design.41- Place static content and interfaces at file end.42- Use content variables for static content outside render functions.43- Minimize 'use client', 'useEffect', and 'setState'. Favor RSC.44- Use Zod for form validation.45- Wrap client components in Suspense with fallback.46- Use dynamic loading for non-critical components.47- Optimize images: WebP format, size data, lazy loading.48- Model expected errors as return values: Avoid using try/catch for expected errors in Server Actions. Use useActionState to manage these errors and return them to the client.49- Use error boundaries for unexpected errors: Implement error boundaries using error.tsx and global-error.tsx files to handle unexpected errors and provide a fallback UI.50- Use useActionState with react-hook-form for form validation.51- Code in services/ dir always throw user-friendly errors that tanStackQuery can catch and show to the user.52- Use next-safe-action for all server actions:53 - Implement type-safe server actions with proper validation.54 - Utilize the action function from next-safe-action for creating actions.55 - Define input schemas using Zod for robust type checking and validation.56 - Handle errors gracefully and return appropriate responses.57 - Use import type { ActionResponse } from '@/types/actions'58 - Ensure all server actions return the ActionResponse type59 - Implement consistent error handling and success responses using ActionResponse6061Key Conventions62631. Rely on Next.js App Router for state changes.642. Prioritize Web Vitals (LCP, CLS, FID).653. Minimize 'use client' usage:66 - Prefer server components and Next.js SSR features.67 - Use 'use client' only for Web API access in small components.68 - Avoid using 'use client' for data fetching or state management.69 Refer to Next.js documentation for Data Fetching, Rendering, and Routing best practices.70 - https://nextjs.org/docs7172
Also in paulpham157/paul-s-cursor-rules
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/react-styled-components-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 42/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/react-typescript-nextjs-nodejs-cursorrules-prompt-/.cursorrules · 28 | .cursorrules | style | 44/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/.cursorrules · 28 | .cursorrules | docs | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/android-jetpack-compose-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testing-strategy | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+3 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-typescript-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | teststyledocs | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | no sections | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/aspnet-abp-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+5 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/astro-typescript-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | git | 30/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules · 28 | .cursorrules | style | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cpp-programming-guidelines-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | teststylearchperformance | 68/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules · 28 | .cursorrules | styletypesuido-not | 65/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-cursor-ai-wordpress-draft-macos-prompt/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/cursorrules-file-cursor-ai-python-fastapi-api/.cursorrules · 28 | .cursorrules | styletypes | 38/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 34/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/drupal-11-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | style | 46/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | no sections | 16/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/elixir-phoenix-docker-setup-cursorrules-prompt-fil/.cursorrules · 28 | .cursorrules | git | 30/100 | 3 days ago |
Diff against 1/framework_rules/rules/react-styled-components-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/react-typescript-nextjs-nodejs-cursorrules-prompt-/.cursorrules Diff against 1/framework_rules/.cursorrules Diff against 1/framework_rules/rules/android-jetpack-compose-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/angular-typescript-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/ascii-simulation-game-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/aspnet-abp-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/astro-typescript-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/chrome-extension-dev-js-typescript-cursorrules-pro/.cursorrules Diff against 1/framework_rules/rules/cpp-programming-guidelines-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/cursor-ai-react-typescript-shadcn-ui-cursorrules-p/.cursorrules Diff against 1/framework_rules/rules/cursorrules-cursor-ai-nextjs-14-tailwind-seo-setup/.cursorrules Diff against 1/framework_rules/rules/cursorrules-cursor-ai-wordpress-draft-macos-prompt/.cursorrules Diff against 1/framework_rules/rules/cursorrules-file-cursor-ai-python-fastapi-api/.cursorrules Diff against 1/framework_rules/rules/deno-integration-techniques-cursorrules-prompt-fil/.cursorrules Diff against 1/framework_rules/rules/dragonruby-best-practices-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/drupal-11-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/elixir-engineer-guidelines-cursorrules-prompt-file/.cursorrules Diff against 1/framework_rules/rules/elixir-phoenix-docker-setup-cursorrules-prompt-fil/.cursorrules
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| SkeneTechnologies/skene-cookbook.cursorrules · 51 | .cursorrules | setuptestlint-formatstyle+11 | 96/100 | 2 days ago | |
| fall-out-bug/sdp_lab.cursorrules · 0 | .cursorrules | setupbuildtestlint-format+3 | 86/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/python-llm-ml-workflow-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstyletypes+4 | 80/100 | 3 days ago | |
| storybookjs/storybook.cursorrules · 91k | .cursorrules | teststylearchdo-not+1 | 78/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/flutter-riverpod-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | stylearchdo-notagent-behaviour | 71/100 | 3 days ago | |
| forem/forem.cursorrules · 23k | .cursorrules | teststyletypesdatabase+4 | 71/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/angular-novo-elements-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | testlint-formatstylearch+3 | 70/100 | 3 days ago | |
| paulpham157/paul-s-cursor-rules1/framework_rules/rules/nextjs-supabase-shadcn-pwa-cursorrules-prompt-file/.cursorrules · 28 | .cursorrules | buildstylearchdo-not | 70/100 | 3 days ago |
