mcpField
S
spacetimedb

spacetimedb

github.com/danmossaデータ・データベース2171 回インストール19 週間前に更新
リポジトリ

spacetimedb について

SpacetimeDBを扱う開発者向けのスキル集の入口です。データベース、サーバー側ロジック、リアルタイムのクライアント同期を組み合わせるSpacetimeDBについて、モジュール、クライアント、運用、リファレンスの各スキルへ案内します。

主な機能

  1. 01タスクを専門スキルへ振り分け
  2. 02データベースモジュールとスキーマを網羅
  3. 03reducers、procedures、viewsのガイダンス
  4. 04クライアントSDKと生成バインディングの話題
  5. 05デプロイ、CLI、SQLのガイダンス

活用シーン

  1. 01SpacetimeDBの作業に合うガイダンスを探す
  2. 02モジュールのテーブルとロジックを開発
  3. 03生成バインディングを使ってクライアントを構築
  4. 04デプロイやCLIの手順を調べる

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb

インストール後、Claude Code で/spacetimedbを入力して読み込まれたか確認します。

同梱ファイルreferences/index.md

詳細

SpacetimeDB スキルコレクションのエントリーポイントです。SpacetimeDB は、データベース、サーバーサイドのアプリケーションロジック、リアルタイムのクライアント同期を、プログラム可能なバックエンドに統合します。

このスキルの使い方

  1. 以下のルーターから、タスクに最も適した専門スキルを見つけます。
  2. そのスキルの SKILL.md を読み込み、ガイダンスに従います。
  3. 現在のサブタスクに該当する、参照先の Markdown ファイルだけを開きます。
  4. 該当するサブスキルがない場合は、外部ドキュメントを参照する前に、最も可能性の高いスキルにコピーされたリファレンスを検索します。

デフォルトでは、SpacetimeDB のリファレンスファイルをすべて読み込まないでください。まず該当するスキル本文を読み、本文に詳細が必要と記載されている場合、または正確な API 構文が必要な場合にのみリファレンスを読み込みます。

コアモデル

  • データベースは、公開済みモジュールのインスタンスです。モジュールは、テーブル、リデューサー、プロシージャ、ビュー、公開クライアントサーフェスを定義します。
  • テーブルには状態が保存されます。公開テーブルはクライアントがサブスクライブできます。非公開テーブルは、ビューまたはリデューサーを通じて公開されない限り、サーバー専用です。
  • リデューサーは、状態を変更するためのトランザクションエントリーポイントです。失敗したリデューサーは、テーブルに対する変更をロールバックします。
  • プロシージャは値を返し、HTTP リクエストなどの外部処理を実行できます。データベースへの書き込みが必要な場合は、トランザクションを明示的に開始します。
  • ビューは、派生した読み取り専用データを公開します。結果が呼び出し元に依存しない場合は、匿名ビューを優先します。
  • クライアントは生成されたバインディングを使い、DbConnection で接続し、行をサブスクライブしてローカルキャッシュを読み取り、リデューサーまたはプロシージャを呼び出します。

各スキルの詳しい説明とトリガーキーワードについては、references/index.md を参照してください。

スキルルーター

基礎
スキル次の場合に読み込みます
spacetimedb-quickstartsSpacetimeDB のインストール、アーキテクチャの理解、新しいアプリの作成、またはフレームワークのクイックスタートの選択を行う場合。
spacetimedb-clispacetime コマンド(init、build、publish、generate、call、sql、logs、dev)、サーバー構成、またはスタンドアロン構成を扱う場合。
spacetimedb-databasesSpacetimeDB データベースモジュールの作成、開発、公開、移行、または運用を行う場合。
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-typescriptTypeScript、JavaScript、React、Vue、Svelte、ブラウザー、Node、Bun、Deno、Next.js、Nuxt、Remix、TanStack、Angular、または生成された TS バインディングを使用する場合。
spacetimedb-client-rustRust クライアント SDK の使用、Rust の生成済みバインディング、Rust の接続コード、コールバック、サブスクリプション、リデューサーの呼び出しに関する場合。
spacetimedb-client-c-sharpC# または Unity クライアント SDK の使用、生成された C# バインディング、コールバック、サブスクリプション、リデューサーの呼び出し、Unity との統合に関する場合。
spacetimedb-client-unrealUnreal Engine クライアント SDK の使用、Unreal の生成済みバインディング、接続のティッキング、サブスクリプション、リデューサーに関する場合。
運用とリファレンス
スキル次の場合に読み込みます...
spacetimedb-deployMaincloud へのデプロイ、セルフホスト、スタンドアロンサービスのセットアップ、キーのローテーション、ロギング、または PGWire を扱う場合。
spacetimedb-httpID、データベース操作、リデューサー呼び出し、SQL、または認証ヘッダーに HTTP エンドポイントを使用する場合。
spacetimedb-sqlサブスクリプション、CLI クエリ、HTTP SQL、DML、リテラル、識別子、または SQL のパフォーマンスに関する SpacetimeDB SQL を記述する場合。
spacetimedb-serializationBSATN、SATS JSON、AlgebraicType/AlgebraicValue のエンコーディング、WebAssembly ABI、または低レベルのモジュールホスト呼び出しを扱う場合。
spacetimedb-tutorialsチャットアプリ、Unity Blackhol.io、または Unreal Blackhol.io のチュートリアルに従う、またはそれらを応用する場合。

フォールバック

ルーターでカバーされていない SpacetimeDB API がタスクで参照されている場合は、最も関連性の高いスキルの references/ ディレクトリにあるコピー済みのリファレンスファイルを検索し、このリポジトリが利用可能であれば src/raw-data-output を調べてください。

コメント