> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trae.cn/llms.txt?lang=zh
> Use this file to discover all available pages before exploring further.

你可以通过制定规则来规范 AI 在 TraeCode 内的行为，包括代码风格、语言与框架、交互方式等，使 AI 的输出更符合你的个人偏好和项目要求。

## 关于规则 {#2630133a}

### 应用场景 {#1d11cf39}

规则的主要应用场景如下：

* **提升效率**
   将个人经验和项目要求转化为可复用的规则，一次配置可长期生效，减少与 AI 的沟通成本以及人工审校时间。
* **统一标准**
   将团队规范、项目标准结构化为规则，使所有成员所负责的内容在风格、结构和质量上保持一致，避免偏差。
* **保障质量**
   让 AI 明确项目的核心约束（架构设计、命名规范、代码风格等），避免常见错误。   


### 规则类型 {#a1db0311}

你可以配置两类规则：全局规则、项目规则。

* **全局规则**：全局规则是基于个人使用习惯和需求为 AI 定制的规则，旨在让 AI 的输出更符合用户的个性化要求。全局规则在所有项目中生效。
* **项目规则**：项目规则是针对当前项目 AI 需要遵循的规则，仅在所配置的项目中生效。

### 规则所在目录 {#hn1Q3Vw0A}


* **全局规则**：
   * macOS/Linux：本地根目录 `~/.trae-cn/user_rules`。
   * Windows：本地根目录 `%userprofile%/.trae-cn/user_rules`。
* **项目规则**：项目所在路径下的 `.trae/rules/` 目录。

## 创建全局规则 {#26337c87}

根据个人习惯，创建一条或多条全局规则。AI 会在所有项目中遵守你创建的全局规则。

1. 在 IDE 模式界面中，点击界面右上角的 **设置** 图标，进入设置中心。
   或
   在 SOLO 模式界面中，点击对话面板右上角的 **设置** 图标，进入设置中心。
2. 在左侧导航栏中，选择 **规则**。
   你将进入规则管理面板。
3. 在 **规则** 部分，点击 **+ 创建** 按钮，然后选择 **全局**。
4. 在规则输入框中，输入一条全局规则，然后点击 **保存** 按钮。
   ![Image=700x322](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/0893717f8443493d93590482e189c23a~tplv-goo7wpa0wc-topic.webp)
   你所添加的全局规则将以列表的形式被展示。   


## 创建项目规则 {#cc1615b8}

### 操作步骤 {#abbdf6c3}

项目规则使用 Markdown 语法编写，仅在其被创建的项目中生效。

在创建项目规则时，你可以指定规则的生效方式。根据生效方式的不同，系统会自动修改规则的 `alwaysApply` 属性，你还需要根据生效方式为规则配置 `description` 或 `globs` 属性。

创建项目规则的步骤如下：

1. 打开一个项目。
2. 在 IDE 模式界面中，点击界面右上角的 **设置** 图标，进入设置中心。
   或
   在 SOLO 模式界面中，点击对话面板右上角的 **设置** 图标，进入设置中心。
3. 在左侧导航栏中，选择 **规则**。
   你将进入规则管理面板。
4. 在 **规则** 部分，点击 **+ 创建** 按钮，然后选择 **项目**。
5. 在 **创建规则** 弹窗中，输入规则名称，然后点击 **确认** 按钮。
   系统自动在该项目中创建 `.trae/rules` 文件夹，在该文件夹内创建你所命名的规则文件，并在编辑器中打开该规则文件的编辑窗口。
   ![Image=2932x943](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/f5a7bddd54764c93a4677ac3ce9994ac~tplv-goo7wpa0wc-topic.webp)
