Skip to content
←INDEX / 提示詞庫
TUTORIAL/Claude Code/入門

Next.js App Router 專案的 AGENTS.md/CLAUDE.md 規則範本

把 awesome-cursorrules 的 Next.js App Router 規範改寫成一份可直接放進專案根目錄的 AGENTS.md/CLAUDE.md,讓 Claude Code、Codex、Cursor 寫 Next.js 時自動遵守 Server Components 優先、檔案式路由、TypeScript 與效能慣例。

SakuyaPromptCraft 主筆 · 寫於 2026-06-08
AI 教學 / 腳本Claude Code入門≈ 480 tokens · 實際用量依工具與輸入而異
Last reviewed2026-06-08Read~9 MIN

01PROMPT

# AGENTS.md — Next.js App Router 專案規則
# (同一份內容也可命名為 CLAUDE.md 給 Claude Code 用)

你是一位資深 Next.js {{NEXT_VERSION:15}} 工程師。本專案使用 **App Router**、TypeScript 與 {{STYLING:Tailwind CSS}}。在動任何程式碼之前,務必遵守以下規則。

## 核心架構原則
- **預設用 Server Components**。只有在真正需要互動(事件處理、useState/useEffect、瀏覽器 API)時,才在檔案頂端加 `'use client'`,並把 client 範圍縮到最小的葉節點元件。
- 採用 **檔案式路由**:路由由 `app/` 下的資料夾結構決定,不要自己手刻 router 設定。
- 用 `layout.tsx` 放共用 UI(nav、footer、providers);用 `loading.tsx` 處理載入狀態(Suspense 邊界);用 `error.tsx` 處理錯誤邊界;用 `not-found.tsx` 處理 404。
- API 端點一律用 **Route Handlers**(`app/api/**/route.ts`),不要在頁面內混雜資料寫入邏輯。
- 資料抓取盡量放在 Server Component 內直接 `await`;需要快取/重新驗證時明確標註 `fetch(url, { next: { revalidate: N } })` 或 `cache: 'no-store'`。

## 建議目錄結構
```
app/
  layout.tsx        # 根 layout(html/body、字型、全域 provider)
  page.tsx          # 首頁
  (group)/          # 路由群組(不影響 URL)
  api/.../route.ts  # Route Handlers
  components/        # 共用元件(預設 server,互動元件標 client)
  lib/              # 純函式、資料存取、工具
  styles/           # 全域樣式
public/             # 靜態資源
```

## TypeScript 與型別
- 全專案 TypeScript,`tsconfig` 開 `strict`。禁止 `any`,必要時用 `unknown` + 收斂。
- 元件 props 一律定義 interface/type;非同步函式標明回傳型別。

## 效能與 SEO
- 圖片一律用 `next/image`(自動最佳化、避免 layout shift);指定 `width`/`height` 或 `fill`。
- 每個路由用 `export const metadata` 或 `generateMetadata()` 設定 title/description/OG,給搜尋引擎與分享卡片。
- 字型用 `next/font` 自動 subset,避免外部 CSS 阻塞。
- 大型 client 元件用 `next/dynamic` 做 lazy load。

## 樣式
- 使用 {{STYLING:Tailwind CSS}}(或 CSS Modules),不要全域散落 inline style。
- 顏色/間距走 design token,不要硬編魔術數字。

## 設定與環境
- 機密與環境設定走環境變數(`.env.local`);前端可見的變數加 `NEXT_PUBLIC_` 前綴,其餘僅在 server 端讀取。
- 嚴禁把 API key/secret 寫進 client 元件或 commit 進版控。

## 動工前的自我檢查(每次改動都跑一遍)
1. 這個元件需要 `'use client'` 嗎?能不能維持 Server Component?
2. 特殊檔案(layout/loading/error/not-found)有沒有用對?
3. 圖片用了 `next/image` 嗎?metadata 設了嗎?
4. 有沒有把 secret 漏進 client bundle?
5. `npm run build` 與 `npx tsc --noEmit` 是否乾淨通過?

