昨天我們學會了如何安裝與設定 Cursor,並選擇合適的 AI 模型。
今天,我們要進一步探討 Cursor 的一個核心功能:專案規則(Project Rules)。
這個功能能幫助 AI 在專案中維持一致的程式風格、架構規範與技術選擇,避免 AI 在不同情境下出現不一致的輸出。
在軟體專案中,你可能會遇到以下狀況:
程式風格不一致
有時候 AI 會輸出 camelCase
,有時候又給你 snake_case
。
技術選擇混亂
例如後端本來都用 axios
,但 AI 偶爾卻會生成 fetch
。
文件風格差異
README、API 文件、註解風格完全不同,協作上容易出現落差。
透過 Project Rules,你可以讓 AI 始終遵循特定規範,減少來回修改的時間。
Cursor 的規則系統支援 多層次管理,建議採用分層策略:
規則層級 | 作用範圍 | 使用方式 | 適合放什麼內容 |
---|---|---|---|
全域規則(Rules for AI) | 適用所有專案 | 在 Cursor 設定中編輯 | 個人開發偏好,例如「回覆請使用繁體中文」 |
專案層級(Project Rules) | 整個專案 | .cursor/index.mdc |
專案統一規範,如「本專案一律使用 TypeScript 與 Tailwind」 |
情境規則(Scoped Rules) | 特定檔案或資料夾 | .cursor/rules/*.mdc |
特定場景需求,如「後端 API 規範」或「前端組件標準」 |
這種分層方式能兼顧靈活性與一致性,避免把所有規則塞在同一份文件裡。
在專案根目錄新增資料夾 .cursor
,並建立 index.mdc
:
mkdir .cursor
touch .cursor/index.mdc
範例內容:
---
description: "全專案統一規範"
alwaysApply: true
---
# 語言與框架
- 一律使用 TypeScript,不允許 JavaScript。
- 前端使用 React + Next.js。
- 樣式統一使用 Tailwind CSS。
# 命名規範
- 變數與函式:camelCase
- 類別與元件:PascalCase
- 檔案名稱:kebab-case
# API 與資料處理
- API 呼叫統一使用 axios,集中管理於 `utils/api.ts`。
- 不允許直接在元件中呼叫 fetch。
# 文件與註解
- 所有函式需加上 JSDoc 註解。
- 所有文件需使用 Markdown 格式。
在 .cursor/rules
內,針對不同目錄建立專屬規則:
.cursor/rules/frontend.mdc
---
description: "前端規則"
globs: ["app/**/*.tsx", "components/**/*.tsx"]
---
- 使用 React Functional Component,不可使用 Class Component。
- 使用 React Hooks 管理狀態。
- UI 元件優先使用 shadcn/ui 與 lucide-react。
.cursor/rules/backend.mdc
---
description: "後端 API 規則"
globs: ["server/**/*.ts", "api/**/*.ts"]
---
- 一律使用 TypeScript + Express。
- API 路由需放在 `api/` 資料夾內。
- 資料驗證需使用 Zod 套件。
透過 globs
,這些規則只會在特定檔案類型或資料夾中生效,避免 AI 在錯誤場景下套用規則。
Cursor 社群最新的做法是結合 Memory Banks,讓 AI 記住更多專案上下文,例如:
projectbrief.md
:專案簡介techContext.md
:使用的技術棧progress.md
:開發進度這些檔案能與 Project Rules 一起運作,讓 AI 不僅遵守規則,還能理解專案目標與現況。
如何使用
可以在旁邊的對話中,直接指定對應的規範來進行使用
今天我們深入探討了 Project Rules,學會如何在 Cursor 中設定專案規範,並利用分層規則與 Memory Banks 打造更聰明的 AI 工作流程。