6. 设置规则的 **生效方式**。
   <!-- @cols-width: 123,718 -->
   | **生效方式**  | **描述**  |
   | --- | --- |
   | 始终生效  | 该规则在当前项目下的所有 AI 对话中生效。  |
   | 指定文件生效  | 该规则仅在匹配到 `globs` 字段中指定的文件时生效。当你在对话输入框中提及的文件与 `globs` 设置匹配时，该规则会自动生效。  |
   | 智能生效  | 根据你在 `description` 字段中为该规则添加的适用场景，由 AI 在对话中判断相关性并决定是否使用该规则。  |
   | 手动触发生效  | 仅当在对话中使用 #Rule 提及某个规则时，该规则才生效。  |
7. 根据规则的生效方式，在表单中设置相关属性。
   <!-- @cols-width: 131,707 -->
   | **生效方式**  | **属性设置**  |
   | --- | --- |
   | 始终生效  | 下方的 `alwaysApply` 字段已被自动设置为 `true`。  |
   | 指定文件生效  | * `alwaysApply` 字段已被自动设置为 `false`。 | \
   | | * 在 **文件匹配模式** 处，使用通配符指定规则所作用的文件（例如 `*.js`、`src/**/*.ts`），可以配置多个通配符，中间用 `,` 分隔。该设置会被自动同步至下方的 `globs` 字段。  |
   | 智能生效  | * `alwaysApply` 字段已被自动设置为 `false`。 | \
   | | * 在 **描述** 处，填写该规则的适用场景，例如：`编写 React 组件的测试代码时，使用该规则`。 该设置会被自动同步至下方的 `description` 字段。  |
   | 手动触发生效  | 下方的 `alwaysApply` 字段已被自动设置为 `false`。  |
8. 在 `---` 下方，使用 Markdown 语法添加规则的内容。
9. 点击 **保存** 按钮。

### 关于多层规则嵌套 {#767a50c0}

当项目根目录的规则较多时，各类规则全部平铺在 `.trae/rules/` 根目录下会导致查找和维护困难。

你可以在 `.trae/rules/` 目录下创建子文件夹，将同类别的规则文件放置在相应的子文件夹中进行归类。系统会自动递归读取这些目录下的规则。目前至多支持 3 层嵌套。

结构如下：

```Plain Text
.trae/rules/                      
├── global-rules.md                
├── module-a/                                    # 第 1 层
│    ├── rules-a.md
│    ├── submodule-a1/                          # 第 2 层
│    │    └── rules-a1.md
│    └── submodule-a2/                          # 第 2 层
│          └── submodule-a2-b1/                 # 第 3 层
│                ├── rules-a2-b1.md             ← 最深可识别的层
│                └── submodule-a2-b1-c1/        # 第 4 层（无法识别）
│                      └── rule-a2-b1-c1.md     ← 超出限制（无法识别）
└── module-b/                                    # 第 1 层
     └── rules-b.md
```

### 关于为子目录创建规则 {#a9875dcf}

在一个大型项目中，通常包含多个文件夹，不同文件夹代表着不同的业务模块或技术栈。如果将所有规则（包括 AGENTS.md）都配置在项目根目录下，不仅难以维护，还有可能导致某个模块的专属规则对其他模块产生干扰。

TraeCode 支持读取项目中任意子目录下的 `.trae/rules/` 文件夹。如你只想为某个特定模块配置规则，可以直接将规则文件放到该模块文件夹下。当你在对话中提及该目录下的文件，或者 AI 在执行任务时读取了该目录下的文件时，系统就会自动携带并应用该目录下的专属规则。

示例结构：

```Plain Text
my-project/
├── .trae/
│    └── rules/                 # 项目根目录
│          └── global-style.md
├── frontend-module/             # 某个前端模块
│    ├── AGENTS.md              # 仅在 frontend-module 相关文件被读取/提及时生效
│    └── .trae/
│          └── rules/           # 仅在 frontend-module 相关文件被读取/提及时生效
│                └── react-best-practices.md
└── backend-module/              # 某个后端模块
     └── .trae/
           └── rules/            # 仅在 backend-module 相关文件被读取/提及时生效
                 └── api-design.md
```

## 在对话中引用规则 {#e536cbfb}

