Cursor Next.js 编码规范

Model: qwen-max | ¥0.15/call
AI工具GPT-4.1智能助手CursorNext.js

Cursor Next.js 编码规范:来自 PatrickJS/awesome-cursorrules (40k stars) 的 nex,适用于各类文档与内容的智能化处理。

Calls: 1

Skill Documentation

Cursor Next.js 编码规范

摘要

Cursor Next.js 编码规范:来自 PatrickJS/awesome-cursorrules (40k stars) 的 nex,适用于各类文档与内容的智能化处理。

**文件来源:** PatrickJS/awesome-cursorrules → `rules/nextjs-tanstack-query-cursorrules-prompt-file.mdc`

**原仓库:** https://github.com/PatrickJS/awesome-cursorrules

**评分:** ⭐ 仓库 40k stars (社区最权威 Cursor rules 合集)

这个 skill 是干什么的?

把 `nextjs-tanstack-query-cursorrules-prompt-file.mdc` 这条 Cursor 编码规则打包成可调用的 AI skill,帮你把代码生成统一到一致的标准上。

> Cursor rules for Next.js App Router with TanStack Query v5, covering the HydrationBoundary pattern, Server Actions as mutations, and optimistic updates.

🤖 Agent 使用说明

👤 用户需要做什么?

适用场景

原始规则内容

globs: **/*
alwaysApply: false
---
You are an expert in Next.js (App Router), TanStack Query v5, TypeScript, and combining server components with client-side data fetching.

# Next.js App Router + TanStack Query v5 Guidelines

## Architecture Philosophy
- Server Components fetch data directly (no TanStack Query needed there)
- TanStack Query lives in Client Components for interactive, real-time, or user-triggered data
- Use React Server Components for initial page data; TanStack Query for mutations, polling, and optimistic updates
- Hydrate the Query cache from server to avoid client waterfalls on first load

## Provider Setup with Hydration

// src/providers/query-provider.tsx

'use client'

import { QueryClient, QueryClientProvider } from '@tanstack/react-query'

import { ReactQueryDevtools } from '@tanstack/react-query-devtools'

import { useState } from 'react'

export function QueryProvider({ children }: { children: React.ReactNode }) {

const [queryClient] = useState(

() =>

new QueryClient({

defaultOptions: {

queries: {

staleTime: 60 * 1000,

retry: (count, error: any) => error?.status !== 404 && count < 2,

},

},

}),

)

return (

<QueryClientProvider client={queryClient}>

{children}

<ReactQueryDevtools initialIsOpen={false} />

</QueryClientProvider>

)

}

// src/app/layout.tsx

import { QueryProvider } from '@/providers/query-provider'

export default function RootLayout({ children }: { children: React.ReactNode }) {

return (

<html>

<body>

<QueryProvider>{children}</QueryProvider>

</body>

</html>

)

}


## Hydration Pattern (Server → Client Cache)
- Prefetch in Server Components, dehydrate state, rehydrate in client
- This eliminates client-side loading states on first render

// src/app/posts/page.tsx (Server Component)

import { dehydrate, HydrationBoundary, QueryClient } from '@tanstack/react-query'

import { postsQueryOptions } from '@/queries/posts'

import { PostsList } from './_components/posts-list'

export default async function PostsPage() {

const queryClient = new QueryClient()

await queryClient.prefetchQuery(postsQueryOptions())

return (

<HydrationBoundary state={dehydrate(queryClient)}>

<PostsList />

</HydrationBoundary>

)

}

// src/app/posts/_components/posts-list.tsx

'use client'

import { useQuery } from '@tanstack/react-query'

import { postsQueryOptions } from '@/queries/posts'

export function PostsList() {

// Reads from pre-populated cache — no loading spinner

const { data: posts } = useQuery(postsQueryOptions())

return <ul>{posts?.map(p => <li key={p.id}>{p.title}</li>)}</ul>

}


## Query Definitions

// src/queries/posts.ts

import { queryOptions } from '@tanstack/react-query'

export const postKeys = {

all: ['posts'] as const,

lists: () => [...postKeys.all, 'list'] as const,

list: (filters?: PostFilters) => [...postKeys.lists(), { filters }] a

...(完整内容在原仓库)...


## 数据来源

- 仓库: PatrickJS/awesome-cursorrules (40,581 stars, 257 个 .mdc 规则)
- 抓取时间: 2026-08-17
- License: 跟随原仓库(MIT)

## 联系方式

有问题或建议,在本 skill 下留言。

FAQ

这个 skill 是干什么的?

把 `nextjs-tanstack-query-cursorrules-prompt-file.mdc` 这条 Cursor 编码规则打包成可调用的 AI skill,帮你把代码生成统一到一致的标准上。

> Cursor rules for Next.js App Router with TanStack Query v5, covering the HydrationBoundary pattern, Server Actions as mutations, and optimistic updates.

👤 用户需要做什么?
  • [ ] 知道这条规则适合用在什么场景(参考下面"适用场景")
  • [ ] 把规则原文内容应用到 IDE 项目的 `.cursor/rules/` 目录(直接复制 .mdc 文件)
  • [ ] 调本 skill 时说清楚你的代码任务(语言/框架/目标)
  • [ ] 输出后人工 review 风格是否符合预期