concepts
Understand SpacetimeDB architecture and core concepts. Use when learning SpacetimeDB or making architectural decisions.
SpacetimeDB CLI reference for initializing projects, building modules, publishing databases, querying data, and managing servers
$ npx -y skills add clockworklabs/spacetimedb --skill cli --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cliContext preview
The summary Claude sees to decide when to auto-load this skill.
SpacetimeDB CLI reference for initializing projects, building modules, publishing databases, querying data, and managing servers
name: cli description: SpacetimeDB CLI reference for initializing projects, building modules, publishing databases, querying data, and managing servers license: Apache-2.0 metadata: author: clockworklabs version: "2.0" role: shared language: all cursor_globs: "**/*" cursor_always_apply: false triggers: - spacetime init - spacetime build - spacetime publish - spacetime dev - spacetime sql - spacetime call - spacetime logs - spacetime server - spacetime login - spacetime generate - how do I use the CLI - CLI command
Use this skill when the user needs help with the `spacetime` CLI tool - initializing projects, building modules, publishing databases, querying data, managing servers, or troubleshooting CLI issues.
# Initialize new project spacetime init my-project --lang rust|csharp|typescript|cpp spacetime init my-project --template <template-id> # Build module spacetime build # release build spacetime build --debug # faster iteration, slower runtime # Dev mode (auto-rebuild, auto-publish, generates bindings) spacetime dev spacetime dev --client-lang typescript --module-bindings-path ./client/src/module_bindings # Generate client bindings spacetime generate --lang typescript|csharp|rust --out-dir ./bindings --module-path ./server spacetime generate --lang unrealcpp --uproject-dir ./MyGame --module-path ./server --unreal-module-name MyGame
# Publish to Maincloud (default) spacetime publish my-database --yes # Publish to local server spacetime publish my-database --server local --yes # Clear database and republish spacetime publish my-database --delete-data=always --yes
# SQL queries spacetime sql my-database "SELECT * FROM users" spacetime sql my-database --interactive # REPL mode # Call reducers (each argument is a separate positional arg) spacetime call my-database my_reducer '"value"' '123' # Subscribe to changes spacetime subscribe my-database "SELECT * FROM users" --num-updates 10 # View logs spacetime logs my-database -f # follow logs spacetime logs my-database -n 100 # up to 100 log lines # Describe schema spacetime describe my-database --json spacetime describe my-database table users --json spacetime describe my-database reducer my_reducer --json
# List databases spacetime list # Delete database spacetime delete my-database # Rename database spacetime rename <database-identity> --to new-name
# List configured servers spacetime server list # Add server spacetime server add local --url http://localhost:3000 --default spacetime server add myserver --url https://my-spacetime.example.com # Set default server spacetime server set-default local # Test connectivity spacetime server ping local # Start local instance spacetime start # Clear local data spacetime server clear
# Login (opens browser) spacetime login # Login with token spacetime login --token <token> # Show login status spacetime login show # Logout spacetime logout
| Name | URL | Description | |------|-----|-------------| | `maincloud` | `https://maincloud.spacetimedb.com` | Production cloud (default) | | `local` | `http://127.0.0.1:3000` | Local development server |
| Flag | Short | Description | |------|-------|-------------| | `--server` | `-s` | Target server (nickname, hostname, or URL) | | `--yes` | `-y` | Non-interactive mode (skip confirmations) | | `--anonymous` | | Use anonymous identity | | `--module-path` | `-p` | Path to module project | | `--no-config` | | Ignore `spacetime.json` project configuration |
spacetime login # Or use --anonymous for public operations
spacetime server ping <server> # For local: ensure spacetime start is running
# Clear data and republish spacetime publish my-db --delete-data=always --yes
# Check Rust/C# toolchain rustup show # For Rust modules, ensure wasm32-unknown-unknown target rustup target add wasm32-unknown-unknown
**Server-side (modules):** Rust, C#, TypeScript, C++ **Client SDKs:** TypeScript, C#, Rust, Unreal Engine **CLI `generate` targets:** TypeScript, C#, Rust, Unreal C++
Repo: clockworklabs/spacetimedb
Understand SpacetimeDB architecture and core concepts. Use when learning SpacetimeDB or making architectural decisions.
SpacetimeDB C++ server module SDK reference. Use when writing tables, reducers, or module logic in C++.
SpacetimeDB C#/.NET client SDK reference. Use when building C# clients that connect to SpacetimeDB (console, desktop, or any .NET app).
SpacetimeDB C# server module SDK reference. Use when writing tables, reducers, or module logic in C#.
Operate a running SpacetimeDB database through MCP tools rather than the CLI - list databases, read schemas, run SQL, and call reducers. Use when the client…
SpacetimeDB Rust server module SDK reference. Use when writing tables, reducers, or module logic in Rust.