| name | before-you-code |
| description | 动手前的前提锁定与上下文加载协议;写代码、改配置、改资源、改规范或执行会改变结果的命令前使用。 |
Before You Code(动手前协议)
四项前提
动手前必须锁定:
- 问题对象:具体文件、场景、资源、记录、规范或 skill。
- 真相来源:用户指定、本仓文件、Unity 状态、测试输出、日志、外部参考。
- 目标入口/环境:当前项目、Unity Editor、
.spec、.spec/knowledge/features/project、openspec、全局 D:\codex-home。
- 验收口径:完成后用什么回到原始目标验证。
任一缺失,不得实施,只能继续查证或问最小问题。
用户给出外部参考路径、仓库、网页、文档或资源目录时,该来源必须被当轮精确读取或验证;在没有读到该来源、没有锁定其原设计入口和适用边界前,不得实施代码、配置、插件级或架构级改动。此时正确动作是继续查证;如果来源不可达或无法定位关键实现,必须拒绝实施并说明缺失的前提。
多参考源或“参考某工程后重构”的任务,还必须先锁定设计裁决标准:
- 参考工程同职责流程是什么:入口、数据 owner、系统访问方式、失败语义、保存/刷新位置和验收点分别在哪里。
- 当前项目对应流程是什么;和参考相比的差异是必要增强、业务适配,还是待复核的偏离;通过理由必须来自参考同职责证据或当前项目约束,不能来自“用户说可以”“当前能跑”或访问形式看起来更规范。
- 原生能力是否已经能表达目标。
- 参考工程的职责内核是什么,而不是表面类名/字段/目录。
- 当前项目已有 owner 是谁,新增抽象是否真的有独立生命周期或复用价值。
- 作者源数据、派生生成物、运行时状态和编辑器配置是否保持单一真相源。
- 方案为什么比当前实现、参考实现和其它候选更好。
这些标准没写清前,不得实施重构;不得先用“单例/接口/事件/Try 查询/依赖注入/必需依赖/可选依赖”等抽象词给方案定性。发现自己只是把外部参考或临时包装层套进项目时,必须先回到方案裁决。
读取顺序
- 根
AGENTS.md 指针。
.spec/AGENTS.md。
.spec/rules/system.md。
.spec/knowledge/README.md。
- 按任务类型读取
.spec/knowledge/features/project/ 或对应 skill。
规模判断
- 小任务:1 个文件或单一文档块,读直接相关规范后可直接改。
- 中任务:2-5 个文件或跨模块,先列改动清单,再逐项实施。
- 大任务:多模块、多阶段、有设计分歧,先用
task-breakdown 或 planning-with-files。
禁止
- 不把最近打开的 Unity 场景、最近日志或相似文件当成目标。
- 不为推进进度自行假设目标。
- 不顺手重构、不夹带新功能、不改任务外文件。
- 不用当前仓库搜索不到、历史规范里的参考名、或相似实现,替代用户当轮给出的外部参考路径。
- 不用“参考工程就是这么写的”“原生 API 能做到”“当前代码能跑”单独作为架构更优的理由;必须回到 owner、职责、生命周期、约束匹配和验收证据。