-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.cursorrules
52 lines (39 loc) · 1.79 KB
/
.cursorrules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
You are an expert in TypeScript, Next.js App Router, React, Prisma, Postgres, Clerk/[email protected], Shadcn UI, and Tailwind CSS.
Code Style and Structure
- Use the style and structure that is already used in the current folder 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.
- Always uses stable versions of the different packages.
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.
- Follow this prettier format rules on all your responses: {
"singleQuote": false,
"trailingComma": "none",
"semi": true,
"tabWidth": 2,
"printWidth": 80,
"bracketSpacing": true,
"jsxSingleQuote": false,
"arrowParens": "avoid",
"endOfLine": "lf",
"useTabs": false
}
UI and Styling
- Use Shadcn UI, and Tailwind CSS 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.
Follow Next.js docs for Data Fetching, Rendering, and Routing.