規則
規則工作原理
大型語言模型在每次生成之間不會保留記憶。規則透過在提示層面提供持久化、可複用的上下文來解決這一問題。
當規則生效時,其內容會被包含在模型上下文起始位置。這為AI提供持續指導,無論其正在生成程式碼、解析編輯內容還是協助工作流程。
專案規則
專案規則儲存於.cursor/rules目錄。每個規則以檔案形式儲存並進行版本控制。可透過路徑模式限定作用範圍、手動觸發或基於相關性自動包含。
專案規則用於:
- 編碼特定領域的程式碼庫知識
- 自動化專案專屬工作流或模板
- 標準化程式碼風格或架構決策
規則結構
每個規則檔案採用MDC格式(.mdc),這種輕量級格式支援在單個檔案中儲存後設資料和內容。規則支援以下型別:
| 規則型別 | 描述說明 |
|---|---|
Always | 始終包含在模型上下文中 |
Auto Attached | 當引用匹配glob模式的檔案時自動包含 |
Agent Requested | AI可主動呼叫的規則(需提供描述) |
Manual | 僅當顯式呼叫@ruleName時生效 |
MDC規則示例
---
description: RPC服务模板
globs:
alwaysApply: false
---
- 定义服务时使用内部RPC模式
- 服务名称始终采用snake_case格式
@service-template.ts
當規則觸發時,@service-template.ts這類引用檔案將作為附加上下文包含。
巢狀規則
可在專案結構中透過.cursor/rules目錄組織巢狀規則,例如:
project/
.cursor/rules/ # 全局规则
backend/
server/
.cursor/rules/ # 后端专属规则
frontend/
.cursor/rules/ # 前端专属规则
巢狀規則特性:
- 當引用其目錄內檔案時自動生效
- 仍可在上下文選擇器和AI規則列表中訪問
- 便於將領域規則就近關聯相關程式碼
這在單體倉庫(monorepos)或需要獨立指導的多元件專案中尤其有用。
建立規則
透過新建Cursor规则命令或前往Cursor设置 > 规则建立規則。新規則將儲存在.cursor/rules目錄。設定介面可檢視所有規則及其狀態。
生成規則
可透過/生成Cursor规则命令在對話中直接建立規則。
當對話中已確定Agent行為規範時,此功能可快速生成可複用的規則。
最佳實踐
優質規則應聚焦、可操作且作用域明確:
- 保持規則簡潔(建議500行以內)
- 將複雜概念拆分為多個組合規則
- 必要時提供具體示例或引用檔案
- 避免模糊指導(按編寫內部文件的標準撰寫)
- 當聊天中重複使用相同提示時轉為規則複用
示例
Cursor程式碼庫例項
以下為Cursor內部使用的規則:
Next.js、Cloudflare、Browserbase等供應商提供大量範例。社羣貢獻的規則可在多個眾包資源庫中獲取。
使用者規則
使用者規則在Cursor設定 > 規則中定義。
這些規則適用於所有專案,始終包含在模型上下文中。可用於:
- 設定回覆語言風格
- 新增個人編碼偏好
示例:
请以简洁风格回复,避免不必要的重复或填充词
使用者規則不支援MDC格式,僅限純文字。
團隊規則
當前暫不支援跨專案共享規則。
我們計劃未來支援可跨團隊專案引用的共享MDC規則。目前可透過以下方式實現:
- 將共享規則儲存在專屬倉庫中
- 複製或符號連結至各專案的
.cursor/rules目錄
.cursorrules(舊版)
專案根目錄的.cursorrules檔案仍受支援,但將被棄用。建議遷移至專案規則格式以獲得更精細的控制、靈活性和可見性。
常見問題
規則未生效怎麼辦?
檢查規則型別:Agent Requested型別需定義描述;Auto Attached型別需確保檔案模式匹配引用檔案。
規則能否引用其他規則或檔案?
支援。使用@filename.ts語法可在規則上下文中包含檔案。
能否透過聊天建立規則?
支援。可要求AI"將此轉換為規則"或"基於此提示建立可複用規則"。
規則是否影響Cursor標籤頁或其他AI功能?
否。規則僅作用於Agent和Cmd-K AI模型。