Community研究&データ分析github.com

24601/surreal-skills

SurrealKitによるスキーマ同期、ロールアウトマイグレーション、シーディング、SurrealDBアプリケーションの宣言的テスト。surreal-skillsコレクションの一部です。

surreal-skills とは?

このスキーマ管理スキルは、SurrealDBアプリケーション向けに設計されたツール「SurrealKit」の完全な機能を提供します。開発用の使い捨てデータベースと本番環境の間で、望ましい状態の.surqlファイルとしてスキーマを管理し、syncコマンドによる即時同期とrolloutコマンドによる段階的なロールアウトをサポートします。rollout機能では、計画、拡張フェーズの適用、契約フェーズの適用、ロールバック、リント、ステータス確認が可能で、変更のレビューと制御されたカットオーバーを実現します。また、宣言的テストスイートによるスキーマ、権限、APIのテストや、シーディングによる決定論的なフィクスチャデータの投入もサポートしています。環境変数はSURREALDB_*(またはフォールバックとしてDATABASE_*)を使用し、CI/CDパイプラインへの統合も容易です。スキルの詳細な運用ガイダンスは別のルールファイル(rules/surrealkit.md)に記述されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/skills/surrealkit

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

SurrealKit -- SurrealDBアプリケーションのスキーマ管理

SurrealKitは、SurrealDBアプリケーションのスキーマを、望ましい状態の.surqlファイルとして管理します。開発用の使い捨てデータベースと、共有または本番環境のロールアウトに対して別々のパスを提供します。

追跡されているアップストリームスナップショット: v0.6.3 プレリリース (7771b93ea563, 2026-05-13)。 v0.6.1 -> v0.6.3 パッチラインでは、ライブラリロックの修正、テンプレート変数、コメント除去のクリーンアップ、DROP ... IF EXISTS の処理、BUCKET、SEQUENCE、CONFIG に対する DEFINE のサポートが追加されました。

クイックスタート

# インストール
cargo binstall surrealkit
# または: cargo install surrealkit

# プロジェクト構造のスキャフォールディング
surrealkit init

# ローカル/使い捨てデータベースをローカルスキーマファイルに同期
surrealkit sync

# レビューされたロールアウトを生成して共有/本番環境に適用
surrealkit rollout plan --name add_customer_indexes
surrealkit rollout start 20260410120000__add_customer_indexes
surrealkit rollout complete 20260410120000__add_customer_indexes

主要コマンド

コマンド用途
surrealkit syncローカル、プレビュー、または使い捨てDBに対する望ましい状態の同期
surrealkit sync --watchファイル監視によるローカル開発ループ
surrealkit rollout baseline既存の共有DBにロールアウト追跡を確立
surrealkit rollout plan --name <名前>現在のスキーマ差分からレビュー用マニフェストを作成
surrealkit rollout start <ID>拡張フェーズを適用
surrealkit rollout complete <ID>カットオーバー後に契約/破壊フェーズを適用
surrealkit rollout rollback <ID>進行中のロールアウトをロールバック
surrealkit rollout lint <ID>DBを変更せずにロールアウトを検証
surrealkit rollout statusDBに保存されたロールアウト状態を検査
surrealkit seedシードデータを適用
surrealkit test宣言的スキーマ、権限、APIテストを実行

いつ使うべきか

  • データベースがすぐにローカルファイルを反映する必要がある場合は sync を使用します。
  • 変更にステージング、レビュー、ロールバック、または制御されたカットオーバーが必要な場合は rollout を使用します。
  • 決定論的なフィクスチャデータには seed を使用します。
  • CIで権限、スキーマ動作、API契約を検証するには test を使用します。

環境変数

SurrealKitは以下の変数を読み取ります:

  • SURREALDB_HOST (フォールバック: DATABASE_HOST)
  • SURREALDB_NAME (フォールバック: DATABASE_NAME)
  • SURREALDB_NAMESPACE (フォールバック: DATABASE_NAMESPACE)
  • SURREALDB_USER (フォールバック: DATABASE_USER)
  • SURREALDB_PASSWORD (フォールバック: DATABASE_PASSWORD)
  • SURREALDB_AUTH_LEVEL (フォールバック: DATABASE_AUTH_LEVEL)

テスト

database/tests/suites/*.toml 内の宣言的スイートは以下をサポートします:

  • sql_expect
  • permissions_matrix
  • schema_metadata
  • schema_behavior
  • api_request

例:

surrealkit test --fail-fast --json-out artifacts/surrealkit-tests.json

完全なドキュメント

完全な運用ガイダンスについては、メインのスキルルールを参照してください:

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

関連スキル