Skip to content

Studio

Eelden Studio is the engine's first client: a Vue app that talks to eelden serve over HTTP (and WebSocket for CDC). It never opens page/WAL files itself.

Start

bash
# HMR — API on :8787, UI on :5173
cd clients/studio && npm run dev

# Or CLI serves a built dist and opens the browser
cargo run -p eelden-cli -- studio ./mydb-studio examples/demo_schema.eel --ui clients/studio/dist

The URL includes a bearer token. API calls use Authorization: Bearer …, X-Eelden-Token, or ?token=.

What you get

  • Collections sidebar + virtualized result grid
  • CodeMirror editor with language intel (same eelden-lang wasm as the engine)
  • | power key → |> + stage menu
  • Hover at pipe boundaries → row shape; as-you-type diagnostics
  • Write-mode gate for mutations + action log + atomic conflict banners
  • Plan strip — index vs collection scan from /query
  • Tenant switcher (/#/t/:tenant), create / fork (write-mode gated)
  • Time-travel pin → Eelden-Snapshot header
  • Schema & migration panel (fingerprints, pending_migration)
  • Live CDC grids — WebSocket …/tail with HTTP poll fallback
  • Health panel — corruption counts, WAL/checkpoint lag, fsync histogram
  • Visual query builder (schema-aware filters & mutations)
  • Examples rail (clients/studio/src/examples.ts)

Rules

  1. Read-oriented by default — toggle Write mode before inserts / updates / deletes / tenant ops.
  2. /query accepts one pipeline or one atomic block — not schema decls or tenant ops (those go through /ops or schema files at serve start).
  3. When a snapshot is pinned, CDC re-run is off (you're looking at the past).

Pre-alpha. Local-first. Stdlib-only Rust engine.