Getting Started
Most Convex concepts have a direct SpacetimeDB counterpart: mutations are reducers, actions are procedures, queries are views and subscriptions, HTTP actions are HTTP handlers, scheduled functions are schedule tables, and components are modules that you mount in your own module as submodules. Migrating from Convex maps the rest and walks through a migration.
Set up your coding agent
To have a coding agent such as Claude Code, Codex, or Cursor set itself up to build with Spacetime, paste this prompt into it:
Set yourself up to build with Spacetime (SpacetimeDB).
1. Read https://spacetimedb.com/agent-setup.md carefully, in full rather than a summary, and follow it. Run the commands yourself, and ask me only for approvals, logins, or restarts.
2. Read https://spacetimedb.com/docs/intro/misconceptions/ carefully, in full. Spacetime has changed a lot, so what you remember about it, and older articles online, may be out of date. When you describe Spacetime or compare it with other backends, go by the current docs.
3. Tell me what you installed, what you verified, and anything I still need to do.
The agent installs the CLI if it's missing, adds the SpacetimeDB skills and MCP server, and reports what it verified.
Installation
You can get started by first installing the spacetime CLI tool. The spacetime CLI tool makes it extremely easy to manage your databases and deployments.
Log in to SpacetimeDB
SpacetimeDB authenticates users using a GitHub or Google login, to prevent unauthorized access (e.g. somebody else publishing over your module). Log in to SpacetimeDB using:
spacetime login
This will open a browser and ask you to log in via GitHub or Google. If you forget this step, any commands that require login (like spacetime publish) will ask you to log in when you run them.
Quickstart Guides
You are now ready to start developing SpacetimeDB modules. Choose your favorite language and follow one of our quickstart guides to get started building your first app with SpacetimeDB.
React
Get a SpacetimeDB React app running in under 5 minutes.
Next.js
Get a SpacetimeDB Next.js app running in under 5 minutes.
Vue
Get a SpacetimeDB Vue app running in under 5 minutes.
Nuxt
Get a SpacetimeDB Nuxt app running in under 5 minutes.
Svelte
Get a SpacetimeDB Svelte app running in under 5 minutes.
Angular
Get a SpacetimeDB Angular app running in under 5 minutes.
TanStack Start
Get a SpacetimeDB app with TanStack Start running in under 5 minutes.
Remix
Get a SpacetimeDB Remix app running in under 5 minutes.
Browser
Get a SpacetimeDB app running in the browser with inline JavaScript.
Bun
Get a SpacetimeDB Bun app running in under 5 minutes.
Deno
Get a SpacetimeDB Deno app running in under 5 minutes.
Node.js
Get a SpacetimeDB Node.js app running in under 5 minutes.
TypeScript
Get a SpacetimeDB TypeScript app running in under 5 minutes.
Rust
Get a SpacetimeDB Rust app running in under 5 minutes.
C#
Get a SpacetimeDB C# app running in under 5 minutes.
C++
Get a SpacetimeDB C++ app running in under 5 minutes.
Running SpacetimeDB Locally
To develop SpacetimeDB databases locally, you will need to run the Standalone version of the server.
After installing the SpacetimeDB CLI, run the start command:
spacetime start
The server listens on port 3000 by default, customized via --listen-addr.
💡 Standalone mode will run in the foreground. ⚠️ SSL is not supported in standalone mode.
Next Steps: Learn SpacetimeDB
After completing a quickstart guide, explore these core concepts to deepen your understanding:
Core Concepts
- Databases - Understand database lifecycle, publishing, and management
- Tables - Define your data structure with tables, columns, and indexes
- Functions - Write reducers, procedures, and views to implement your server logic
- Subscriptions - Enable real-time data synchronization with clients
- Client SDKs - Connect your client applications to SpacetimeDB