收到任務後,先用一兩句話複述你要改什麼、會碰哪些檔案,再動手。

把方括號 [ ] 內的變數換成你的內容,丟進 Claude Code。

◆ 直接開到工具Claude(記得貼)
RUN站內試跑 / TRY IT
▶ 站內試跑

不用離開網站,直接看這組 prompt 跑出來長怎樣(AI 即時生成,扣 1 點)。

SKILL安裝成 SKILL / INSTALL
安裝成 SKILLClaude Code Agent Skill

不只複製貼上 — 下載後放到 ~/.claude/skills/cursorrules-nextjs-app-router-agents-md/SKILL.md,之後每個 session 自動可用(觸發時自動載入)。

macOS / Linux
mkdir -p ~/.claude/skills/cursorrules-nextjs-app-router-agents-md && mv ~/Downloads/SKILL.md ~/.claude/skills/cursorrules-nextjs-app-router-agents-md/SKILL.md
Windows PowerShell
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\cursorrules-nextjs-app-router-agents-md" | Out-Null; Move-Item "$env:USERPROFILE\Downloads\SKILL.md" "$env:USERPROFILE\.claude\skills\cursorrules-nextjs-app-router-agents-md\SKILL.md"

02CONTEXT / 使用情境

## 這是什麼/解決什麼痛點 如果你用 Claude Code、Codex 或 Cursor 開發 Next.js App Router 專案,最常見的災情是:AI 不分青紅皂白把每個元件都加上 `'use client'`(讓 Server Components 的好處全失效)、忘記用 `next/image`、不設 metadata 導致 SEO 一片空白、或是把資料寫入邏輯硬塞進頁面元件。根本原因是 AI 沒有一份「這個專案怎麼寫」的契約可以遵守。 這份範本把 App Router 的核心慣例固化成一份 `AGENTS.md`(或 Claude Code 的 `CLAUDE.md`),放進專案根目錄後,AI 每次開工都會先讀到它,自動遵守 Server Components 優先、檔案式路由、TypeScript strict、效能與 SEO 慣例。 ## 為什麼這來源值得用 來源是 GitHub 上的 `PatrickJS/awesome-cursorrules`,是社群維護量最大、最知名的 AI coding 規則集之一,採 CC0 公眾領域貢獻(等同放棄所有著作權、可任意商用改作)。它的 Next.js App Router 規則精準抓住了 App Router 與舊版 Pages Router 最大的觀念差異(Server 優先、特殊檔案約定),是把這套心智模型教給 AI 的好底稿。本篇在原規則之上補上了 TypeScript strict、secret 不外洩、build/tsc 驗證等實務護欄,並改寫成中文+通用 AGENTS.md 格式。 ## 怎麼用 1. 把 `full_prompt` 的內容存成專案根目錄的 `AGENTS.md`(Codex/多數 agent 通吃)或 `CLAUDE.md`(Claude Code 專用,兩者內容可完全相同)。 2. 用 `{{NEXT_VERSION}}` 與 `{{STYLING}}` 兩個佔位符對齊你的實際版本與樣式方案(Tailwind/CSS Modules)。 3. 視專案調整「建議目錄結構」一段,讓它符合你既有的資料夾配置——規則檔要描述「現況」,不是逼專案改結構。 4. 之後請 AI 寫元件或頁面時,它會自動遵守;你也可以在對話中直接說「照 AGENTS.md 的規則做」。 ## 何時用 - 新開一個 Next.js App Router 專案、想一開始就把慣例釘死。 - 既有專案常被 AI 改出不一致的風格(client/server 亂用、少了 metadata)。 - 多人+多種 AI 工具協作,需要一份共同契約。 不適用於還在用 Pages Router 的舊專案(特殊檔案約定不同),那種情況請改寫對應段落。 📎 來源:PatrickJS/awesome-cursorrules(作者 PatrickJS,CC0-1.0 公眾領域授權)— 本篇為繁中改寫整理,原始內容見上方連結。

