spacetimedb について
SpacetimeDBを扱う開発者向けのスキル集の入口です。データベース、サーバー側ロジック、リアルタイムのクライアント同期を組み合わせるSpacetimeDBについて、モジュール、クライアント、運用、リファレンスの各スキルへ案内します。
主な機能
- 01タスクを専門スキルへ振り分け
- 02データベースモジュールとスキーマを網羅
- 03reducers、procedures、viewsのガイダンス
- 04クライアントSDKと生成バインディングの話題
- 05デプロイ、CLI、SQLのガイダンス
活用シーン
- 01SpacetimeDBの作業に合うガイダンスを探す
- 02モジュールのテーブルとロジックを開発
- 03生成バインディングを使ってクライアントを構築
- 04デプロイやCLIの手順を調べる
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ danmossa/ spacetimedb-skills --skill spacetimedbインストール後、Claude Code で/spacetimedbを入力して読み込まれたか確認します。
同梱ファイルreferences/index.md
詳細
SpacetimeDB スキルコレクションのエントリーポイントです。SpacetimeDB は、データベース、サーバーサイドのアプリケーションロジック、リアルタイムのクライアント同期を、プログラム可能なバックエンドに統合します。
このスキルの使い方
- 以下のルーターから、タスクに最も適した専門スキルを見つけます。
- そのスキルの
SKILL.mdを読み込み、ガイダンスに従います。 - 現在のサブタスクに該当する、参照先の Markdown ファイルだけを開きます。
- 該当するサブスキルがない場合は、外部ドキュメントを参照する前に、最も可能性の高いスキルにコピーされたリファレンスを検索します。
デフォルトでは、SpacetimeDB のリファレンスファイルをすべて読み込まないでください。まず該当するスキル本文を読み、本文に詳細が必要と記載されている場合、または正確な API 構文が必要な場合にのみリファレンスを読み込みます。
コアモデル
- データベースは、公開済みモジュールのインスタンスです。モジュールは、テーブル、リデューサー、プロシージャ、ビュー、公開クライアントサーフェスを定義します。
- テーブルには状態が保存されます。公開テーブルはクライアントがサブスクライブできます。非公開テーブルは、ビューまたはリデューサーを通じて公開されない限り、サーバー専用です。
- リデューサーは、状態を変更するためのトランザクションエントリーポイントです。失敗したリデューサーは、テーブルに対する変更をロールバックします。
- プロシージャは値を返し、HTTP リクエストなどの外部処理を実行できます。データベースへの書き込みが必要な場合は、トランザクションを明示的に開始します。
- ビューは、派生した読み取り専用データを公開します。結果が呼び出し元に依存しない場合は、匿名ビューを優先します。
- クライアントは生成されたバインディングを使い、
DbConnectionで接続し、行をサブスクライブしてローカルキャッシュを読み取り、リデューサーまたはプロシージャを呼び出します。
各スキルの詳しい説明とトリガーキーワードについては、references/index.md を参照してください。
スキルルーター
基礎
| スキル | 次の場合に読み込みます |
|---|---|
| spacetimedb-quickstarts | SpacetimeDB のインストール、アーキテクチャの理解、新しいアプリの作成、またはフレームワークのクイックスタートの選択を行う場合。 |
| spacetimedb-cli | spacetime コマンド(init、build、publish、generate、call、sql、logs、dev)、サーバー構成、またはスタンドアロン構成を扱う場合。 |
| spacetimedb-databases | SpacetimeDB データベースモジュールの作成、開発、公開、移行、または運用を行う場合。 |
| spacetimedb-upgrade | プロジェクトを SpacetimeDB 1.0 から 2.0 に移行する場合、または破壊的変更の影響を受けたコードを修正する場合。 |
モジュールのスキーマとロジック
| スキル | 次の場合に読み込みます… |
|---|---|
| spacetimedb-tables | テーブル、列、インデックス、制約、主キー、イベントテーブル、スケジュールテーブル、アクセス権限、またはテーブルのパフォーマンスを定義する場合。 |
| spacetimedb-reducers | リデューサー、ライフサイクルリデューサー、リデューサーのコンテキストコード、スケジュールされたリデューサー、テーブルの変更、またはリデューサーのエラー処理を記述する場合。 |
| spacetimedb-procedures | プロシージャを記述する場合、プロシージャからリデューサーを呼び出す場合、HTTP リクエストを行う場合、またはプロシージャの値を返す場合。 |
| spacetimedb-views | ビュー、ビューの引数、SQL ベースのプロジェクション、およびクライアント向けの派生データを定義する場合。 |
| spacetimedb-auth | 認証、SpacetimeAuth、Auth0、Clerk、認証クレーム、認可、行レベルのセキュリティ、またはクライアント接続の拒否に関する場合。 |
クライアント
| スキル | 次の場合に読み込みます… |
|---|---|
| spacetimedb-clients | 一般的なクライアント SDK の概念:コード生成、接続のライフサイクル、ローカルキャッシュ、サブスクリプション、リデューサーの呼び出し、更新のセマンティクス。 |
| spacetimedb-client-typescript | TypeScript、JavaScript、React、Vue、Svelte、ブラウザー、Node、Bun、Deno、Next.js、Nuxt、Remix、TanStack、Angular、または生成された TS バインディングを使用する場合。 |
| spacetimedb-client-rust | Rust クライアント SDK の使用、Rust の生成済みバインディング、Rust の接続コード、コールバック、サブスクリプション、リデューサーの呼び出しに関する場合。 |
| spacetimedb-client-c-sharp | C# または Unity クライアント SDK の使用、生成された C# バインディング、コールバック、サブスクリプション、リデューサーの呼び出し、Unity との統合に関する場合。 |
| spacetimedb-client-unreal | Unreal Engine クライアント SDK の使用、Unreal の生成済みバインディング、接続のティッキング、サブスクリプション、リデューサーに関する場合。 |
運用とリファレンス
| スキル | 次の場合に読み込みます... |
|---|---|
| spacetimedb-deploy | Maincloud へのデプロイ、セルフホスト、スタンドアロンサービスのセットアップ、キーのローテーション、ロギング、または PGWire を扱う場合。 |
| spacetimedb-http | ID、データベース操作、リデューサー呼び出し、SQL、または認証ヘッダーに HTTP エンドポイントを使用する場合。 |
| spacetimedb-sql | サブスクリプション、CLI クエリ、HTTP SQL、DML、リテラル、識別子、または SQL のパフォーマンスに関する SpacetimeDB SQL を記述する場合。 |
| spacetimedb-serialization | BSATN、SATS JSON、AlgebraicType/AlgebraicValue のエンコーディング、WebAssembly ABI、または低レベルのモジュールホスト呼び出しを扱う場合。 |
| spacetimedb-tutorials | チャットアプリ、Unity Blackhol.io、または Unreal Blackhol.io のチュートリアルに従う、またはそれらを応用する場合。 |
フォールバック
ルーターでカバーされていない SpacetimeDB API がタスクで参照されている場合は、最も関連性の高いスキルの references/ ディレクトリにあるコピー済みのリファレンスファイルを検索し、このリポジトリが利用可能であれば src/raw-data-output を調べてください。
コメント
Markdown 対応