# 规则 (/zh-CN/docs/verdent-manager/configuration/rules)

> 通过规则文件控制 Verdent 的行为



规则文件是 Markdown 文档，用于定义 Verdent 在编码会话中的行为方式。它们指导 AI 智能体的行为、输出格式以及对项目标准的遵循。

## 你将学到什么 [#你将学到什么]

* 理解用户规则和项目规则
* 何时使用每种规则类型
* 编写有效的规则

***

## 规则类型 [#规则类型]

| 规则类型     | 文件         | 作用范围     | 用途        |
| -------- | ---------- | -------- | --------- |
| **用户规则** | VERDENT.md | 全局（所有项目） | 个人编码偏好    |
| **项目规则** | AGENTS.md  | 当前项目     | 团队约定、项目标准 |

**位置：**

* 用户规则：`~/.verdent/VERDENT.md`
* 项目规则：`<project>/AGENTS.md`

***

## 用户规则（VERDENT.md） [#用户规则verdentmd]

用户规则让你自定义 Verdent 在所有项目中的行为方式。

**访问：** Settings → User Rules

**自动保存：** 更改将在 500ms 后自动保存

<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="如何创建规则文件？">
    进入 Settings → User Rules 编辑 `VERDENT.md` 以设置个人偏好。在项目根目录创建 `AGENTS.md` 以设置项目专属规则。使用带项目符号的纯 Markdown。
  </Accordion>

  <Accordion title="规则更改何时生效？">
    规则更改会立即应用于新对话，并影响当前对话的响应。
  </Accordion>

  <Accordion title="我可以临时覆盖规则吗？">
    你可以在提示词中提供具体指令，以针对单次请求覆盖规则。
  </Accordion>
</AccordionGroup>