04VARIABLES / 變數說明

01[NEXT_VERSION]

你的 Next.js 主版本,例如 15 或 14

02[STYLING]

專案使用的樣式方案,例如 Tailwind CSS 或 CSS Modules

05RESOLVER · 變數代入器0 / 2

填下面的欄位,上方 prompt 會即時替換 [方括號] 內容。填好後按「複製組好的 prompt」直接丟進工具。

修飾
Assembled · 填剩餘變數…
# AGENTS.md — Next.js App Router 專案規則
# (同一份內容也可命名為 CLAUDE.md 給 Claude Code 用)

你是一位資深 Next.js {{NEXT_VERSION:15}} 工程師。本專案使用 **App Router**、TypeScript 與 {{STYLING:Tailwind CSS}}。在動任何程式碼之前,務必遵守以下規則。

## 核心架構原則
- **預設用 Server Components**。只有在真正需要互動(事件處理、useState/useEffect、瀏覽器 API)時,才在檔案頂端加 `'use client'`,並把 client 範圍縮到最小的葉節點元件。
- 採用 **檔案式路由**:路由由 `app/` 下的資料夾結構決定,不要自己手刻 router 設定。
- 用 `layout.tsx` 放共用 UI(nav、footer、providers);用 `loading.tsx` 處理載入狀態(Suspense 邊界);用 `error.tsx` 處理錯誤邊界;用 `not-found.tsx` 處理 404。
- API 端點一律用 **Route Handlers**(`app/api/**/route.ts`),不要在頁面內混雜資料寫入邏輯。
- 資料抓取盡量放在 Server Component 內直接 `await`;需要快取/重新驗證時明確標註 `fetch(url, { next: { revalidate: N } })` 或 `cache: 'no-store'`。

## 建議目錄結構
```
app/
  layout.tsx        # 根 layout(html/body、字型、全域 provider)
  page.tsx          # 首頁
  (group)/          # 路由群組(不影響 URL)
  api/.../route.ts  # Route Handlers
  components/        # 共用元件(預設 server,互動元件標 client)
  lib/              # 純函式、資料存取、工具
  styles/           # 全域樣式
public/             # 靜態資源
```

## TypeScript 與型別
- 全專案 TypeScript,`tsconfig` 開 `strict`。禁止 `any`,必要時用 `unknown` + 收斂。
- 元件 props 一律定義 interface/type;非同步函式標明回傳型別。

## 效能與 SEO
- 圖片一律用 `next/image`(自動最佳化、避免 layout shift);指定 `width`/`height` 或 `fill`。
- 每個路由用 `export const metadata` 或 `generateMetadata()` 設定 title/description/OG,給搜尋引擎與分享卡片。
- 字型用 `next/font` 自動 subset,避免外部 CSS 阻塞。
- 大型 client 元件用 `next/dynamic` 做 lazy load。

## 樣式
- 使用 {{STYLING:Tailwind CSS}}(或 CSS Modules),不要全域散落 inline style。
- 顏色/間距走 design token,不要硬編魔術數字。

## 設定與環境
- 機密與環境設定走環境變數(`.env.local`);前端可見的變數加 `NEXT_PUBLIC_` 前綴,其餘僅在 server 端讀取。
- 嚴禁把 API key/secret 寫進 client 元件或 commit 進版控。

## 動工前的自我檢查(每次改動都跑一遍)
1. 這個元件需要 `'use client'` 嗎?能不能維持 Server Component?
2. 特殊檔案(layout/loading/error/not-found)有沒有用對?
3. 圖片用了 `next/image` 嗎?metadata 設了嗎?
4. 有沒有把 secret 漏進 client bundle?
5. `npm run build` 與 `npx tsc --noEmit` 是否乾淨通過?

