К основному содержанию
правило

nextjs-vercel-typescript-cursorrules-prompt-file — правило

Правило для Cursor, которое задаёт стиль кода и структуру проекта на Next.js с TypeScript, Vercel middleware и KV-базой.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/nextjs-vercel-typescript-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает nextjs-vercel-typescript-cursorrules-prompt-file

Файл описывает, как агент должен писать код в проекте: TypeScript везде, интерфейсы вместо типов, функциональные компоненты, отказ от классов и enum в пользу map. Файлы раскладываются по схеме «экспортируемый компонент, подкомпоненты, хелперы, статика, типы», директории именуются строчными буквами через дефис, компоненты — именованными экспортами.

Отдельный блок посвящён производительности и клиентскому коду. Правило просит минимизировать use client, useEffect и setState, оборачивать клиентские компоненты в Suspense с fallback и подгружать некритичные части динамически. Для состояния в URL предлагается nuqs, для картинок — WebP с указанием размеров и ленивой загрузкой.

Есть раздел про ai-sdk-rsc: установка библиотеки, middleware в middleware.ts для сессий через @vercel/kv, хуки для стриминга генеративного контента. Учтите, что для этого нужен доступ к Vercel KV и переменные окружения с ключами и учётными данными базы — их правило советует держать в настройках окружения Vercel, а не в репозитории.

Какие задачи решает

  • задать единый стиль TypeScript-кода для агента в проекте на Next.js
  • разложить файлы компонента по фиксированной структуре
  • сократить число клиентских компонентов и перенести логику на сервер
  • настроить middleware с сессиями через Vercel KV
  • подключить стриминг ответов модели через ai-sdk-rsc

Примеры запросов агенту

  • Создай компонент чата в components/chat по правилам проекта
  • Отрефактори этот компонент: убери use client, перенеси выборку данных на сервер
  • Настрой middleware/ai-middleware.ts с сессией в Vercel KV

Как установить nextjs-vercel-typescript-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/nextjs-vercel-typescript-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о nextjs-vercel-typescript-cursorrules-prompt-file

Как установить nextjs-vercel-typescript-cursorrules-prompt-file в Cursor?

Скопируйте файл правил в .cursor/rules/nextjs-vercel-typescript-cursorrules-prompt-file.mdc. Cursor подхватит его из этой папки.

Что делает это правило?

Задаёт агенту набор соглашений по Next.js App Router, TypeScript, Tailwind, Shadcn UI и Radix UI, а также инструкции по ai-sdk-rsc, Vercel middleware и KV-базе.

Что нужно для работы с ai-sdk-rsc по этому правилу?

Библиотека ставится через npm install ai-sdk-rsc или yarn add ai-sdk-rsc, а ключи и учётные данные базы правило советует хранить в переменных окружения Vercel.

Исходный текст