对于 “手动触发生效” 类型的规则，需在对话输入框中通过 #Rule 来引用。

![Image=700x323](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/c7d2e67549514623a7397106e8ab5609~tplv-goo7wpa0wc-topic.webp)

:::tip 提示
规则引用方式中，#Rule 的优先级最高。对于生效方式为 “指定文件生效” 或 ”智能生效“ 的项目规则，若你在对话中通过 #Rule 提及这些规则，AI 也会在本次对话中使用它们。
:::

## 编辑/删除规则 {#e6a0cd08}

1. 在设置中心的 **规则** 列表中，找到目标规则。
2. 点右侧的 **设置** 图标。
3. 在菜单中选择 **编辑** 或 **删除**。
   ![Image=700x144](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/6acc44feaa6a40e189ea0250f3da28ba~tplv-goo7wpa0wc-topic.webp)
4. 完成相应操作。

## 使用 AGENTS.md、CLAUDE.md 和 CLAUDE.local.md {#9eba52ae}


* **AGENTS.md**
   AGENTS.md 是一个位于项目根目录的轻量级 Markdown 文件，用于向 AI 智能体提供行为指引。它通过直观、易读的文本描述，明确智能体在项目中需遵守的指令和规范。AGENTS.md 中定义的规则为项目级规则，仅在当前项目中生效。
   在 TraeCode 中创建的 AGENTS.md 文件可以在其他支持 AGENTS.md 的 IDE 中复用，反之亦然。
* **CLAUDE.md 和 CLAUDE.local.md**
   TraeCode 兼容 CLAUDE.md 和 CLAUDE.local.md。如果你已在 Claude Code 中创建项目并添加了 CLAUDE.md 和/或 CLAUDE.local.md，当将该项目导入 TraeCode 时，这些文件会被一并导入。   


若要使 AGENTS.md、CLAUDE.md 和 CLAUDE.local.md 在 TraeCode 中生效，使用以下步骤：

1. 前往 **设置** > **规则。**
2. 在 **导入设置** 处，打开 **将 AGENTS.md 包含在上下文中** 和 **将 CLAUDE.md 包含在上下文中** 开关。
   开启后，智能体会读取根目录中的 AGENTS.md、CLAUDE.md 和 CLAUDE.local.md 文件并将其添加到上下文中。
   ![Image=650x181](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/e37e88ed62f743f0be7aa128ae5d748b~tplv-goo7wpa0wc-topic.webp)   


## 为提交内容（Git Commit Message）设置规则 {#8fb2ba68}

TraeCode 支持为 AI 生成的提交内容设置规则，以确保其符合项目要求。你只需在规则文件中使用 `scene: git_message` 字段即可进行配置。

`scene: git_message` 字段与 `alwaysApply`、`description` 和 `globs` 等现有字段兼容。只要规则文件中包含该字段，AI 在生成提交内容时都会遵循其中定义的规则，而不受其他字段配置的影响。

如果项目中的多个规则文件均包含 `scene: git_message`，AI 会同时遵循这些文件中的规则。

### **方式一：在现有文件中添加规则** {#fd66da01}

1. 在当前项目中，打开一个已有的规则文件。
2. 在文件中添加 `scene` 字段，并将其设置为 `git_message`。
3. 在 `---` 分隔符下方添加具体的规则内容。
   结构如下：
   ```Markdown
   ---
   scene: git_message
   ---
   正文：生成提交内容时应遵守的规范
   ```   


### **方式二：在** **git-commit-message.md 文件中添加规则** {#ef324fd4}


1. 在左侧导航栏中，点击 **源代码管理** 图标
   你将进入 **源代码管理** 面板。
2. 在顶部提交内容输入框的右侧，点击下拉图标，然后在菜单中选择 **配置提交信息生成规则**。
   系统自动在 `.trae/rules` 目录下生成 `git-commit-message.md` 文件。
   :::tip 提示
   若你已在某个已有规则文件中配置了 `scene: git_message` 及对应规则，系统将直接打开该文件，而不会新建 `git-commit-message.md`。
   :::   


