规则
定义 Codex 的行为准则
概述
规则是 Codex 遵循的持久性指令,用于定制其行为方式和输出风格。
规则类型
1. 全局规则
适用于所有项目和会话:
- 总是使用英语编写代码标识符
- 代码注释使用中文
- 遵循 PEP 8 代码规范2. 项目规则
仅适用于特定项目:
- 本项目使用 TypeScript 严格模式
- 所有函数必须有类型注解
- 使用 ESLint 进行代码检查3. 模式规则
在特定模式下激活:
当在"安全模式"下:
- 不执行任何写操作
- 不访问网络
- 不读取敏感文件创建规则
规则文件格式
规则存储在 .codex/rules/ 目录中:
.codex/rules/
├── global.md # 全局规则
├── project.md # 项目规则
└── custom.md # 自定义规则规则语法
markdown
# 规则名称
## 触发条件
当 [条件] 时
## 行为
- [行为 1]
- [行为 2]
## 例外
除非 [例外情况]示例规则
markdown
# 代码审查规则
## 触发条件
当审查 Pull Request 时
## 行为
- 检查安全漏洞
- 指出性能问题
- 建议改进的可读性
- 提供具体代码示例
## 例外
除非 PR 标记为 "WIP"规则优先级
项目规则 > 全局规则 > 默认行为管理规则
CLI 命令
bash
# 列出所有规则
codex rules list
# 查看规则
codex rules show <rule-name>
# 添加规则
codex rules add <rule-file>
# 删除规则
codex rules remove <rule-name>
# 编辑规则
codex rules edit <rule-name>App 界面
在设置中找到"规则"部分:
- 查看规则列表
- 切换规则状态
- 编辑规则内容
规则条件
基于文件的条件
规则适用:
- 文件路径:src/**/*.py
- 文件类型:Python
- 特定目录:tests/基于内容的条件
规则适用:
- 包含特定注释:# REVIEW
- 修改超过 100 行
- 涉及敏感操作基于上下文的条件
规则适用:
- 工作时间(9:00-18:00)
- 特定分支(main, develop)
- 有测试文件存在规则模板
代码风格规则
markdown
# Python 代码风格
## 行为
- 使用 4 空格缩进
- 行宽限制 100 字符
- 函数名使用 snake_case
- 类名使用 PascalCase
## 自动修复
当发现风格问题时,建议修复命令:
```bash
black src/
### 安全规则
```markdown
# 安全检查
## 触发条件
当修改涉及以下操作时
## 行为
- SQL 查询:检查参数化
- 文件操作:检查路径遍历
- 认证逻辑:检查 token 处理
- 用户输入:检查 XSS 防护
## 必须审查
任何绕过安全检查的代码必须人工审查测试规则
markdown
# 测试要求
## 触发条件
当添加新功能或修改现有功能时
## 行为
- 新功能必须有单元测试
- 修改不能破坏现有测试
- 测试覆盖率不能下降
- 边界情况必须测试规则继承
项目可以从模板继承规则:
json
{
"extends": ["python-standard", "security-basic"],
"rules": {
"additional": "project-specific"
}
}规则冲突
当规则冲突时:
- 后加载的规则优先
- 更具体的规则优先
- 手动指定的规则优先
最佳实践
规则命名
- 使用描述性名称
- 按类别组织规则
- 添加清晰的注释
规则维护
- 定期审查规则
- 删除过时规则
- 合并相似规则
规则文档
为每个规则添加:
- 目的说明
- 适用场景
- 配置选项
- 示例用法
故障排除
规则未生效
检查:
- 规则文件是否在正确的目录
- 规则语法是否正确
- 规则是否被其他规则覆盖
调试规则
bash
codex rules debug --verbose