SuperAPI AI 工具集

spacetimedb-best-practices

编程与开发

查看项目

更新于 10-15 21:12

技能介绍

用途:该技能是 SpacetimeDB 应用开发指南,用于在编写、审查或重构 TypeScript 服务端模块及客户端 SDK 集成(含 React)时提供规范参考,服务于自动重构与代码生成。包名为 spacetimedb(v1.4.0 及以上)。

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

使用方式:参考各规则文件(如 rules/module-single-responsibility.md、rules/table-primary-keys.md、rules/_sections.md),每个文件含原因说明、错误与正确代码示例及补充参考。完整指南见 AGENTS.md。服务端通过 table() 定义表、spacetimedb.reducer() 定义 reducer、spacetimedb.init/clientConnected/clientDisconnected 提供生命周期钩子;客户端经 DbConnection.builder() 构建连接、conn.subscription() 订阅、conn.reducers.* 调用、conn.db.* 访问表;React 使用 useTable 与 where/eq。

适用场景:编写或审查 SpacetimeDB 服务端模块、设计表结构与索引、实现 reducer、配置客户端订阅与查询、React 集成、优化实时同步。

限制:资料未提供具体收费、价格、性能效果或平台支持范围;示例命令与代码需按原样保留,不应改动。