Run Locally
There are three useful local workflows: zero-config startup, explicit config, and locked local startup.
Zero-Config Startup
gestaltdIf no config exists, gestaltd generates ~/.gestalt/config.yaml and starts a local environment with:
noneauth- SQLite
envsecrets- a generated
server.encryption_key
The server and embedded UI are both available at http://localhost:8080.
Explicit Config
gestaltd --config ./config.yamlUse this when you want to control:
- auth provider
- datastore path or DSN
- integrations
- bindings
Locked Local Startup
If your config includes remote REST or GraphQL upstreams, or packaged plugins, init and validate first:
gestaltd init --config ./config.yaml
gestaltd validate --config ./config.yaml
gestaltd serve --locked --config ./config.yamlThis is the closest local approximation to a production deployment.
Local Dev Features
With auth.provider: none, Gestalt skips authentication entirely. All requests are handled as a single anonymous user, which is convenient for local development.
The Frontend In Isolation
If you are working on the web app itself rather than gestaltd, the repo also supports running the Next.js app separately. That is a frontend development workflow, not the normal runtime model.