mcpField
R
roblox-architecture

roblox-architecture

github.com/tabooharmony开发1382.1k 次安装2 周前更新
代码仓库

关于 roblox-architecture

用于规划 Roblox 项目中的所有权、模块边界、集成和启动流程的架构指南,帮助开发者明确权限与生命周期,并依据实际需求选择结构。

主要功能

  1. 01定义状态所有者与调用方
  2. 02划分模块和运行时边界
  3. 03保持依赖结构精简
  4. 04明确启动顺序
  5. 05审查权限与清理流程

适用场景

  1. 01规划某项行为的所有权
  2. 02决定服务端与客户端代码的边界
  3. 03设计有序的模块启动流程
  4. 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 或基于复制内容的信任决策;清理逻辑明确;结构精简且易于追踪。标签用于发现,属性用于配置,并由单一所有者负责附加和移除时的清理。

详情:references/full.md

评论

支持 Markdown