diff options
Diffstat (limited to 'mac/.cursor/rules/nextjs.mdc')
| -rw-r--r-- | mac/.cursor/rules/nextjs.mdc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mac/.cursor/rules/nextjs.mdc b/mac/.cursor/rules/nextjs.mdc new file mode 100644 index 0000000..95d3454 --- /dev/null +++ b/mac/.cursor/rules/nextjs.mdc @@ -0,0 +1,21 @@ +--- +description: This rule explains Next.js conventions and best practices for fullstack development. +globs: **/*.js,**/*.jsx,**/*.ts,**/*.tsx +alwaysApply: false +--- + +# Next.js rules + +- Use the App Router structure with `page.tsx` files in route directories. +- Client components must be explicitly marked with `'use client'` at the top of the file. +- Use kebab-case for directory names (e.g., `components/auth-form`) and PascalCase for component files. +- Prefer named exports over default exports, i.e. `export function Button() { /* ... */ }` instead of `export default function Button() { /* ... */ }`. +- Minimize `'use client'` directives: + - Keep most components as React Server Components (RSC) + - Only use client components when you need interactivity and wrap in `Suspense` with fallback UI + - Create small client component wrappers around interactive elements +- Avoid unnecessary `useState` and `useEffect` when possible: + - Use server components for data fetching + - Use React Server Actions for form handling + - Use URL search params for shareable state +- Use `nuqs` for URL search param state management |
