mcpField
S
spacetimedb

spacetimedb

github.com/danmossaData & databases2171 installsUpdated 19w ago
Repository

About spacetimedb

An entry-point skill collection for developers working with SpacetimeDB, a backend combining a database, server-side logic, and realtime client sync. Its router directs tasks to focused skills for modules, clients, operations, and reference topics.

Key features

  1. 01Routes tasks to specialized skills
  2. 02Covers database modules and schema
  3. 03Guidance for reducers, procedures, and views
  4. 04Client SDK and generated binding topics
  5. 05Deployment, CLI, and SQL guidance

Use cases

  1. 01Find guidance for a SpacetimeDB task
  2. 02Develop a module's tables and logic
  3. 03Build clients using generated bindings
  4. 04Look up deployment or CLI procedures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb

After installing, type/spacetimedbin Claude Code to confirm it loaded.

Bundled filesreferences/index.md

Details

From the project README

Entry point for the SpacetimeDB skill collection. SpacetimeDB combines a database, server-side application logic, and realtime client sync into one programmable backend.

How to use this skill

  1. Find the specialized skill in the router below that best matches the task.
  2. Load that skill's SKILL.md and follow its guidance.
  3. Open only the referenced Markdown files that match the current subtask.
  4. If no sub-skill fits, search copied references in the most likely skill before falling back to external docs.

Do not load every SpacetimeDB reference file by default. Start with the focused skill body, then load a reference only when the body says the details are needed or the task requires exact API syntax.

Core model

  • A database is a published instance of a module; the module defines tables, reducers, procedures, views, and public client surface.
  • Tables store state. Public tables can be subscribed to by clients; private tables are server-only unless exposed through views or reducers.
  • Reducers are transactional entrypoints for state changes. Failed reducers roll back their table mutations.
  • Procedures can return values and perform external work such as HTTP requests; open transactions explicitly when they need database writes.
  • Views expose derived, read-only data. Prefer anonymous views when the result does not depend on the caller.
  • Clients use generated bindings, connect with DbConnection, subscribe to rows, read the local cache, and invoke reducers or procedures.

For longer descriptions and trigger keywords for every skill, see references/index.md.

Skill router

Foundations
SkillLoad when...
spacetimedb-quickstartsInstalling SpacetimeDB, understanding the architecture, starting a new app, or choosing a framework quickstart.
spacetimedb-cliRunning spacetime commands: init, build, publish, generate, call, sql, logs, dev, server configuration, or standalone config.
spacetimedb-databasesCreating, developing, publishing, migrating, or operating SpacetimeDB database modules.
spacetimedb-upgradeMigrating projects from SpacetimeDB 1.0 to 2.0 or fixing code affected by those breaking changes.
Module Schema And Logic
SkillLoad when...
spacetimedb-tablesDefining tables, columns, indexes, constraints, primary keys, event tables, schedule tables, access permissions, or table performance.
spacetimedb-reducersWriting reducers, lifecycle reducers, reducer context code, scheduled reducers, table mutations, or reducer error handling.
spacetimedb-proceduresWriting procedures, calling reducers from procedures, making HTTP requests, or returning procedure values.
spacetimedb-viewsDefining views, view arguments, SQL-backed projections, and client-facing derived data.
spacetimedb-authAuthentication, SpacetimeAuth, Auth0, Clerk, auth claims, authorization, row-level security, or rejecting client connections.
Clients
SkillLoad when...
spacetimedb-clientsGeneral client SDK concepts: codegen, connection lifecycle, local cache, subscriptions, reducer invocation, and update semantics.
spacetimedb-client-typescriptTypeScript, JavaScript, React, Vue, Svelte, browser, Node, Bun, Deno, Next.js, Nuxt, Remix, TanStack, Angular, or generated TS bindings.
spacetimedb-client-rustRust client SDK usage, Rust generated bindings, Rust connection code, callbacks, subscriptions, and reducer calls.
spacetimedb-client-c-sharpC# or Unity client SDK usage, generated C# bindings, callbacks, subscriptions, reducer calls, and Unity integration.
spacetimedb-client-unrealUnreal Engine client SDK usage, Unreal generated bindings, connection ticking, subscriptions, and reducers.
Operations And Reference
SkillLoad when...
spacetimedb-deployDeploying to Maincloud, self-hosting, standalone service setup, key rotation, logging, or PGWire.
spacetimedb-httpUsing HTTP endpoints for identity, database operations, reducer calls, SQL, or authorization headers.
spacetimedb-sqlWriting SpacetimeDB SQL for subscriptions, CLI queries, HTTP SQL, DML, literals, identifiers, or SQL performance.
spacetimedb-serializationBSATN, SATS JSON, AlgebraicType/AlgebraicValue encoding, WebAssembly ABI, or low-level module host calls.
spacetimedb-tutorialsFollowing or adapting chat app, Unity Blackhol.io, or Unreal Blackhol.io tutorials.

Fallback

If the task references a SpacetimeDB API not covered by the router, search the copied reference files in the most likely skill's references/ directory, then inspect src/raw-data-output if this repository is available.

Comments

Markdown supported