CommunityRecherche & Datenanalysegithub.com

24601/surreal-skills

SurrealKit Schema-Synchronisation, Rollout-Migrationen, Seeding und deklarative Tests für SurrealDB-Apps. Teil der surreal-skills-Sammlung.

Was ist surreal-skills?

Dieser Skill bietet SurrealKit, ein Tool für das Management von SurrealDB-Anwendungsschemata basierend auf gewünschten Zuständen (Desired State) in Form von `.surql`-Dateien. Es ist besonders nützlich für Entwicklerteams, die sowohl lokale Entwicklungsumgebungen als auch geteilte oder Produktionsdatenbanken verwalten müssen. SurrealKit unterstützt zwei Hauptarbeitsabläufe: `sync` für die sofortige Spiegelung lokaler Dateien auf die Datenbank und `rollout` für kontrollierte, überprüfbare Migrationen mit Plan, Rollback und Expansions-/Kontraktionsphasen. Zusätzlich bietet es Funktionen für das Seeding von Deterministik-Fixdaten und deklarative Tests, um Schemata, Berechtigungen und API-Verträge zu prüfen. Der Skill läuft als CLI-Tool (`surrealkit`), das über `cargo binstall` oder `cargo install` installiert wird. Er ist Teil der surreal-skills-Sammlung und nutzt Umgebungsvariablen zur Konfiguration der SurrealDB-Verbindung.

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

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

SurrealKit – Schemaverwaltung für SurrealDB-Apps

SurrealKit verwaltet SurrealDB-Anwendungsschemata als gewünschte Zustands-.surql-Dateien mit getrennten Pfaden für wegwerfbare Entwicklungsdatenbanken und geteilte oder Produktions-Rollouts.

Verfolgter Upstream-Snapshot: v0.6.3 Pre-Release (7771b93ea563, 2026-05-13). Die Patch-Reihe v0.6.1 -> v0.6.3 fügte Bibliotheks-Sperrkorrekturen, Template-Variablen, Kommentarentfernungsbereinigung, DROP ... IF EXISTS-Behandlung und DEFINE-Abdeckung für BUCKET, SEQUENCE und CONFIG hinzu.

Schnellstart

# Installieren
cargo binstall surrealkit
# oder: cargo install surrealkit

# Projektstruktur erstellen
surrealkit init

# Lokale/wegwerfbare Datenbank mit lokalen Schema-Dateien abgleichen
surrealkit sync

# Einen überprüften Rollout für geteiltes/Produktion generieren und anwenden
surrealkit rollout plan --name add_customer_indexes
surrealkit rollout start 20260410120000__add_customer_indexes
surrealkit rollout complete 20260410120000__add_customer_indexes

Kernbefehle

BefehlVerwendung
surrealkit syncAbgleich des gewünschten Zustands für lokale, Vorschau- oder wegwerfbare Datenbanken
surrealkit sync --watchLokale Entwicklungsschleife mit Dateiüberwachung
surrealkit rollout baselineRollout-Verfolgung auf einer bestehenden gemeinsamen Datenbank einrichten
surrealkit rollout plan --name <name>Ein überprüftes Manifest aus dem aktuellen Schema-Diff erstellen
surrealkit rollout start <id>Die Expansionsphase anwenden
surrealkit rollout complete <id>Die Vertrags-/Zerstörungsphase nach dem Umschalten anwenden
surrealkit rollout rollback <id>Ein laufendes Rollout rückgängig machen
surrealkit rollout lint <id>Ein Rollout validieren, ohne die Datenbank zu verändern
surrealkit rollout statusDen in der Datenbank gespeicherten Rollout-Status anzeigen
surrealkit seedSeed-Daten anwenden
surrealkit testDeklarative Schema-, Berechtigungs- und API-Tests ausführen

Wann verwenden

  • Verwenden Sie sync, wenn die Datenbank sofort die lokalen Dateien widerspiegeln soll.
  • Verwenden Sie rollout, wenn Änderungen eine Stufung, Überprüfung, Rückgängigmachung oder kontrollierte Umschaltung benötigen.
  • Verwenden Sie seed für deterministische Fixture-Daten.
  • Verwenden Sie test in CI, um Berechtigungen, Schemaverhalten und API-Verträge zu validieren.

Umgebung

SurrealKit liest diese Variablen:

  • SURREALDB_HOST (Fallback: DATABASE_HOST)
  • SURREALDB_NAME (Fallback: DATABASE_NAME)
  • SURREALDB_NAMESPACE (Fallback: DATABASE_NAMESPACE)
  • SURREALDB_USER (Fallback: DATABASE_USER)
  • SURREALDB_PASSWORD (Fallback: DATABASE_PASSWORD)
  • SURREALDB_AUTH_LEVEL (Fallback: DATABASE_AUTH_LEVEL)

Testen

Deklarative Suites in database/tests/suites/*.toml unterstützen:

  • sql_expect
  • permissions_matrix
  • schema_metadata
  • schema_behavior
  • api_request

Beispiel:

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

Vollständige Dokumentation

Siehe die Haupt-Skill-Regel für die vollständige Betriebsanleitung:

Individual skills in this repo

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

Verwandte Skills