关于 spacetimedb
这是面向 SpacetimeDB 开发者的技能集合入口;SpacetimeDB 将数据库、服务端逻辑和实时客户端同步结合为后端。路由器按任务引导至模块、客户端、运维和参考主题的专门技能。
主要功能
- 01将任务分流至专门技能
- 02涵盖数据库模块与架构
- 03提供 reducers、procedures 和 views 指引
- 04涉及客户端 SDK 与生成的绑定
- 05提供部署、CLI 和 SQL 指引
适用场景
- 01查找 SpacetimeDB 任务指引
- 02开发模块的表与逻辑
- 03使用生成的绑定构建客户端
- 04查询部署或 CLI 操作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ danmossa/ spacetimedb-skills --skill spacetimedb安装后在 Claude Code 中输入/spacetimedb确认已加载。
附带文件references/index.md
详细介绍
SpacetimeDB 技能集合的入口。SpacetimeDB 将数据库、服务端应用逻辑和实时客户端同步整合到一个可编程后端中。
如何使用此技能
- 在下方的路由表中找到与任务最匹配的专用技能。
- 加载该技能的
SKILL.md并遵循其中的指导。 - 仅打开与当前子任务相关的 Markdown 文件。
- 如果没有合适的子技能,请先在最可能相关的技能中搜索已复制的参考资料,再查阅外部文档。
默认情况下不要加载所有 SpacetimeDB 参考文件。先查看专门技能正文,只有在正文说明需要详细信息或任务要求准确的 API 语法时,才加载参考文件。
核心模型
- 数据库是模块的一个已发布实例;模块定义表、reducer、procedure、视图和公开的客户端接口。
- 表用于存储状态。客户端可以订阅公开表;私有表仅限服务端使用,除非通过视图或 reducer 公开。
- Reducer 是用于更改状态的事务入口点。执行失败的 reducer 会回滚其对表的变更。
- Procedure 可以返回值并执行 HTTP 请求等外部操作;需要写入数据库时,必须显式开启事务。
- 视图公开派生的只读数据。如果结果与调用方无关,优先使用匿名视图。
- 客户端使用生成的绑定,通过
DbConnection连接,订阅行,读取本地缓存,并调用 reducer 或 procedure。
有关每项技能的详细说明和触发关键词,请参阅 references/index.md。
技能路由表
基础知识
| 技能 | 适用情形... |
|---|---|
| spacetimedb-quickstarts | 安装 SpacetimeDB、了解架构、启动新应用或选择框架快速入门指南时。 |
| spacetimedb-cli | 运行 spacetime 命令:init、build、publish、generate、call、sql、logs、dev,以及配置服务端或独立配置时。 |
| spacetimedb-databases | 创建、开发、发布、迁移或运维 SpacetimeDB 数据库模块时。 |
| spacetimedb-upgrade | 将项目从 SpacetimeDB 1.0 迁移到 2.0,或修复受这些破坏性变更影响的代码时。 |
模块架构与逻辑
| 技能 | 加载时机…… |
|---|---|
| spacetimedb-tables | 定义表、列、索引、约束、主键、事件表、调度表、访问权限或表性能时。 |
| spacetimedb-reducers | 编写 reducer、生命周期 reducer、reducer 上下文代码、计划任务 reducer、表变更或 reducer 错误处理时。 |
| spacetimedb-procedures | 编写过程、从过程中调用 reducer、发起 HTTP 请求或返回过程值时。 |
| spacetimedb-views | 定义视图、视图参数、基于 SQL 的投影和面向客户端的派生数据时。 |
| spacetimedb-auth | 处理身份验证、SpacetimeAuth、Auth0、Clerk、身份验证声明、授权、行级安全或拒绝客户端连接时。 |
客户端
| 技能 | 加载时机…… |
|---|---|
| spacetimedb-clients | 涉及客户端 SDK 的通用概念:代码生成、连接生命周期、本地缓存、订阅、reducer 调用和更新语义时。 |
| spacetimedb-client-typescript | 涉及 TypeScript、JavaScript、React、Vue、Svelte、浏览器、Node、Bun、Deno、Next.js、Nuxt、Remix、TanStack、Angular 或生成的 TS 绑定时。 |
| spacetimedb-client-rust | 使用 Rust 客户端 SDK、Rust 生成的绑定、Rust 连接代码、回调、订阅和 reducer 调用时。 |
| spacetimedb-client-c-sharp | 使用 C# 或 Unity 客户端 SDK、生成的 C# 绑定、回调、订阅、reducer 调用和 Unity 集成时。 |
| spacetimedb-client-unreal | 使用 Unreal Engine 客户端 SDK、Unreal 生成的绑定、连接轮询、订阅和 reducer 时。 |
运维与参考
| 技能 | 在……时加载 |
|---|---|
| spacetimedb-deploy | 部署到 Maincloud、自托管、独立服务设置、密钥轮换、日志记录或 PGWire。 |
| spacetimedb-http | 使用 HTTP 端点处理身份、数据库操作、reducer 调用、SQL 或授权标头。 |
| spacetimedb-sql | 编写 SpacetimeDB SQL,用于订阅、CLI 查询、HTTP SQL、DML、字面量、标识符或 SQL 性能。 |
| spacetimedb-serialization | BSATN、SATS JSON、AlgebraicType/AlgebraicValue 编码、WebAssembly ABI 或底层模块主机调用。 |
| spacetimedb-tutorials | 跟随或改编聊天应用、Unity Blackhol.io 或 Unreal Blackhol.io 教程。 |
后备方案
如果任务涉及路由器未涵盖的 SpacetimeDB API,请在最可能相关技能的 references/ 目录中搜索复制的参考文件,然后在此仓库可用时检查 src/raw-data-output。
评论
支持 Markdown