Skip to content

keryx studio

Description

Starts the keryx studio — a local, single-user web app for authoring reels: a richer front-end over the same workspace the CLI uses, so anything it does maps 1:1 to a CLI operation on the same files (spec 0011-studio.md). It serves the embedded Svelte UI plus a thin /api/v1 surface and runs until you stop it (Ctrl-C).

Status: step 1 (server skeleton). This release serves the app shell and a health probe; the reels library, card editor, and chat land in the next slices.

Usage

keryx studio [flags]

Open the printed URL (e.g. http://127.0.0.1:8765) in a browser.

Flags

Flag Description Default Required
--port Bind port, 0 picks a free port 0
--host Bind host, 0.0.0.0 exposes on the LAN 127.0.0.1

Security

  • Binds localhost (127.0.0.1) by default (R-API-3). --host 0.0.0.0 exposes it on the LAN — an explicit opt-in; networked exposure will require auth (a later slice). Request bodies are size-bounded.
  • No secrets over the wire: the studio reads/writes the project's non-secret .keryx.yaml; credentials stay in the environment/keychain.
  • The studio command is excluded from the MCP surface (it is a long-running server, and posting it could trigger is gated — R-MCP-2).

The UI bundle

The Svelte UI is built by go generate (see the studio component docs); a release binary embeds it. A from-source build without Node serves a placeholder telling you to install a release or run just web-build. For UI development, just web-dev runs Vite HMR against a keryx studio --port 8765 you start alongside.