关于 roblox-architecture
用于规划 Roblox 项目中的所有权、模块边界、集成和启动流程的架构指南,帮助开发者明确权限与生命周期,并依据实际需求选择结构。
主要功能
- 01定义状态所有者与调用方
- 02划分模块和运行时边界
- 03保持依赖结构精简
- 04明确启动顺序
- 05审查权限与清理流程
适用场景
- 01规划某项行为的所有权
- 02决定服务端与客户端代码的边界
- 03设计有序的模块启动流程
- 04评估是否需要 ECS
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-architecture安装后在 Claude Code 中输入/roblox-architecture确认已加载。
附带文件references/full.md
详细介绍
Roblox 架构
何时加载
当需要处理所有权、集成、边界、启动或模块拆分时加载。
快速参考
重建之前,先复用经过验证的项目模块;检查契约以及故障和清理路径。集成工作流:full.md。
从单一所有者开始
对于每种行为,明确:
- 权威状态以及允许修改它的一方;
- 公共操作及其调用方;
- 它所拥有的 Roblox 实例、连接和任务;
- 持久化或网络边界;
- 启动和 teardown 条件。
如果按功能分组能让一次变更集中在一起,就按功能分组。仅在运行时边界要求时,才拆分服务端、客户端和共享代码。共享代码不得包含机密或可变的权威状态。
使用最精简的依赖结构
直接调用模块是默认做法。仅当一个发布者确实有彼此独立的观察者时,才使用信号。不要为了隐藏普通依赖而添加事件总线、依赖容器、管理器类或 Init/Start 流程。
模块顶层操作应轻量且不产生 yield。需要按顺序启动的逻辑由一个小型引导模块负责;按顺序调用并让失败清晰可见。并发必须显式且安全,不能到处自动使用 task.spawn。
如果依赖通过复制到达,应为 WaitForChild 设置超时;无限等待会让缺失的实例造成无声挂起。
强制执行运行时权限边界
客户端负责呈现和预测;服务端负责验证和决策。Remote 是 API,必须定义类型、边界、所有权、防滥用措施和失败行为。具体细节请参阅 roblox-networking 和 roblox-security。
仅在有依据时拆分
当存在独立的生命周期或权限边界、独特的持久化契约、可独立测试的纯逻辑核心,或互不相关的变更原因时,才进行拆分。
面向数据的替代方案:仅在有依据时采用
只有当大量相似实体通过与顺序无关的逻辑逐帧更新,或跨领域查询能够替代纠缠在一起的逐实体脚本时,ECS 才值得付出相应成本;钩子负责强制执行不变量,有序系统负责决策。特定版本的注意事项:full.md "ECS on Roblox"。
审查
每次变更都只有一个规范所有者;没有隐藏的启动 yield 或基于复制内容的信任决策;清理逻辑明确;结构精简且易于追踪。标签用于发现,属性用于配置,并由单一所有者负责附加和移除时的清理。