![Image=3026x1265](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/869be7f6ecc54147a51e2a65ae725bcc~tplv-goo7wpa0wc-topic.webp)

3. 在 `git-commit-message.md` 文件中，添加具体的规则内容。

### 如何让 AI 生成提交内容？ {#0f3cd4bb}


1. 打开 **源代码管理** 面板。
2. 点击 **生成提交内容** 按钮；或点击下拉图标，然后在菜单中选择 **自动生成提交内容**。
   ![Image=500x177](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/f0cbbea6e3d7404aa2ed3cb82ebd8b5d~tplv-goo7wpa0wc-topic.webp)   


## 最佳实践 {#52aaae5d}


* 控制单条规则的内容粒度，避免在一条规则中包含过多信息，使其保持清晰、聚焦、易于理解。
* 各条规则之间不得彼此冲突或相互覆盖。
* 在指定文件路径时，使用相对于项目根目录的相对路径，以确保 AI 能准确定位文件。
* 引用规则时，优先选择与当前对话或任务强相关的规则。
* 新建或修改规则后，建议开启全新的对话再使用，以避免历史上下文与新规则产生冲突。
* 若项目中已有大量不符合规范的代码，模型可能会沿用现有代码风格而非遵循新规则。此时建议：
   * 明确向模型说明当前任务为“重构”；
   * 在特定场景中强制要求 AI 严格遵循新规则；
   * 启动专门的重构项目，逐步提升整体代码质量。

## 示例 {#44157d4f}

### 不同应用场景的规则 {#371e47bc}

::::tabs
@tab 基础交互
* 所有回答都使用中文表述。
* 如需提供代码，为关键逻辑和可能造成理解困难的部分添加简明的中文注释。
* 当生成的代码超过 20 行时，优先考虑是否可以进行适当的抽象或聚合。

@tab 通用编码
* 避免不必要的对象复制或克隆。
* 避免多层嵌套，提前返回。
* 使用适当的并发控制机制。

@tab 重构
1. 小步重构：
   * 每次只做一个小改动，然后测试。
   * 频繁提交，保持代码随时可工作。
2. 测试保障：
   * 重构前确保有足够的测试。
   * 每次修改后运行测试，确保行为不变。
3. 代码审查：
   * 重构后进行代码审查，确保质量。

@tab 代码可读性
1. 命名约定：
   * 使用有意义的、描述性的名称。
   * 遵循项目或语言的命名规范。
   * 避免缩写和单字母变量（除非是约定俗成的，如循环中的 `i`）。
2. 代码组织：
   * 相关代码放在一起。
   * 函数只做一件事。
   * 保持适当的抽象层次。
3. 注释与文档：
   * 注释应该解释为什么，而不是做什么。
   * 为公共 API 提供清晰的文档。
   * 更新注释以反映代码变化。

@tab 性能优化
1. 内存优化：
   * 避免不必要的对象创建。
   * 及时释放不再需要的资源。
   * 注意内存泄漏问题。
2. 计算优化：
   * 避免重复计算。
   * 使用适当的数据结构和算法。
   * 延迟计算直到必要时。
3. 并行优化：
   * 识别可并行化的任务。
   * 避免不必要的同步。
   * 注意线程安全问题。
::::

### 项目规则多层嵌套 {#3fb4c21e}

假设你的项目有很多前端设计和开发相关的规则，可以这样组织：

```Plain Text
.trae/rules/
├── general-rules.md                 # 通用规则
├── frontend/
│    ├── react-best-practices.md    # React 规范
│    ├── css-naming.md              # CSS 命名规范
│    └── testing/
│         └── unit-test-rules.md    # 前端单测规范
├── backend/
│    ├── api-design.md              # API 设计规范
│    └── error-handling.md          # 错误处理规范
└── devops/
     └── ci-rules.md                 # CI/CD 相关规范
```
