For the complete documentation index optimized for AI agents, see llms.txt.For local development, Helix ships a combined
enterprise-dev image that runs a gateway and
database together in a single container. The image supports two storage modes:
- In-memory — fastest to spin up, but data is lost on container restart.
- On-disk — backed by an S3-compatible object store such as MinIO, so data survives restarts and mirrors the production storage path.
- If
PATH_TO_QUERIESis unset, send queries as dynamicPOST /v1/queryrequests. - If
PATH_TO_QUERIESis set, the container preloads your query bundle from the mountedqueries.jsonfile during startup.
Quick Start with the CLI
The fastest way to get started is the Helix CLI, which wraps theenterprise-dev image and
handles container lifecycle for you:
AI-assisted query authoring
If you develop with a coding agent, install the Helix skills bundle for writing, optimizing, and translating queries. Run it from your project root so the skills can inspect your local schema:Configuring disk mode
To make disk mode the default for a local instance, initialize or add it with--disk:
helix-db bucket, and keeps the
MinIO volume across helix stop. Use helix prune <instance> to delete the persisted local data.
If you’d rather manage the containers yourself with Docker Compose, the in-memory and on-disk
setups below show the raw image configuration that the CLI disk mode mirrors.
Installing the SDKs
To author queries against your local instance, install the SDK for your language. TypeScript, Rust, and Python can generate bundles; Go v1 posts dynamic requests directly.In-Memory
You can add this service to a localdocker-compose.yml:
PATH_TO_QUERIES and the mounted queries.json volume;
queries still execute as dynamic POST /v1/query requests.
On-Disk
For persistent local development, point theenterprise-dev image at an S3-compatible object
store. The example below brings up MinIO, initializes the helix-db bucket, and configures the
enterprise-dev container to read and write to it. Data persists across container restarts as
long as the MinIO volume is preserved.
Environment variables
| Variable | Description |
|---|---|
S3_BUCKET | Bucket the database reads and writes to. |
S3_REGION | Region passed to the S3 client. Any value works against MinIO. |
DB_PATH | Prefix inside the bucket where the database keeps its files. |
AWS_ACCESS_KEY_ID | Access key for the object store. |
AWS_SECRET_ACCESS_KEY | Secret key for the object store. |
AWS_ENDPOINT | Custom endpoint URL — required for MinIO and other non-AWS S3 providers. |
AWS_ALLOW_HTTP | Set to true when the endpoint is plain HTTP (e.g. local MinIO). |
AWS_ENDPOINT and AWS_ALLOW_HTTP to talk to real AWS S3.
Next Steps
Working with Helix Cloud
Authoring
queries.json and the runtime workflow.Querying
Traversal DSL, dynamic queries, and transactions.
CLI Getting Started
Install the Helix CLI, scaffold a project, and send your first query.
Local Workflow
Iterate on dynamic JSON queries against a local v2 instance.