主题
推荐全局规则
在使用 AI 编程工具时,配置好规则文件可以显著提升代码生成质量。以下是针对不同工具的推荐配置。
最近核验:2026-10-23。各工具读取的文件名和位置已对照官方文档:Codex 读取
AGENTS.md(不读取codex.md);Cursor 推荐.cursor/rules/*.mdc或AGENTS.md,.cursorrules已是旧格式。
多个工具共用一份规则
Codex 和 Cursor 都会读取项目根目录的 AGENTS.md;Claude Code v2.1.277 及以上在项目没有 CLAUDE.md 时也会读取它。同一个仓库需要同时服务多个工具时,可以把通用规则写进 AGENTS.md,再在 CLAUDE.md 中用 @AGENTS.md 引入,避免维护多份内容。
Claude Code — CLAUDE.md
Claude Code 在每次会话开始时读取下列文件,并按从宽到窄的顺序合并:
| 位置 | 作用范围 |
|---|---|
~/.claude/CLAUDE.md | 你的所有项目(个人全局规则) |
./CLAUDE.md 或 ./.claude/CLAUDE.md | 当前项目,随仓库共享给团队 |
./CLAUDE.local.md | 当前项目的个人偏好,需加入 .gitignore |
在会话中执行 /context,可以在 Memory files 中确认文件已被加载。
基础模板
markdown
# CLAUDE.md
## 项目概述
[简要描述项目功能]
## 技术栈
- 语言:[如 TypeScript / Python / Go]
- 框架:[如 Next.js / FastAPI / Gin]
- 数据库:[如 PostgreSQL / MongoDB]
## 代码规范
- 使用 [ESLint/Prettier/Black] 格式化代码
- 函数命名使用 camelCase
- 组件命名使用 PascalCase
- 中文注释
## 常用命令
- `npm run dev` — 启动开发服务器
- `npm test` — 运行测试
- `npm run build` — 构建生产版本
## 注意事项
- 不要修改 .env 文件
- 数据库迁移走 migration,不直接改 schema进阶配置
markdown
## 架构约束
- 优先使用已有工具函数,不重复造轮子
- 新增 API 端点必须包含输入校验
- 数据库查询使用参数化查询,防止注入
- 错误处理统一使用项目的 error handler
## 测试要求
- 新功能必须包含单元测试
- 测试覆盖率不低于 80%
- Mock 外部依赖,不依赖真实网络请求Cursor — Project Rules
Cursor 的项目规则放在 .cursor/rules/ 目录,每条规则一个 .mdc 文件,用 frontmatter 设置生效方式;该目录下的普通 .md 文件不会被读取。只想写纯 Markdown 时,直接在项目根目录创建 AGENTS.md 即可。根目录的 .cursorrules 仍可使用,但已是旧格式,建议迁移。
基础模板
文件 .cursor/rules/project.mdc:
markdown
---
description: 项目通用规范
alwaysApply: true
---
你是一个专注于 [项目类型] 的高级开发者。
技术栈:[技术栈列表]
代码风格:
- 使用 TypeScript strict mode
- 优先使用函数式编程风格
- 组件使用 React Hooks,不用 class component
- 样式使用 Tailwind CSS
命名规范:
- 文件名:kebab-case
- 组件名:PascalCase
- 函数名:camelCase
- 常量名:UPPER_SNAKE_CASE
回复语言:中文只对部分文件生效的规则,可以去掉 alwaysApply,改用 globs(例如 globs: src/api/**/*.ts)限定范围。
Codex CLI — AGENTS.md
Codex 读取 AGENTS.md 作为项目说明,不会读取 codex.md:
- 全局:
~/.codex/AGENTS.md(设置了CODEX_HOME时为$CODEX_HOME/AGENTS.md);同目录存在AGENTS.override.md时改用它 - 项目:从项目根目录(通常是 Git 根目录)向下到当前工作目录,逐层读取各级
AGENTS.md
基础模板
markdown
# AGENTS.md
## 项目规范
- 使用 Python 3.12+
- 类型标注使用 typing 模块
- 文档字符串使用 Google 风格
## 依赖管理
- 使用 uv 管理依赖
- 不引入不必要的第三方库通用的最佳写法
无论使用哪个工具,好的全局规则都遵循以下原则:
1. 明确技术栈
告诉 AI 你用什么,它会生成匹配的代码:
text
✅ "使用 React 19 + TypeScript 5.7 + Tailwind CSS 4"
❌ "用 React 写前端"2. 指定禁止项
提前声明不想要的东西比事后修改高效:
text
✅ "不要使用 any 类型" "不要使用 class component"
❌ (不说,然后手动改)3. 给出常用命令
让 AI 知道如何验证自己的输出:
text
✅ "运行测试:npm test,lint:npm run lint"
❌ (AI 不知道怎么检查自己写的代码对不对)4. 保持简洁
规则文件不是文档站。Claude Code 官方建议单个 CLAUDE.md 少于 200 行,Cursor 建议单条规则少于 500 行;越精炼的规则越容易被稳定遵循,过长时按主题拆成多个文件。
