What problem does it solve?
Building web clients that connect to SpacetimeDB requires knowing the correct patterns for connection setup, table subscriptions, reducer calls, and React hooks, and mistakes like mutating readonly rows or rendering bigint values cause confusing failures.
Core Features & Use Cases
- React Integration: Set up SpacetimeDBProvider, useSpacetimeDB, and useTable hooks with typed query builders and row callbacks for insert, delete, and update events.
- Vanilla TypeScript Clients: Build non-React connections using DbConnection.builder with onConnect handlers and subscription builders.
- Gotcha Prevention: Handle readonly useTable rows by copying before sorting, and wrap bigint values from u64/i64 columns with Number() or String() for JSX rendering.
- Use Case: You are building a React dashboard backed by a SpacetimeDB module and need to subscribe to filtered tables, react to row changes, and call reducers with object syntax.
Quick Start
Use the typescript-client skill to scaffold a React app that connects to my SpacetimeDB module and subscribes to its tables.