用途:为 MSW 项目生成或刷新 BehaviourTree 编写规范(.behaviourDocs/bt-spec.md),该规范是 msw-behaviourtree-creator 技能编写 .behaviourtree 文件时读取的项目专属目录。
主要能力:运行 scripts/build-spec.cjs(Node.js,仅用标准库 fs/path)扫描每个 .codeblock 及其配对的、扩展 ActionNode / DecoratorNode 的 .mlua,输出项目元数据(项目根、CoreVersion、生成时间、节点计数)、内置复合节点名称及其固定 definitionId / btNodeType、自定义动作节点与装饰器节点(名称、definitionId、btNodeType、可见属性名)、mlua 类型到序列化 MODNativeType.type 及 Blackboard ObjectValue 形状的类型映射。UUID 取自项目真实 .codeblock 文件,不会虚构;@HideFromInspector 属性会被自动过滤。
使用方式:node "<path-to-msw-behaviourtree-spec-builder>/scripts/build-spec.cjs" --projectRoot "<MSW project root>"。若当前工作目录已是项目根,可省略 --projectRoot。可选长标志(大小写不敏感):--projectRoot(默认当前工作目录)、--outputPath(默认 <ProjectRoot>/.behaviourDocs/bt-spec.md,目录缺失时创建)、--coreVersion(默认从 <ProjectRoot>/Environment/config 的 CoreVersion 字段读取)。示例:node "<path-to-msw-behaviourtree-spec-builder>/scripts/build-spec.cjs" --projectRoot "C:/path/to/project" --coreVersion 26.5.0.0。
适用场景:项目首次处理 BT 且尚无 bt-spec.md;新增/重命名/删除扩展 ActionNode / DecoratorNode 的 .codeblock 或其属性行;CoreVersion 变更(类型字符串带版本标记);creator 技能报告规范缺失或过期。
限制:需 PATH 中有 Node.js,无其他依赖;若 Environment/config 缺失且未传 --coreVersion,脚本会抛错,没有回退默认值。固定编写规则、文件骨架与校验清单位于 msw-behaviourtree-creator 技能参考中,不在本生成规范内。运行后应告知用户文件已写入,并建议调用 msw-behaviourtree-creator 进行实际树编写。