Skip to content
Docs

Command palette

Jump to a page or view, or find a todo by name.

Changelog

env

Validated environment contracts: responsibilities, supported exports and extension points.

Markdown

Purpose

Separate server, web, native, email, storage and MCP resource entries validate their own configuration. Server secrets are parsed with Zod through the env helpers. Public web and native variables are intentionally limited. runtime-flags reads the deployment switches (DB_TENANT_PIPELINE, TENANCY_PROBE, TRUSTED_PROXY_HEADER, TRUSTED_PROXIES) on every call, without loading the whole server contract. email and storage work the same way: server validates their variables at startup, and packages/email / packages/storage parse them when they send or open a handle, so importing either package validates nothing.

Public exports

SubpathTarget
./server./src/server.ts
./mcp-resource./src/mcp-resource.ts
./web./src/web.ts
./native./src/native.ts
./email./src/email.ts
./storage./src/storage.ts
./runtime-flags./src/runtime-flags.ts

These paths come from packages/env/package.json. A . entry is the package root. Conditional targets distinguish platform or type resolution; consumers should import the subpath, not its source file.

How to extend

Add a variable to its correct contract and setup/deploy path. Never add a secret to a VITE* or EXPO_PUBLIC* contract. Test missing, blank and malformed values; preserve existing credentials when rerunning setup.

Read the validated environment contracts guide for the full flow.

Key files

Edit on GitHubDocumentation is in English.