Skip to main content

Configuration reference

Application configuration

src/app.ts is author-owned:

FieldPurpose
nameHuman-facing application name
databaseNamePrefix for the durable local database namespace
schemaTyped application schema exported by src/schema.ts
storageDurable storage policy; generated projects use "durable"
credentialOriginsStable hostnames allowed for optional WebAuthn/device-credential use
passkey.rpIdCanonical production hostname for recoverable account passkeys
sync.adapterGenerated sync adapter selection
repositoryUrlSource/home link displayed by the starter

Choose databaseName and stable credential origins before shipping. Changing them later can change which local database or WebAuthn relying party the browser opens.

Omitting passkey.rpId uses location.hostname. That is useful in local development, but each preview hostname becomes a separate passkey namespace. Pin the stable production RP-ID before offering passkey backup to real users.

Environment configuration

NameClassificationBehavior
LOFI_BASE_PATHPublic buildMount path; defaults to /
JAZZ_APP_IDClient-visibleSelects the managed Jazz application
JAZZ_SERVER_URLClient-visibleSelects its sync endpoint
JAZZ_ADMIN_SECRETServer-onlyUsed by schema and administrative tooling
BACKEND_SECRETServer-onlyReserved for server-side integration

No .env selects local-only mode. A complete JAZZ_APP_ID and JAZZ_SERVER_URL pair makes sync available. A partial pair is invalid and blocks affected commands.

Process environment values take precedence over .env. Server-only values must never be prefixed as public variables, imported into client code, or committed.

Build-time behavior

The app is static, so public Jazz configuration is projected into the client during development or build. Changing the deployment environment requires a new production build.