AGENTS.md 项目规则
AGENTS.md 是写给 Agent 的项目规则文件。NeoCode 会从当前工作区目录开始向上查找文件名完全为 AGENTS.md 的规则文件,并把它们作为项目规则加入上下文。
它适合保存团队希望 Agent 长期遵守的规则,例如代码风格、测试要求、安全边界、文档语言和模块职责。这样你不需要在每次对话里重复说明。
适合写什么
| 适合写入 | 示例 |
|---|---|
| 项目目标 | 本仓库是一个终端 AI 编码助手 |
| 代码风格 | Go 代码使用 gofmt,包名用短小名词 |
| 测试要求 | 修改 Go 代码后运行 go test ./... |
| 安全规则 | 不要把 API Key 写进配置文件 |
| 文档语言 | 中文文档继续使用中文 |
| 模块边界 | 工具能力应放在工具层,不要散落到 UI |
不适合写什么
| 不适合写入 | 原因 |
|---|---|
| 密钥、Token、密码 | 这些内容不应入库,也不应进入模型上下文 |
| 一次性任务需求 | 直接在当前会话里说更清楚 |
| 很长的设计文档 | 会占用上下文,建议放到普通文档并按需引用 |
| 与代码不一致的规则 | 文档会误导 Agent,应先修正规则或实现 |
最小模板
在仓库根目录创建 AGENTS.md:
md
# Project Rules
- 修改 Go 代码后运行 `go test ./...`
- 中文文档继续使用中文
- 不要把 API Key 写入配置文件
- 新增模型可调用能力时,优先放入工具层更完整的示例
md
# NeoCode Project Rules
## 目标
本仓库实现 NeoCode,一个在终端里运行的本地 AI 编码助手。
## 修改原则
- 优先保持主链路可运行
- 避免无关重构
- 不要把 Provider 的厂商字段泄漏到上层模块
## 测试
- Go 测试文件命名为 `*_test.go`
- 修改 Go 代码后运行 `go test ./...`
## 安全
- 配置中只保存环境变量名
- 不要把真实 API Key、Token 或本地会话数据提交到仓库放在哪里
推荐把全项目通用规则放在仓库根目录的 AGENTS.md。这样当工作区是仓库根目录或仓库内子目录时,NeoCode 都能向上发现它。
如果某个子目录有更具体的规则,也可以在子目录放 AGENTS.md。当你把工作区切到这个子目录或它的下级目录时,NeoCode 会同时看到子目录规则和上级规则。
写规则时保持短、清楚、可执行。比起“写高质量代码”,更推荐写“修改 Go 代码后运行 go test ./...,文档更新后运行文档站构建”。
AGENTS.md、记忆和 Skills 的区别
| 能力 | 适合保存什么 |
|---|---|
AGENTS.md | 跟项目一起维护的协作规则 |
| 记忆 | 你的个人长期偏好或稳定事实 |
| Skills | 当前任务要采用的工作流程 |
下一步
- 想看 Slash 指令:Slash 指令
- 想理解会话和上下文:会话、上下文与工作区
- 想判断规则放哪里:能力选择指南
