spacetimedb-typescript
spacetimedb-typescript — a Claude Code skill from douglance/spacetimedb
Features
- ✓TypeScript support for SpacetimeDB
- ✓High-performance spatial database for real-time multiplayer
- ✓Rust-based, with Docker and NuGet package support
- ✓Integrates with Discord and Twitter for community engagement
- ✓Explore the curated list on GitHub [spacetimedb](https://github.com/douglance/spacetimedb)
Installation Guide
spacetime CLI tool.Install instructions for supported platforms are outlined below.
The same install instructions can be found on our website at https://spacetimedb.com/install.
#### Install on macOS
Installing on macOS is as simple as running our install script. After that you can use the spacetime command to manage versions.
curl -sSf https://install.spacetimedb.com | sh#### Install on Linux
Installing on Linux is as simple as running our install script. After that you can use the spacetime command to manage versions.
curl -sSf https://install.spacetimedb.com | sh#### Install on Windows
Installing on Windows is as simple as pasting the snippet below into PowerShell. If you would like to use WSL instead, please follow the Linux install instructions.
iwr https://windows.spacetimedb.com -useb | iex#### Installing from Source
A quick note on installing from source: we recommend that you don't install from source unless there is a feature that is available in master that hasn't been released yet, otherwise follow the official installation instructions.
##### MacOS + Linux
Installing on macOS + Linux is pretty straightforward. First we are going to build all of the binaries that we need:
# Install rustup, you can skip this step if you have cargo and the wasm32-unknown-unknown target already installed.
curl https://sh.rustup.rs -sSf | sh
# Clone SpacetimeDB
git clone https://github.com/clockworklabs/SpacetimeDB
# Build and install the CLI
cd SpacetimeDB
cargo build --locked --release -p spacetimedb-standalone -p spacetimedb-update -p spacetimedb-cli
# Create directories
mkdir -p ~/.local/bin
export STDB_VERSION="$(./target/release/spacetimedb-cli --version | sed -n 's/.*spacetimedb tool version \([0-9.]*\);.*/\1/p')"
mkdir -p ~/.local/share/spacetime/bin/$STDB_VERSION
# Install the update binary
cp target/release/spacetimedb-update ~/.local/bin/spacetime
cp target/release/spacetimedb-cli ~/.local/share/spacetime/bin/$STDB_VERSION
cp target/release/spacetimedb-standalone ~/.local/share/spacetime/bin/$STDB_VERSIONAt this stage you'll need to add ~/.local/bin to your path if you haven't already.
# Please add the following line to your shell configuration and open a new shell session:
export PATH="$HOME/.local/bin:$PATH"Then finally set your SpacetimeDB version:
# Then, in a new shell, set the current version:
spacetime version use $STDB_VERSION
# If STDB_VERSION is not set anymore then you can use the following command to list your versions:
spacetime version listYou can verify that the correct version has been installed via spacetime --version.
##### Windows
Building on windows is a bit more complicated. You'll need a slightly different version of perl compared to what comes pre-bundled in most Windows terminals. We recommend Strawberry Perl. You may also need access to an openssl binary which actually comes pre-installed with Git for Windows. Also, you'll need to install rustup for Windows.
In a Git for Windows shell you should have something that looks like this:
$ which perl
/c/Strawberry/perl/bin/perl
$ which openssl
/mingw64/bin/openssl
$ which cargo
/c/Users/<user>/.cargo/bin/cargoIf that looks correct then you're ready to proceed!
# Clone SpacetimeDB
git clone https://github.com/clockworklabs/SpacetimeDB
# Build and install the CLI
cd SpacetimeDB
cargo build --locked --release -p spacetimedb-standalone -p spacetimedb-update -p spacetimedb-cli
# Create directories
$stdbDir = "$HOME\AppData\Local\SpacetimeDB"
$stdbVersion = & ".\target\release\spacetimedb-cli" --version | Select-String -Pattern 'spacetimedb tool version ([0-9.]+);' | ForEach-Object { $_.Matches.Groups[1].Value }
New-Item -ItemType Directory -Path "$stdbDir\bin\$stdbVersion" -Force | Out-Null
# Install the update binary
Copy-Item "target\release\spacetimedb-update.exe" "$stdbDir\spacetime.exe"
Copy-Item "target\release\spacetimedb-cli.exe" "$stdbDir\bin\$stdbVersion\"
Copy-Item "target\release\spacetimedb-standalone.exe" "$stdbDir\bin\$stdbVersion\"Now add the directory we just created to your path. We recommend adding it to the system path because then it will be available to all of your applications (including Unity3D). After you do this, restart your shell!
%USERPROFILE%\AppData\Local\SpacetimeDBThen finally, open a new shell and use the installed SpacetimeDB version:
spacetime version use $stdbVersion
# If stdbVersion is no longer set, list versions using the following command:
spacetime version listYou can verify that the correct version has been installed via spacetime --version.
If you're using Git for Windows you can follow these instructions instead:
# Clone SpacetimeDB
git clone https://github.com/clockworklabs/SpacetimeDB
# Build and install the CLI
cd SpacetimeDB
# Build the CLI binaries - this takes a while on windows so go grab a coffee :)
cargo build --locked --release -p spacetimedb-standalone -p spacetimedb-update -p spacetimedb-cli
# Create directories
export STDB_VERSION="$(./target/release/spacetimedb-cli --version | sed -n 's/.*spacetimedb tool version \([0-9.]*\);.*/\1/p')"
mkdir -p ~/AppData/Local/SpacetimeDB/bin/$STDB_VERSION
# Install the update binary
cp target/release/spacetimedb-update ~/AppData/Local/SpacetimeDB/spacetime
cp target/release/spacetimedb-cli ~/AppData/Local/SpacetimeDB/bin/$STDB_VERSION
cp target/release/spacetimedb-standalone ~/AppData/Local/SpacetimeDB/bin/$STDB_VERSION
# Now add the directory we just created to your path. We recommend adding it to the system path because then it will be available to all of your applications (including Unity3D). After you do this, restart your shell!
# %USERPROFILE%\AppData\Local\SpacetimeDB
# Set the current version
spacetime version use $STDB_VERSIONYou can verify that the correct version has been installed via spacetime --version.
#### Running with Docker
If you prefer to run Spacetime in a container, you can use the following command to start a new instance.
docker run --rm --pull always -p 3000:3000 clockworklabs/spacetime start