# 規則 (/zh-Hant/docs/verdent-manager/configuration/rules)

> 透過規則檔案控制 Verdent 的行為



規則檔案是 Markdown 文件，用於定義 Verdent 在編碼工作階段中的行為方式。它們引導 AI 代理的行為、輸出格式，以及對專案標準的遵循。

## 你將學到什麼 [#你將學到什麼]

* 了解使用者規則與專案規則
* 何時使用各種規則類型
* 撰寫有效的規則

***

## 規則類型 [#規則類型]

| 規則類型      | 檔案         | 範圍       | 用途        |
| --------- | ---------- | -------- | --------- |
| **使用者規則** | VERDENT.md | 全域（所有專案） | 個人編碼偏好    |
| **專案規則**  | AGENTS.md  | 目前專案     | 團隊慣例、專案標準 |

**位置：**

* 使用者規則：`~/.verdent/VERDENT.md`
* 專案規則：`<project>/AGENTS.md`

***

## 使用者規則（VERDENT.md） [#使用者規則verdentmd]

使用者規則讓你自訂 Verdent 在所有專案中的行為方式。

**存取方式：** 設定 → 使用者規則

**自動儲存：** 變更會在 500 毫秒後自動儲存

<Tabs>
  <Tab title="用途">
    * **編碼風格偏好：** 縮排、命名慣例
    * **框架慣例：** React、Vue、語言標準
    * **回應格式：** 詳盡程度、說明風格
    * **個人工作流程偏好：** 語氣、溝通風格
  </Tab>

  <Tab title="範例">
    ```markdown
    # User Rules

    ## Code Style
    - Always use TypeScript with strict mode
    - Prefer functional components over class components
    - Use Tailwind CSS for styling
    - Follow the project's existing naming conventions

    ## Communication
    - Provide brief explanations
    - Show code first, explain after
    - Write concise commit messages in conventional format
    ```
  </Tab>
</Tabs>

***

## 專案規則（AGENTS.md） [#專案規則agentsmd]

專案規則定義目前專案專屬的標準。提交至版本控制以供整個團隊共用。

**存取方式：** 專案設定面板

**位置：** 專案根目錄（`<project>/AGENTS.md`）

<Tabs>
  <Tab title="使用情境">
    * **團隊慣例：** 共用的編碼標準
    * **架構：** 設計模式、狀態管理
    * **測試：** 覆蓋率要求、框架
    * **工作流程：** 建置指令、PR 指南
  </Tab>

  <Tab title="範例">
    ```markdown
    # AGENTS.md

    ## Dev Environment
    - Run `pnpm install` to set up
    - Use `pnpm dev` for local development

    ## Testing
    - Run `pnpm test` before committing
    - Minimum 80% coverage required

    ## PR Guidelines
    - Use conventional commit format
    - Include tests for new features
    ```
  </Tab>
</Tabs>

<Tip>
  透過版本控制與你的團隊共用 AGENTS.md，確保所有團隊成員都能獲得一致的 AI 行為。
</Tip>

***

## 撰寫有效的規則 [#撰寫有效的規則]

**具體明確：**

```markdown
# Good
- Use async/await for asynchronous operations
- Include JSDoc comments for exported functions

# Avoid
- Try to use modern JavaScript features
- Add comments when necessary
```

**最佳實務：**

* 使用清晰、指令式的語言（「總是…」、「絕不…」、「優先…」）
* 將相關規則歸類在區段標題下
* 保持規則簡潔（每個項目一個概念）
* 隨著專案演進審查並更新規則

***

## 常見問題 [#常見問題]

<AccordionGroup>
  <Accordion title="如何建立規則檔案？">
    前往 設定 → 使用者規則 來編輯 `VERDENT.md`，設定個人偏好。在專案根目錄建立 `AGENTS.md` 來設定專案專屬規則。使用純 Markdown 搭配項目符號。
  </Accordion>

  <Accordion title="規則變更何時生效？">
    規則變更會立即套用於新的對話，並影響目前對話的回應。
  </Accordion>

  <Accordion title="我可以暫時覆寫規則嗎？">
    你可以在提示詞中提供特定指示，針對單一請求覆寫規則。
  </Accordion>
</AccordionGroup>
