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

你可以通过制定规则来规范 AI 在 TRAE 内的行为，包括代码风格、语言与框架、交互方式等，使 AI 的输出更符合你的个人偏好和项目要求。
## 关于规则 {#2630133a}
### 应用场景 {#1d11cf39}
规则的主要应用场景如下：

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

### 规则类型 {#a1db0311}
你可以配置两类规则：全局规则、项目规则。
<!-- @cols-width: 100,728 -->
| | | \
|**规则类型** |**描述** |
|---|---|
| | | \
|全局规则 |全局规则是基于个人使用习惯和需求为 AI 定制的规则，旨在让 AI 的输出更符合用户的个性化要求。全局规则在所有项目中生效。 |\
| |以下为应用场景示例： |\
| | |\
| |* **语言风格**：偏好简洁/严谨/幽默等表达方式。 |\
| |* **操作系统**：提供针对 Windows 或 macOS 操作系统的回答。 |\
| |* **内容深度**：是否需要详细解释、示例或仅需结论。 |\
| |* **交互方式**：如倾向于直接答案，还是引导式提问。 |
| | | \
|项目规则 |项目规则是针对当前项目 AI 需要遵循的规则，仅在所配置的项目中生效。 |\
| |以下为应用场景示例： |\
| | |\
| |* **代码风格**：缩进（空格/制表符）、命名规范（驼峰式/snake_case）等。 |\
| |* **语言与框架**：优先使用的编程语言（如 Python/JavaScript）或框架（如 React/Django）。 |\
| |* **API 限定**：勿使用某些 API。 |

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

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

## 创建项目规则 {#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-image.image)
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）都配置在项目根目录下，不仅难以维护，还有可能导致某个模块的专属规则对其他模块产生干扰。
TRAE 支持读取项目中任意子目录下的 `.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-image.image)
:::tip 提示
规则引用方式中，#Rule 的优先级最高。对于生效方式为 “指定文件生效” 或 ”智能生效“ 的项目规则，若你在对话中通过 #Rule 提及这些规则，AI 也会在本次对话中使用它们。
:::
## 编辑/删除规则 {#e6a0cd08}

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

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

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

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

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-image.image)

## 为提交内容（Git Commit Message）设置规则 {#8fb2ba68}
TRAE 支持为 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-image.image)
3. 在 `git-commit-message.md` 文件中，添加具体的规则内容。

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

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

## 最佳实践 {#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 相关规范
```


