Skip to content

规则

定义 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 界面

在设置中找到"规则"部分:

  1. 查看规则列表
  2. 切换规则状态
  3. 编辑规则内容

规则条件

基于文件的条件

规则适用:
- 文件路径: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"
  }
}

规则冲突

当规则冲突时:

  1. 后加载的规则优先
  2. 更具体的规则优先
  3. 手动指定的规则优先

最佳实践

规则命名

  • 使用描述性名称
  • 按类别组织规则
  • 添加清晰的注释

规则维护

  • 定期审查规则
  • 删除过时规则
  • 合并相似规则

规则文档

为每个规则添加:

  • 目的说明
  • 适用场景
  • 配置选项
  • 示例用法

故障排除

规则未生效

检查:

  1. 规则文件是否在正确的目录
  2. 规则语法是否正确
  3. 规则是否被其他规则覆盖

调试规则

bash
codex rules debug --verbose

下一步

基于 OpenAI Codex 官方文档翻译