nextjs-vercel-typescript-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Next.js development with Vercel and TypeScript integration."
globs: **/*
alwaysApply: false
---
To extend the provided rules to include usage of the `ai-sdk-rsc` library and integrate it with Vercel middleware and a KV database, here's an updated set of instructions tailored for use with Cursor IDE. These instructions are designed to help you effectively implement generative user interfaces using React Server Components (RSC) with the AI SDK.

### Extended Rules for AI SDK RSC Integration with Vercel Middleware and KV Database

**Environment and Tools**

- You are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI, Tailwind, and Vercel middleware.
- You are familiar with Vercel's KV database for managing stateful data.

**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.

**UI and Styling**

- Use Shadcn UI, Radix 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.

**AI SDK RSC Integration**

- **Setup and Installation**: Integrate `ai-sdk-rsc` into your Next.js project.
  - Install the library using `npm install ai-sdk-rsc` or `yarn add ai-sdk-rsc`.
  - Configure middleware in `middleware.ts` to manage requests and sessions using Vercel's KV database.

- **Middleware Implementation**: Use Vercel middleware to handle incoming requests.
  - Create a middleware file in the `middleware` directory (e.g., `middleware/ai-middleware.ts`).
  - Use middleware to parse user input and manage sessions with the KV database.
  - Example:
    ```typescript
    import { NextRequest, NextResponse } from 'next/server';
    import { kv } from '@vercel/kv';

    export async function middleware(req: NextRequest) {
      const sessionId = req.cookies.get('session-id');
      if (!sessionId) {
        const newSessionId = generateSessionId();
        await kv.set(newSessionId, { state: {} }); // Initialize state in KV database
        const res = NextResponse.next();
        res.cookies.set('session-id', newSessionId);
        return res;
      }
      // Fetch state from KV database
      const state = await kv.get(sessionId);
      req.nextUrl.searchParams.set('state', JSON.stringify(state));
      return NextResponse.next();
    }

    function generateSessionId() {
      return Math.random().toString(36).substring(2);
    }
    ```

- **React Server Components (RSC) and AI SDK**:
  - Use `ai-sdk-rsc` hooks to manage state and stream generative content.
  - Example usage of AI SDK hooks in a React Server Component:
    ```typescript
    import { useAIStream } from 'ai-sdk-rsc';
    import { FC } from 'react';

    interface ChatProps {
      initialMessage: string;
    }

    const Chat: FC = ({ initialMessage }) => {
      const { messages, sendMessage } = useAIStream({
        initialMessage,
        onMessage: (message) => console.log('New message:', message),
      });

      return (
        {msg.content}
      );

    export default Chat;
    ```

- **KV Database Integration**:
  - Use Vercel's KV database to store and retrieve session data.
  - Utilize `kv.set`, `kv.get`, and `kv.delete` to manage data.
  - Ensure the database operations are asynchronous to avoid blocking server-side rendering (SSR).

- **Data Fetching and State Management**:
  - Use Next.js data fetching methods (`getServerSideProps`, `getStaticProps`) to manage server-side state.
  - Avoid client-side data fetching methods (`useEffect`, `fetch`) except for critical, non-blocking operations.

- **Deployment Considerations**:
  - Ensure all environment variables (e.g., API keys, database credentials) are securely stored in Vercel's environment settings.
  - Configure Vercel's KV and other serverless functions correctly to handle scalability and performance needs.

By following these extended rules, you'll be able to create a well-optimized, scalable, and efficient Next.js application that leverages `ai-sdk-rsc`, Vercel middleware, and KV database for building sophisticated AI-driven interfaces.

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «Фронтенд и UI» →
nextjs-typescript-tailwindcss-supabase Mindrally Скилл задаёт агенту правила для Next.js 14, TypeScript, TailwindCSS и Supabase: серверные компоненты, обработка ошибок, читаемый код. CX Codex +1 1 300установок vercel-development Mindrally Набор правил для ИИ-агента: как писать код под Next.js App Router, React Server Components и Vercel AI SDK. Пригодится, когда агент лепит клиентские компоненты там, где хватило бы серверных. CX Codex +1 712установок nextjs-developer https://github.com/Jeffallan Скилл настраивает архитектуру приложений на Next.js 14+ с App Router, серверными компонентами и Server Actions. Помогает внедрить потоковый SSR и подготовить проект к деплою. CX Codex +1 5 800установок vercel-react-best-practices vercel Скилл с 70 правилами оптимизации React и Next.js от Vercel. Пригодится при написании компонентов, рефакторинге и разборе проблем с производительностью. CX Codex +1 448установок nextjs официальный Vercel Labs Помогает разрабатывать и отлаживать приложения на Next.js App Router. Пригодится для разбора маршрутов, Server Components, загрузки данных и рендеринга. CX Codex GP ChatGPT 50установок v0-dev официальный Vercel Labs Помогает генерировать интерфейсы на React через v0, подключать готовые компоненты в Next.js и автоматизировать деплой через v0 SDK. CX Codex GP ChatGPT 5установок

Из того же набора68

project-epic-template-cursorrules-prompt-file Правило превращает Cursor в продакт-менеджера: агент пишет эпики и пользовательские истории по шаблону с критериями приёмки и метриками. ★ 41 011звёзд репо playwright-defect-tracking-cursorrules-prompt-file Правило для Cursor: агент пишет тесты Playwright с привязкой к ручным кейсам и собирает доказательства дефектов. ★ 41 011звёзд репо plasticode-telegram-api-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на PHP 7.4, Plasticode и Telegram Bot API. Пригодится, если бот пишется на Plasticode и нужен код в стиле PSR-12. ★ 41 011звёзд репо nextjs15-supabase-cursorrules-prompt-file Правило для Cursor, которое держит агента в рамках стека Next.js 15, Supabase и TypeScript strict — от проверки сессии до RLS и ключей Stripe. ★ 41 011звёзд репо nextjs-typescript-cursorrules-prompt-file Правило для Cursor задаёт стек Next.js с TypeScript и порядок работы агента: план, стиль кода, формат ответа. Пригодится, если вы пишете фронтенд на Next.js. ★ 41 011звёзд репо nextjs-tailwind-typescript-apps-cursorrules-prompt Правило для Cursor, которое настраивает ассистента на Next.js, Tailwind CSS и TypeScript. Оно задаёт порядок работы: сначала план в псевдокоде, потом код. ★ 41 011звёзд репо nextjs-react-typescript-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль кода в проектах на Next.js 14 App Router, React и TypeScript. ★ 41 011звёзд репо nextjs-app-router-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту привычки Next.js App Router: серверные компоненты по умолчанию, файловый роутинг, отдельные файлы для загрузки и ошибок. ★ 41 011звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой