create-control-manifest
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCreate Control Manifest
创建控制清单
The Control Manifest is a flat, actionable rules sheet for programmers. It
answers "what do I do?" and "what must I never do?" — organized by architectural
layer, extracted from all Accepted ADRs, technical preferences, and engine
reference docs. Where ADRs explain why, the manifest tells you what.
Output:
docs/architecture/control-manifest.mdWhen to run: After passes and ADRs are in Accepted
status. Re-run whenever new ADRs are accepted or existing ADRs are revised.
/architecture-review控制清单是一份面向程序员的扁平化可执行规则清单,回答“我该做什么?”和“绝对不能做什么?”的问题。它按架构分层组织,内容提取自所有已通过的ADR、技术偏好文档以及引擎参考文档。ADR解释决策的原因,而这份清单明确告知你要做的事。
输出文件:
docs/architecture/control-manifest.md执行时机:在审核通过且ADR处于“Accepted”状态后执行。每当有新ADR通过或现有ADR修订时,需重新执行。
/architecture-review1. Load All Inputs
1. 加载所有输入内容
ADRs
ADR文档
- Glob and read every file
docs/architecture/adr-*.md - Filter to only Accepted ADRs (Status: Accepted) — skip Proposed, Deprecated, Superseded
- Note the ADR number and title for every rule sourced
- 匹配路径下的所有文件并读取
docs/architecture/adr-*.md - 仅筛选状态为“Accepted”的ADR——跳过“Proposed”“Deprecated”“Superseded”状态的文档
- 记录每条规则来源的ADR编号和标题
Technical Preferences
技术偏好文档
- Read
.claude/docs/technical-preferences.md - Extract: naming conventions, performance budgets, approved libraries/addons, forbidden patterns
- 读取
.claude/docs/technical-preferences.md - 提取内容:命名规范、性能预算、已批准的库/插件、禁用模式
Engine Reference
引擎参考文档
- Read for engine + version
docs/engine-reference/[engine]/VERSION.md - Read — these become forbidden API entries
docs/engine-reference/[engine]/deprecated-apis.md - Read if it exists
docs/engine-reference/[engine]/current-best-practices.md
Report: "Loaded [N] Accepted ADRs, engine: [name + version]."
- 读取获取引擎名称及版本
docs/engine-reference/[engine]/VERSION.md - 读取——其中内容将转化为禁用API条目
docs/engine-reference/[engine]/deprecated-apis.md - 若存在则一并读取
docs/engine-reference/[engine]/current-best-practices.md
报告内容:“已加载[N]份已通过的ADR,引擎:[名称 + 版本]。”
2. Extract Rules from Each ADR
2. 从各ADR中提取规则
For each Accepted ADR, extract:
针对每份已通过的ADR,提取以下内容:
Required Patterns (from "Implementation Guidelines" section)
强制模式(来自“Implementation Guidelines”章节)
- Every "must", "should", "required to", "always" statement
- Every specific pattern or approach mandated
- 所有包含“must”“should”“required to”“always”的表述
- 所有明确规定的具体模式或实现方式
Forbidden Approaches (from "Alternatives Considered" sections)
禁用方案(来自“Alternatives Considered”章节)
- Every alternative that was explicitly rejected — why it was rejected becomes the rule ("never use X because Y")
- Any anti-patterns explicitly called out
- 所有被明确否决的替代方案——否决原因将作为规则内容(“禁止使用X,原因是Y”)
- 所有被明确指出的反模式
Performance Guardrails (from "Performance Implications" section)
性能约束(来自“Performance Implications”章节)
- Budget constraints: "max N ms per frame for this system"
- Memory limits: "this system must not exceed N MB"
- 预算限制:“该系统每帧最大耗时N毫秒”
- 内存限制:“该系统内存占用不得超过N MB”
Engine API Constraints (from "Engine Compatibility" section)
引擎API约束(来自“Engine Compatibility”章节)
- Post-cutoff APIs that require verification
- Verified behaviours that differ from default LLM assumptions
- API fields or methods that behave differently in the pinned engine version
- 需要验证的 cutoff 后API
- 与默认LLM假设不同的已验证行为
- 在指定引擎版本中表现异常的API字段或方法
Layer Classification
分层分类
Classify each rule by the architectural layer of the system it governs:
- Foundation: Scene management, event architecture, save/load, engine init
- Core: Core gameplay loops, main player systems, physics/collision
- Feature: Secondary systems, secondary mechanics, AI
- Presentation: Rendering, audio, UI, VFX, shaders
If an ADR spans multiple layers, duplicate the rule into each relevant layer.
根据规则所管控的系统架构层进行分类:
- Foundation(基础层):场景管理、事件架构、存档/读档、引擎初始化
- Core(核心层):核心游戏循环、主要玩家系统、物理/碰撞
- Feature(功能层):次要系统、次要机制、AI
- Presentation(表现层):渲染、音频、UI、特效、着色器
若某份ADR涉及多个层级,则将对应规则复制到每个相关层级中。
3. Add Global Rules
3. 添加全局规则
Combine rules that apply to all layers:
整合适用于所有层级的规则:
From technical-preferences.md:
来自technical-preferences.md的内容:
- Naming conventions (classes, variables, signals/events, files, constants)
- Performance budgets (target framerate, frame budget, draw call limits, memory ceiling)
- 命名规范(类、变量、信号/事件、文件、常量)
- 性能预算(目标帧率、单帧耗时预算、绘制调用限制、内存上限)
From deprecated-apis.md:
来自deprecated-apis.md的内容:
- All deprecated APIs → Forbidden API entries
- 所有已废弃API → 转化为禁用API条目
From current-best-practices.md (if available):
来自current-best-practices.md(若存在)的内容:
- Engine-recommended patterns → Required entries
- 引擎推荐模式 → 转化为强制条目
From technical-preferences.md forbidden patterns:
来自technical-preferences.md的禁用模式:
- Copy any "Forbidden Patterns" entries directly
- 直接复制所有“Forbidden Patterns”条目
4. Present Rules Summary Before Writing
4. 编写前展示规则摘要
Before writing the manifest, present a summary to the user:
undefined在编写清单前,向用户展示规则摘要:
undefinedControl Manifest Preview
控制清单预览
Engine: [name + version]
ADRs covered: [list ADR numbers]
Total rules extracted:
- Foundation layer: [N] required, [M] forbidden, [P] guardrails
- Core layer: [N] required, [M] forbidden, [P] guardrails
- Feature layer: ...
- Presentation layer: ...
- Global: [N] naming conventions, [M] forbidden APIs, [P] approved libraries
Use `AskUserQuestion`:
- Prompt: "Does this rule summary look complete?"
- Options:
- `[A] Yes — looks good, run the director review and write the manifest`
- `[B] Add rules — I have additional rules to include before writing`
- `[C] Remove rules — some extracted rules should be dropped`
- `[D] Stop here — I need to review the ADRs first`
---引擎:[名称 + 版本]
覆盖的ADR:[列出ADR编号]
提取的规则总数:
- 基础层:[N]条强制规则,[M]条禁用规则,[P]条性能约束
- 核心层:[N]条强制规则,[M]条禁用规则,[P]条性能约束
- 功能层:...
- 表现层:...
- 全局规则:[N]条命名规范,[M]条禁用API,[P]个已批准库
使用`AskUserQuestion`工具:
- 提示语:“这份规则摘要是否完整?”
- 选项:
- `[A] 是——内容完整,执行技术总监审核并编写清单`
- `[B] 添加规则——我有额外规则需要加入后再编写`
- `[C] 删除规则——部分提取的规则需要移除`
- `[D] 暂停——我需要先审核ADR文档`
---4b. Director Gate — Technical Review
4b. 技术总监审核关卡
Review mode check — apply before spawning TD-MANIFEST:
- → skip. Note: "TD-MANIFEST skipped — Solo mode." Proceed to Phase 5.
solo - → skip. Note: "TD-MANIFEST skipped — Lean mode." Proceed to Phase 5.
lean - → spawn as normal.
full
Spawn via Task using gate TD-MANIFEST ().
technical-director.claude/docs/director-gates.mdPass: the Control Manifest Preview from Phase 4 (rule counts per layer, full extracted rule list), the list of ADRs covered, engine version, and any rules sourced from technical-preferences.md or engine reference docs.
The technical-director reviews whether:
- All mandatory ADR patterns are captured and accurately stated
- Forbidden approaches are complete and correctly attributed
- No rules were added that lack a source ADR or preference document
- Performance guardrails are consistent with the ADR constraints
Apply the verdict:
- APPROVE → proceed to Phase 5
- CONCERNS → surface via with options:
AskUserQuestion/Revise flagged rules/Accept and proceedDiscuss further - REJECT → do not write the manifest; fix the flagged rules and re-present the summary
审核模式检查——在生成TD-MANIFEST前执行:
- 模式 → 跳过。记录:“TD-MANIFEST已跳过——Solo模式。” 进入第5阶段。
solo - 模式 → 跳过。记录:“TD-MANIFEST已跳过——Lean模式。” 进入第5阶段。
lean - 模式 → 正常生成。
full
通过任务生成,使用关卡TD-MANIFEST()。
technical-director.claude/docs/director-gates.md传递内容:第4阶段的控制清单预览(各层级规则数量、完整提取规则列表)、覆盖的ADR列表、引擎版本,以及所有来自technical-preferences.md或引擎参考文档的规则。
技术总监需审核以下内容:
- 是否完整且准确地捕获了所有ADR中的强制模式
- 禁用方案是否完整且归属正确
- 所有规则均有对应的ADR或偏好文档来源
- 性能约束与ADR中的限制一致
根据审核结果执行:
- APPROVE(通过) → 进入第5阶段
- CONCERNS(有疑问) → 通过展示选项:
AskUserQuestion/修改标记的规则/接受并继续进一步讨论 - REJECT(拒绝) → 不编写清单;修复标记的规则后重新展示摘要
5. Write the Control Manifest
5. 编写控制清单
Use :
AskUserQuestion- Prompt: "May I write the Control Manifest?"
- Options:
[A] Yes — write to docs/architecture/control-manifest.md[B] Show me the full draft first, then ask again[C] Not yet — I want to make more changes
Format:
markdown
undefined使用工具:
AskUserQuestion- 提示语:“是否可以编写控制清单?”
- 选项:
[A] 是——写入docs/architecture/control-manifest.md[B] 先展示完整草稿,再询问[C] 暂不编写——我需要做更多修改
格式要求:
markdown
undefinedControl Manifest
控制清单
Engine: [name + version] Last Updated: [date] Manifest Version: [date] ADRs Covered: [ADR-NNNN, ADR-MMMM, ...] Status: [Active — regenerate withwhen ADRs change]/create-control-manifest update
Manifest Version/story-readinessLast UpdatedThis manifest is a programmer's quick-reference extracted from all Accepted ADRs,
technical preferences, and engine reference docs. For the reasoning behind each
rule, see the referenced ADR.
引擎:[名称 + 版本] 最后更新时间:[日期] 清单版本:[日期] 覆盖的ADR:[ADR-NNNN, ADR-MMMM, ...] 状态:[Active(生效)——当ADR变更时,使用重新生成]/create-control-manifest update
清单版本/story-readiness最后更新时间本清单是一份供程序员快速参考的文档,提取自所有已通过的ADR、技术偏好文档以及引擎参考文档。如需了解每条规则的决策原因,请查看对应的ADR文档。
Foundation Layer Rules
基础层规则
Applies to: scene management, event architecture, save/load, engine initialisation
适用范围:场景管理、事件架构、存档/读档、引擎初始化
Required Patterns
强制模式
- [rule] — source: [ADR-NNNN]
- [rule] — source: [ADR-NNNN]
- [规则内容] —— 来源:[ADR-NNNN]
- [规则内容] —— 来源:[ADR-NNNN]
Forbidden Approaches
禁用方案
- Never [anti-pattern] — [brief reason] — source: [ADR-NNNN]
- 禁止[反模式] —— [简要原因] —— 来源:[ADR-NNNN]
Performance Guardrails
性能约束
- [system]: max [N]ms/frame — source: [ADR-NNNN]
- [系统名称]:每帧最大耗时[N]毫秒 —— 来源:[ADR-NNNN]
Core Layer Rules
核心层规则
Applies to: core gameplay loop, main player systems, physics, collision
适用范围:核心游戏循环、主要玩家系统、物理、碰撞
Required Patterns
强制模式
...
...
Forbidden Approaches
禁用方案
...
...
Performance Guardrails
性能约束
...
...
Feature Layer Rules
功能层规则
Applies to: secondary mechanics, AI systems, secondary features
适用范围:次要机制、AI系统、次要功能
Required Patterns
强制模式
...
...
Forbidden Approaches
禁用方案
...
...
Presentation Layer Rules
表现层规则
Applies to: rendering, audio, UI, VFX, shaders, animations
适用范围:渲染、音频、UI、特效、着色器、动画
Required Patterns
强制模式
...
...
Forbidden Approaches
禁用方案
...
...
Global Rules (All Layers)
全局规则(所有层级)
Naming Conventions
命名规范
| Element | Convention | Example |
|---|---|---|
| Classes | [from technical-preferences] | [example] |
| Variables | [from technical-preferences] | [example] |
| Signals/Events | [from technical-preferences] | [example] |
| Files | [from technical-preferences] | [example] |
| Constants | [from technical-preferences] | [example] |
| 元素 | 规范 | 示例 |
|---|---|---|
| 类 | [来自technical-preferences] | [示例] |
| 变量 | [来自technical-preferences] | [示例] |
| 信号/事件 | [来自technical-preferences] | [示例] |
| 文件 | [来自technical-preferences] | [示例] |
| 常量 | [来自technical-preferences] | [示例] |
Performance Budgets
性能预算
| Target | Value |
|---|---|
| Framerate | [from technical-preferences] |
| Frame budget | [from technical-preferences] |
| Draw calls | [from technical-preferences] |
| Memory ceiling | [from technical-preferences] |
| 目标 | 数值 |
|---|---|
| 帧率 | [来自technical-preferences] |
| 单帧耗时预算 | [来自technical-preferences] |
| 绘制调用 | [来自technical-preferences] |
| 内存上限 | [来自technical-preferences] |
Approved Libraries / Addons
已批准库/插件
- [library] — approved for [purpose]
- [库名称] —— 批准用于[用途]
Forbidden APIs ([engine version])
禁用API([引擎版本])
These APIs are deprecated or unverified for [engine + version]:
- — deprecated since [version] / unverified post-cutoff
[api name] - Source:
docs/engine-reference/[engine]/deprecated-apis.md
以下API在[引擎 + 版本]中已废弃或未经验证:
- —— 自[版本]起废弃 / cutoff后未经验证
[API名称] - 来源:
docs/engine-reference/[engine]/deprecated-apis.md
Cross-Cutting Constraints
跨层级约束
- [constraint that applies everywhere, regardless of layer]
---- [适用于所有层级的约束内容]
---6. Suggest Next Steps
6. 建议后续步骤
After writing the manifest:
- If epics/stories don't exist yet: "Run then
/create-epics layer: foundation— programmers can now use this manifest when writing story implementation notes."/create-stories [epic-slug] - If this is a regeneration (manifest already existed): "Updated. Recommend notifying the team of changed rules — especially any new Forbidden entries."
编写完清单后:
- 若尚未创建史诗/故事:“执行,然后执行
/create-epics layer: foundation——程序员现在可以在编写故事实现说明时参考这份清单。”/create-stories [epic-slug] - 若为重新生成(清单已存在):“已更新。建议通知团队规则变更——尤其是新增的禁用条目。”
Collaborative Protocol
协作协议
- Load silently — read all inputs before presenting anything
- Show the summary first — let the user see the scope before writing
- Ask before writing — always confirm before creating or overwriting the manifest. On write: Verdict: COMPLETE — control manifest written. On decline: Verdict: BLOCKED — user declined write.
- Source every rule — never add a rule that doesn't trace to an ADR, a technical preference, or an engine reference doc
- No interpretation — extract rules as stated in ADRs; do not paraphrase in ways that change meaning
- 静默加载——在展示任何内容前先读取所有输入
- 先展示摘要——让用户在编写前了解规则范围
- 编写前确认——创建或覆盖清单前必须征得用户同意。编写完成时:状态为COMPLETE——控制清单已编写。用户拒绝时:状态为BLOCKED——用户拒绝编写。
- 每条规则都要有来源——不得添加无法追溯到ADR、技术偏好文档或引擎参考文档的规则
- 不做主观解读——严格按ADR原文提取规则,不得通过改写改变规则含义