SuperAPI AI 工具集

spacetimedb-best-practices

编程与开发

查看项目

更新于 10-15 22:38

技能介绍

用途:为 SpacetimeDB 应用开发提供最佳实践指南,覆盖 TypeScript 服务端模块与客户端 SDK(含 React 集成),适用于编写、审查或重构代码时参考,也可用于指导自动化重构与代码生成。适用包为 spacetimedb(v1.4.0+)。

主要能力:按影响优先级分为 8 类规则。1)模块设计(CRITICAL,前缀 module-):单一职责、生命周期钩子、错误处理、类型导出;2)表结构与索引(CRITICAL,table-):主键策略、索引、表关系、列类型;3)Reducer 模式(HIGH,reducer-):原子性、输入校验、授权、批量操作;4)订阅优化(HIGH,subscription-):选择性订阅、过滤器、清理、批量建立;5)客户端状态管理(MEDIUM-HIGH,client-):连接生命周期、乐观更新、错误恢复、身份令牌;6)React 集成(MEDIUM,react-):订阅钩子、useTable、reducer 调用、连接状态展示;7)TypeScript 模式(MEDIUM,ts-):生成类型、严格模式、可辨识联合、类型守卫;8)实时同步(LOW-MEDIUM,sync-):冲突解决、离线支持、防抖、在线状态。

使用方式:按需阅读 rules/ 下的单条规则文件(如 rules/module-single-responsibility.md、rules/table-primary-keys.md、rules/_sections.md),每条含原因说明、错误示例、正确示例与补充参考;完整规则见 AGENTS.md。服务端使用 spacetimedb、table、t、ReducerContext 定义表与 reducer,并可用 spacetimedb.init、clientConnected、clientDisconnected 生命周期钩子;客户端用 DbConnection.builder() 建立连接、conn.subscription([...]) 订阅、conn.reducers.* 调用 reducer、conn.db.* 访问表;React 侧使用 useTable<DbConnection, Type>() 与 where、eq 等。

限制:资料未提供安装命令、具体版本兼容范围、性能数据或收费信息;规则细节需查阅对应规则文件。