收到任務後,先用一兩句話複述你要改什麼、會碰哪些檔案,再動手。
FAQ · 常見問題

「Next.js App Router 專案的 AGENTS.md/CLAUDE.md 規則範本」這組提示詞要怎麼用?

這組 prompt 專為 Claude Code 設計。把 prompt 內 2 個方括號 [變數] 換成你自己的內容,貼進 Claude Code 執行即可。難度為入門,新手可以直接套用。

「Next.js App Router 專案的 AGENTS.md/CLAUDE.md 規則範本」是免費的嗎?

完整 prompt 免費開放閱讀,不用註冊;可保存瀏覽器收藏,登入後可一鍵複製與留言。

用 Claude Code 依這組 prompt 生成的成果可以商用嗎?

prompt 文字本身你可自由使用與修改。但 AI 生成物(圖/音樂/影片/文字)的商用授權,取決於你在 Claude Code 使用的方案與其官方服務條款,請以該工具的授權規範為準。

RELATED你可能也需要

PRO01
TUTORIALSuno v5.5FEATURED
r/SunoAI (anonymous studio engineer)2026-06-12

Suno 工程師思維:4 步驟做出不像 AI 的歌

5.0(1)

Studio engineer 視角拆解 Suno 致命弱點(油炸 vocals、高頻 artifact)+ 4 步驟 DAW workflow + Suno Studio 修音 prompt

高階
Read

免費02
TUTORIALClaude 4.5 SonnetFEATURED
r/ClaudeAI2026-05-14

5 個 6 月 stuck 下來的 Claude 每週 workflow

提案產生器 / 會議處理器 / 內容再利用 / 週五回顧 / 收工 reset — 試了 40 個只有這 5 個沒被丟掉、各省 30+ 分鐘 / 次。

進階
Read

PRO03
TUTORIALClaude 4.5 SonnetFEATURED
r/PromptEngineering2026-05-14

7 個跨 model A/B 測過的 prompt 技巧(不是 vibes)

六個月在 Claude / GPT-4 / Gemini 上用人工 rater A/B 測 200+ prompt 後寫的。包含 persona+constraint stacking / anti-example / role reversal QA / cognitive scaffold / emotional priming / uncertainty CoT / steelman first。

高階
Read

免費04
TUTORIALChatGPTFEATURED
r/ChatGPTPromptGenius2026-05-14

5 個信任檢查單行 prompt(沒有 role-play)

一年的 role-play system prompt + 14-step framework 後總結:真正改變品質的是 5 個單行 prompt。沒有 role、沒有 markdown、沒有「you are an expert」。

入門
Read

免費 · 全文開放閱讀

完整 prompt 已經開放.

免登入閱讀全文、保存瀏覽器收藏;登入後可一鍵複製與留言討論。不用信用卡。

不想註冊?

留個 email,下次有新 prompt 會寄一封簡短摘要給你。退訂一鍵、不轉賣。

每週一期,新上架提示詞 + 模型測試心得。每封信底部都有一鍵取消訂閱。

或訂 RSS feed(30 秒一次的人味選擇)

COMMENTS · 討論區0 則
登入 後可留言。還沒帳號?註冊
目前沒有留言。第一個說說你的經驗。
EMBED · 嵌入 blog / Note一行 iframe HTML、貼進文章即顯示此 prompt 卡片+

適合:部落格、Medium、Notion 公開頁、Substack — 任何支援 iframe / HTML 嵌入的地方。對方點「看完整」會回到本站、是 prompt 庫的免費 backlink。

<iframe src="https://prompt.luvai.net/embed/cursorrules-nextjs-app-router-agents-md" width="100%" height="380" frameborder="0" style="border:1px solid #e0dcd0;border-radius:4px;" loading="lazy" title="PromptCraft Embed"></iframe>
預覽 embed →380px tall · responsive width
發現這個 prompt 過時 / 跑不動 / 有錯字? 回報給我們 →