spacetimedb-cli
SpacetimeDB CLI reference for initializing projects, building modules, publishing databases, querying data, and managing servers
How do I install this agent skill?
npx skills add https://github.com/clockworklabs/spacetimedb --skill spacetimedb-cliIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a reference guide for the SpacetimeDB CLI tool. It provides documentation and examples for standard development workflows, including project initialization, building modules, and managing database instances. No security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1 file scanned · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
SpacetimeDB CLI
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.
Quick Reference
Project Initialization & Development
# 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|unrealcpp --out-dir ./bindings --module-path ./server
Publishing & Deployment
# 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 --clear-database --yes
Database Interaction
# SQL queries
spacetime sql my-database "SELECT * FROM users"
spacetime sql my-database --interactive # REPL mode
# Call reducers
spacetime call my-database my_reducer '{"arg1": "value", "arg2": 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
Database Management
# List databases
spacetime list
# Delete database
spacetime delete my-database
# Rename database
spacetime rename <database-identity> --to new-name
Server Management
# 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
Authentication
# Login (opens browser)
spacetime login
# Login with token
spacetime login --token <token>
# Show login status
spacetime login show
# Logout
spacetime logout
Default Servers
| Name | URL | Description |
|---|---|---|
maincloud | https://maincloud.spacetimedb.com | Production cloud (default) |
local | http://127.0.0.1:3000 | Local development server |
Common Workflows
New Project Setup
# 1. Login
spacetime login
# 2. Create project
spacetime init my-game --lang rust
cd my-game
# 3. Start dev mode (auto-rebuilds and publishes)
spacetime dev
Local Development
# Start local server (in separate terminal)
spacetime start
# Publish to local
spacetime publish my-db --server local --clear-database --yes
# Query local database
spacetime sql my-db --server local "SELECT * FROM players"
Generate Client Bindings
# After building module
spacetime build
spacetime generate --lang typescript --out-dir ./client/src/bindings --module-path .
# Or use dev mode which auto-generates
spacetime dev --client-lang typescript --module-bindings-path ./client/src/bindings
Common Flags
| 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 |
Troubleshooting
"Not logged in"
spacetime login
# Or use --anonymous for public operations
"Server not responding"
spacetime server ping <server>
# For local: ensure spacetime start is running
"Schema conflict"
# Clear data and republish
spacetime publish my-db --clear-database --yes
"Build failed"
# Check Rust/C# toolchain
rustup show
# For Rust modules, ensure wasm32-unknown-unknown target
rustup target add wasm32-unknown-unknown
Module Languages
Server-side (modules): Rust, C#, TypeScript, C++
Client SDKs: TypeScript, C#, Rust, Python, Unreal Engine
CLI generate targets: TypeScript, C#, Rust, Unreal C++
Notes
- Many commands are marked UNSTABLE and may change
- Default server is
maincloudunless configured otherwise - Use
--yesflag in scripts to avoid interactive prompts - Dev mode watches files and auto-rebuilds on changes
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/clockworklabs/spacetimedb/spacetimedb-cli">View spacetimedb-cli on skillZs</a>