規則為 Agent 和 Inline Edit 提供系統級指令。將它們視為專案的持久性上下文、偏好設定或工作流程。 Cursor 支援三種類型的規則:

專案規則

儲存在 .cursor/rules 中,受版本控制且範圍限定於您的程式碼庫。

使用者規則

適用於您的 Cursor 環境全域。在設定中定義並始終套用。

.cursorrules(舊版)

仍受支援,但已棄用。請改用專案規則。

規則如何運作

大型語言模型在完成任務之間不會保留記憶。規則在提示層級提供持久、可重複使用的上下文。 當應用時,規則內容會包含在模型上下文的開始處。這為 AI 提供一致的指導,用於生成程式碼、解釋編輯或協助工作流程。
Rule applied in context with chat
規則適用於 ChatInline Edit。活躍的規則會顯示在 Agent 側邊欄中。

專案規則

專案規則存放在 .cursor/rules 中。每個規則都是一個檔案並受版本控制。它們可以使用路徑模式進行範圍設定、手動調用,或根據相關性包含。子目錄可以包含自己的 .cursor/rules 目錄,範圍限定於該資料夾。 使用專案規則來:
  • 編碼關於您程式碼庫的領域特定知識
  • 自動化專案特定的工作流程或模板
  • 標準化樣式或架構決策

規則結構

每個規則檔案都以 MDC (.mdc) 格式編寫,這是一種支援元資料和內容的格式。從類型下拉選單控制規則的應用方式,這會改變屬性 descriptionglobsalwaysApply
規則類型描述
Always始終包含在模型上下文中
Auto Attached當引用符合 glob 模式的檔案時包含
Agent Requested可供 AI 使用,由 AI 決定是否包含。必須提供描述
Manual僅在使用 @ruleName 明確提及時包含
---
description: RPC Service boilerplate
globs:
alwaysApply: false
---

- Use our internal RPC pattern when defining services
- Always use snake_case for service names.

@service-template.ts
當規則觸發時,像 @service-template.ts 這樣的引用檔案會作為額外上下文包含。

巢狀規則

透過在整個專案中的 .cursor/rules 目錄中放置規則來組織規則。當引用其目錄中的檔案時,巢狀規則會自動附加。
project/
  .cursor/rules/        # 專案範圍的規則
  backend/
    server/
      .cursor/rules/    # 後端特定規則
  frontend/
    .cursor/rules/      # 前端特定規則

建立規則

使用 New Cursor Rule 命令或前往 Cursor Settings > Rules 來建立規則。這會在 .cursor/rules 中建立一個新的規則檔案。從設定中您可以看到所有規則及其狀態。
Comparison of concise vs long rules

生成規則

使用 /Generate Cursor Rules 命令直接在對話中生成規則。當您已經對代理行為做出決策並希望重複使用它們時很有用。

最佳實踐

好的規則應該是專注的、可操作的和範圍明確的。
  • 保持規則在 500 行以內
  • 將大型規則拆分為多個可組合的規則
  • 提供具體的範例或參考檔案
  • 避免模糊的指導。撰寫規則時要像清晰的內部文件一樣
  • 在聊天中重複提示時重複使用規則

範例

許多範例可從提供商和框架中獲得。社群貢獻的規則可在線上眾包集合和存儲庫中找到。

使用者規則

使用者規則是在 Cursor Settings → Rules 中定義的全域偏好設定,適用於所有專案。它們是純文字格式,非常適合設定偏好的溝通風格或編碼慣例:
Please reply in a concise style. Avoid unnecessary repetition or filler language.

.cursorrules (舊版)

專案根目錄中的 .cursorrules 檔案仍然受到支援,但將會被棄用。我們建議遷移到專案規則以獲得更多控制、靈活性和可見性。

常見問題