nextjs-react-tailwind-cursorrules-prompt-file — правило для Cursor
Задаёт правила разработки на Next.js App Router, React, Tailwind CSS и Shadcn UI. Направляет Cursor генерировать серверные компоненты и соблюдать единую структуру файлов.
.cursor/rules/nextjs-react-tailwind-cursorrules-prompt-file.mdcЧто делает nextjs-react-tailwind-cursorrules-prompt-file
Правило ориентирует Cursor на работу со стеком Next.js App Router, TypeScript, Tailwind CSS, Shadcn UI и Framer Motion. Модели предписывается писать функциональный код без классов. Никаких enum: вместо них используются карты значений.
Инструкция жёстко ограничивает использование директивы 'use client'. Клиентские компоненты оборачиваются в Suspense и применяются только для доступа к Web API или изолированных интерактивных элементов. Получение данных возложено исключительно на серверные компоненты (RSC), а для работы с параметрами строки запроса в URL подключается библиотека nuqs.
Вся структура проекта привязана к каталогу /src. Логика делится между /src/app и /src/components с именами файлов вида new-component.tsx. Если проект построен на Pages Router, эти инструкции начнут мешать генерации.
Какие задачи решает
- организовать архитектуру каталогов
/src/appи/src/components - ограничить директиву
'use client'в пользу серверных компонентов - исключить TypeScript-классы и
enumиз интерфейсного кода - подключить синхронизацию параметров URL через
nuqs
Примеры запросов агенту
- Создай форму фильтрации каталога с синхронизацией параметров через
nuqs. - Добавь серверный компонент карточки товара в
/src/components/ui. - Вынеси изолированные виджеты страницы в директорию
_components.
Как установить nextjs-react-tailwind-cursorrules-prompt-file
Вручную: положить файлы
.cursor/rules/nextjs-react-tailwind-cursorrules-prompt-file.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/nextjs-react-tailwind-cursorrules-prompt-file.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/nextjs-react-tailwind-cursorrules-prompt-file.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/nextjs-react-tailwind-cursorrules-prompt-file.mdВручную: положить файлы
.clinerules/nextjs-react-tailwind-cursorrules-prompt-file.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Вопросы о nextjs-react-tailwind-cursorrules-prompt-file
Как установить nextjs-react-tailwind-cursorrules-prompt-file в Cursor?
Создайте файл .cursor/rules/nextjs-react-tailwind-cursorrules-prompt-file.mdc в корне проекта и сохраните в него содержимое правила.
Что делает правило nextjs-react-tailwind-cursorrules-prompt-file?
Оно определяет стандарты написания кода для Next.js App Router, TypeScript, Tailwind CSS и Shadcn UI. Cursor генерирует серверные компоненты по умолчанию, использует именованные экспорты и соблюдает чёткую структуру папок.
Какие зависимости нужны для работы этого правила?
В проекте должны быть установлены Next.js с App Router, Tailwind CSS, Shadcn UI, Framer Motion и библиотека nuqs для синхронизации параметров в адресе страницы.
Исходный текст
nextjs-react-tailwind-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Next.js development with React and Tailwind CSS integration."
globs: **/*
alwaysApply: false
---
- You are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, and Tailwind and Framer Motion.
- 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
- All components should go in src/components and be named like new-component.tsx
- 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.
- UI and Styling
- Use Shadcn UI, and Tailwind 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.
- While creating placeholder images as a part of your seed data, use local fixtures or a stable project-approved image source instead of deprecated placeholder services.
- Place both the /app and /components folders under a /src directory. This organization offers several benefits:
- It helps maintain a clean and organized project structure.
- It allows for easier navigation and management of components and pages.
- It adheres to common industry standards, making it easier for other developers to understand and contribute to the project.
- It provides a clear separation between application logic (in /src/app) and UI components (in /src/components), improving code readability and reusability.
- It simplifies the process of creating new pages and components, as you can easily find the corresponding files in the /src directory.
- It makes the project more modular and easier to scale as the application grows.
- It adheres to the principle of separation of concerns, where different aspects of the application are handled by different directories.
## Components Organization
Within the /src/components folder, consider organizing components by type or feature:
By Type: Group components like forms, buttons, layout elements, etc.
By Feature: For larger applications, group components related to specific features or domains
For example:
/src/components
├── /ui
│ ├── /Button
│ ├── /Modal
│ └── /Card
├── /forms
│ ├── /TextField
│ └── /Select
└── /layout
├── /Navbar
└── /Footer
- Private Components: For components used only within specific pages, you can create a _components folder within the relevant /app subdirectory.
- Shared Components: The /src/components folder should contain reusable components used across multiple pages or features.
- Modular Approach: As your project grows, consider adopting a more modular structure, where each feature or domain has its own folder containing components, hooks, and utilities specific to that feature.
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules