These variables are read by apps/server at startup. They are validated against a TypeBox schema and the server will throw on import if a required variable is missing or has an invalid type.
The origin(s) allowed by the CORS middleware. In development this should match the Vite dev server URL. In standalone binary mode, CORS is automatically opened to all origins and this variable has no effect.
Absolute or relative path to the directory containing slideshow JSON files. If not set, the server looks for data/slideshows relative to the current working directory and then falls back to the bundled data location inside the binary.
API key for the Anthropic Claude API. The server starts and serves slideshows without it, but all AI assistant features will be unavailable until a valid key is provided.
ANTHROPIC_API_KEY=sk-ant-xxx
Obtain an API key from console.anthropic.com. Keep this value out of source control.
These variables are read by apps/web at build time by Vite. They must be prefixed with VITE_ to be accessible in browser code. Variables without this prefix are stripped from the bundle.
The base URL of the Slides API server. The frontend ORPC client sends all requests to this origin. In development this points to the local backend. In production builds, set it to the public URL where the server is reachable.
VITE_SERVER_URL=http://localhost:3000
In standalone binary mode, VITE_SERVER_URL is set to an empty string at build time so the frontend resolves the server URL relative to the page origin. You do not need to configure this variable when using the pre-built standalone binary.