概述
规则文件让你可以告诉 Tron 关于你的项目约定、编码规范和禁止操作。通过预先定义这些规则,Tron 在每次会话中都会自动遵循你的团队标准,无需每次重复说明。
规则以 Markdown 格式编写,存储在 AGENTS.md 文件中,Tron 会在启动时自动读取并应用这些规则。
AGENTS.md
AGENTS.md 是放置在项目根目录的主规则文件。运行 /init 命令可以自动生成一个基于项目分析的初始规则文件:
/init
✓ 分析项目结构...
✓ 检测到 TypeScript / React 项目
✓ 已生成 AGENTS.md
生成后可以根据团队需求手动编辑。AGENTS.md 包含以下类型的内容:
- 代码风格:缩进方式、命名规范、注释要求
- 测试要求:是否必须为新功能编写测试、使用哪个测试框架
- 禁止操作:哪些文件或目录不应该被修改
- 项目约定:特定的文件组织结构、模块划分原则
最佳实践
建议将 AGENTS.md 提交到 Git 版本控制,让整个团队共享同一套 AI 行为规范,确保一致性。
全局规则
除了项目级别的 AGENTS.md,你还可以设置全局规则,对所有项目生效:
# 全局规则文件路径
~/.config/tron/AGENTS.md
全局规则适合设置个人偏好,例如:始终使用中文回复、代码注释要用英文、不要生成过于冗长的回复等。
规则语法
规则文件使用标准 Markdown 格式编写,Tron 会将其作为系统上下文读取:
- 使用
# 项目概述作为文件级标题,描述项目基本信息 - 使用
## 规则作为规则章节标题 - 使用无序列表(
-开头)列举具体规则 - 使用代码块展示代码示例或文件路径
规则示例
以下是一个完整的 TypeScript 项目 AGENTS.md 示例:
markdown
# 项目概述
这是一个 TypeScript + React 前端项目,使用 Vite 构建,Vitest 测试框架。
## 代码规范
- 使用 TypeScript 严格模式,所有变量和函数必须有类型注解
- 缩进使用 2 个空格,不使用 Tab
- 使用单引号,不使用双引号
- 组件文件名使用 PascalCase,工具函数使用 camelCase
- CSS 类名使用 BEM 命名规范
## 测试要求
- 所有新功能必须附带单元测试
- 测试文件放置在 `__tests__` 目录或与源文件同目录的 `.test.ts` 文件
- 测试覆盖率不低于 80%
- 使用 Vitest 和 @testing-library/react
## 禁止操作
- 不要直接修改 `src/generated/` 目录下的文件(自动生成)
- 不要修改 `package-lock.json`,依赖变更请使用 `pnpm`
- 不要在组件中直接调用 API,必须通过 `src/api/` 层
## 项目约定
- 状态管理使用 Zustand,store 文件放在 `src/stores/`
- API 请求封装在 `src/api/` 目录,按模块划分文件
- 全局类型定义放在 `src/types/` 目录
优先级
当存在多个规则文件时,Tron 按以下优先级应用规则:
- 子目录规则(最高优先级):
src/AGENTS.md的规则覆盖根目录规则 - 项目根目录规则:
./AGENTS.md中的规则 - 全局规则(最低优先级):
~/.config/tron/AGENTS.md中的规则
子目录可以拥有自己的 AGENTS.md,用于为特定模块设置独立的规则。例如,packages/api/AGENTS.md 可以专门定义 API 层的编码规范。
规则冲突处理
当规则存在冲突时,更具体的(路径更深的)规则会覆盖更通用的规则。如有歧义,Tron 会优先遵循最近的规则文件中的约定。