AGENTS.md · git:20261011.7d175a8 · 2026-10-11 · sha256 39072ea21e4f4abc

AGENTS.md git:20261011.7d175a8A

Immutable. This exact content never changes and is served at /api/v1/blob/39072ea21e4f4abc.

# AGENTS.md

请使用中文写提案和回答。

本文件是 DGame 仓库级规则。处理 `GameUnity/**` 下的文件时,还必须读取并遵守 [GameUnity/AGENTS.md](GameUnity/AGENTS.md);子目录规则用于补充工程细节,和本文件冲突时以距离目标文件更近的规则为准。

## 适用范围与规范源

- 仓库级配置和工具位于 `GameConfig/`、`GameRelease/` 和 `Tools/`。
- Unity 工程位于 `GameUnity/`,其工程级规则见 [GameUnity/AGENTS.md](GameUnity/AGENTS.md)。
- Claude Code 与 Codex 共用 `.agents/skills/` 下的 Agent Skills;技能和 Workflow 不再维护第二套入口。
- 不回滚用户已有改动,不删除与当前任务无关的文件。

## 工作方式

1. 先阅读相关实现和 `git status`,确认已有改动边界。
2. 按任务影响范围选择验证方式;跨模块、高风险或多阶段任务先明确目标和验收条件。
3. 读取对应 skill 的 `SKILL.md` 及必要的 reference。配置表、Excel、导表脚本和 `GameConfig/` 数据优先使用 `.agents/skills/luban-dev/`。
4. 源码用代码编辑工具修改;Unity 操作使用 Unity CLI 原生 MCP 工具或 `unity command`,入口选择和工程核对见 `unity-cli` 技能。Workflow 按需用于组合验证、CI 和配置导表。完成后执行与变更匹配的检查,并报告实际结果、限制和剩余风险。
5. 当 reference 与源码冲突时,使用 `rg` 核对实际签名和调用点,优先信任当前源码,并记录冲突位置。

## 授权边界

- 普通源码、文档和只读检查可按用户任务直接执行。
- 删除文件、覆盖已有配置或资源、修改包依赖、修改 ProjectSettings、切换平台、真实构建、导表写入生产目录、发布、提交或推送前,必须明确目标和范围;已有计划或预览不等于已授权执行。
- Unity 写入先明确本工程内的目标、输入和影响范围;支持 `dry_run` 时使用原生命令预览。普通对象、组件及资源操作按用户任务和已有授权直接通过 MCP 或 CLI 执行;删除、覆盖、设置、依赖、平台和真实构建遵守上一条授权要求。使用 Workflow 时才执行其 preview、approve、apply 流程;命令超时后先查询真实状态,不自动重放。
- Luban 生产导表使用 `python .agents/scripts/workflow.py luban preview`、`approve`、`apply`;`validate` 和隔离回归不会写入生产目录。
- 无法连接当前 DGame Editor、缺少工具或测试没有可运行用例时,记录 blocked 和原因,不使用其他工程或旧结果替代。
- Workflow 不自动安装或升级工具,不修改用户级技能、Codex 配置或其他用户级设置。
- 不自动提交、推送、上传、签名或发布;CLI 的 `confirm` 参数和本地审批记录不能替代用户授权。
- 不使用已停用的旧工作流、旧 Unity MCP 或其他项目的验证结果替代当前 DGame 证据。

同一会话中已经核对过的主题可以复用摘要;只有涉及新主题或发现文档与源码冲突时才重新查询。

工作流、环境版本和验证矩阵见 [.agents/README.md](.agents/README.md),Unity 命令以当前 MCP 工具描述、CLI 帮助和注册命令为准,Workflow 命令以 `.agents/scripts/workflow.py --help` 为准。L4、跨模块、配置导表、Unity 写入、构建和发布类任务必须使用 [.agents/templates/task.md](.agents/templates/task.md) 记录目标、授权、决策、验证证据和剩余风险;L1/L2 小改可不创建任务文件。

`AGENTS.md` 是 Claude Code 与 Codex 都会读取的仓库级入口。匹配任务后,两个工具都应按这里的路由读取 `.agents/skills/<skill>/SKILL.md`;技能目录遵循 Agent Skills 的 `SKILL.md`、`references/`、`scripts/` 和可选 `agents/openai.yaml` 结构。

### 任务等级

| 等级 | 判断标准 | 默认动作 |
|------|----------|----------|
| **L1 简单** | typo、注释、日志文案、单行变量改名,且不涉及框架 API、资源路径、事件、配置或工具链 | 可跳过 skill,直接处理 |
| **L2 调用** | 调用已知 API、单模块局部修改 | 读取对应 skill 主题 |
| **L3 功能** | 新功能、跨文件修改、新增资源、事件或模块逻辑 | 读取完整相关 skill;涉及配置先读 `luban-dev` |
| **L4 架构** | 模块设计、系统重构、多模块协作或架构决策 | 读取完整相关 skill 和 reference,并明确验收条件 |

不确定时上调一级。用户明确要求优先于本文件;安全、权限和不可逆操作仍需按项目规则取得相应确认。

## Review 重点

- 优先检查可复现的源码 API、路径、签名和文档冲突。
- 重点检查资源与事件生命周期、Luban 模板与生成产物漂移、序列化兼容性以及程序集边界。
- 构建、导表和测试必须报告实际命令、结果、阻塞原因和剩余风险;命令返回成功不等于业务验证通过。

## 通用编码准则

### 先理解再编码

- 明确假设、边界和成功标准;存在多种解释时说明取舍。
- 先搜索当前调用点和实现,不把文档或记忆当成 API 保证。

### 保持简单

- 只实现请求范围内的最小改动,不为单次使用增加抽象或配置项。
- 不为不可能发生的情况添加复杂错误处理。

### 手术式修改

- 只修改与任务直接相关的文件和行,保持现有代码风格。
- 由本次修改产生的未使用导入、变量或函数应一并清理;不删除预先存在的无关代码。

### 以目标验证

- 修复问题时先确定可复现条件,再用针对性检查确认修复。
- 多阶段任务为每一步指定验证方式;无法验证时明确说明限制。