agent-Specialization/agentskills/agents-md-writer/references/specification.md

120 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AGENTS.md 规范参考
## 什么是 AGENTS.md
AGENTS.md 是一个简单、开放的 Markdown 格式文件,专为 AI 编程代理Coding Agents设计。它是 AI 助手的"README"——与 README.md面向人类开发者互补提供 AI 代理处理项目时所需的上下文和指令。
目前已超过 6 万个开源项目采用,由 Linux 基金会旗下 Agentic AI Foundation 管理,获得 OpenAI、Google、Cursor、Cognition 等主流厂商支持。
## 核心设计理念
1. **面向 AI 代理**:为 AI 编码工具提供结构化的操作手册
2. **跨工具兼容**:同一份文件可被 Codex、Jules、Cursor、Windsurf、Devin、Aider、Gemini CLI、VS Code、Zed 等 20+ 工具识别
3. **就近原则**AI 代理使用离当前编辑文件最近的 AGENTS.md
4. **纯 Markdown**无需特殊格式AI 直接解析
## 文件位置与嵌套
### 根目录放置
在项目根目录放置一个 AGENTS.md覆盖整个项目。
### Monorepo 嵌套
在子包中放置独立的 AGENTS.md
```
my-monorepo/
├── AGENTS.md # 根级通用配置
├── packages/
│ ├── web/
│ │ └── AGENTS.md # 前端特定配置
│ ├── api/
│ │ └── AGENTS.md # 后端特定配置
│ └── shared/
│ └── AGENTS.md # 共享库配置
```
AI 代理处理 `packages/web/src/App.tsx` 时会使用 `packages/web/AGENTS.md`,而非根目录的。
## 优先级规则
1. **最近的 AGENTS.md**(最靠近被编辑文件的)优先级最高
2. **用户聊天中的显式指令** 覆盖一切
3. 父目录的 AGENTS.md 作为后备
## 典型内容板块
| 板块 | 说明 | 是否必要 |
|------|------|---------|
| 项目概述 | 技术栈、架构简介、项目目标 | 推荐 |
| 构建/测试命令 | 安装依赖、启动、构建、测试的具体命令 | 强烈推荐 |
| 代码风格 | 命名约定、格式化规则、语言特性约束 | 推荐 |
| 测试说明 | 测试策略、覆盖率要求、测试命令 | 推荐 |
| 安全注意事项 | 敏感配置、授权边界、禁止操作 | 按需 |
| PR 规范 | 标题格式、提交前检查清单 | 按需 |
| 部署步骤 | 发布流程、环境变量 | 按需 |
| 已知问题/陷阱 | 常见坑点、注意事项 | 按需 |
## 支持的 AI 工具
完整兼容(原生支持):
- OpenAI Codex
- Google Jules
- Cursor
- Windsurf (Cognition)
- Devin (Cognition)
- Aider
- Gemini CLI
- VS Code (Copilot)
- Goose (Block)
- opencode
- Zed
- Warp
- Factory
- Amp
- RooCode
- Kilo Code
- Phoenix
- Semgrep
- UiPath Autopilot
- JetBrains Junie
- Augment Code
- Ona
## 与其他配置文件的区别
| 文件 | 面向对象 | 用途 |
|------|---------|------|
| README.md | 人类开发者 | 项目介绍、快速上手、贡献指南 |
| AGENTS.md | AI 编程代理 | 构建命令、测试、代码规范、工具链细节 |
| .cursorrules | Cursor 专属 | 已逐步被 AGENTS.md 取代 |
| CLAUDE.md | Claude Code 专属 | 正在向 AGENTS.md 靠拢 |
| .aider.conf.yml | Aider 专属 | Aider 通过 `read: AGENTS.md` 接入 |
## 迁移指南
如果项目已有工具专属配置文件,可以这样迁移:
```bash
# 将旧配置重命名为 AGENTS.md
mv CLAUDE.md AGENTS.md
# 或
mv .cursorrules AGENTS.md
# 为兼容旧工具,创建软链接
ln -s AGENTS.md CLAUDE.md
```
Aider 配置(`.aider.conf.yml`
```yaml
read: AGENTS.md
```
Gemini CLI 配置(`.gemini/settings.json`
```json
{
"context": {
"fileName": "AGENTS.md"
}
}
```