# Shared across every app in this workspace. # Copy to .env and fill in values, or override per-app in apps//.env. # Per-app values win on conflict — use workspace-level for shared secrets. # Database shared by every app in the workspace. Leave blank to default to # SQLite per app (apps//data/app.db), or set DATABASE_URL per app. DATABASE_URL= # Better Auth — required for login to work. Generate with: # openssl rand -hex 32 BETTER_AUTH_SECRET= # Canonical public workspace URL. Use the root origin, not /dispatch. # WEBHOOK_BASE_URL overrides self-callback URLs for Slack/email/etc. if your # deploy provider exposes a preview URL but webhooks should use a custom domain. APP_URL= BETTER_AUTH_URL= WEBHOOK_BASE_URL= # Anthropic API key for the agent chat. ANTHROPIC_API_KEY= # Optional: OpenAI key if any app uses OpenAI engines. OPENAI_API_KEY= # Workspace organization identity. Use operator-owned values; do not use # company-specific examples or copied production credentials. WORKSPACE_ORG_NAME= WORKSPACE_ORG_DOMAIN= WORKSPACE_OWNER_EMAIL= # Builder browser integration (run `agent-native dev` and visit any app, # then click "Connect Builder" — these are written automatically by the # callback handler to this workspace-level .env). BUILDER_PRIVATE_KEY= BUILDER_PUBLIC_KEY= BUILDER_USER_ID= # Local ai-services LLM gateway. Leave unset to use the hosted Builder gateway. # ai-services listens on API_PORT (default 8080): /agent-native/gateway/v1/messages BUILDER_GATEWAY_BASE_URL= # Builder app creation / branching. In local dev these can live in .env. # In production, configure deploy env vars instead; production app creation # never writes credentials or project IDs to the filesystem. ENABLE_BUILDER= DISPATCH_BUILDER_PROJECT_ID= BUILDER_BRANCH_PROJECT_ID= BUILDER_PROJECT_ID= # A2A shared secret — required in production for cross-app JWT verification # and integration webhook processing. Every app in the workspace should use # the same value. Generate with: # openssl rand -hex 32 A2A_SECRET= # Slack integration. Required for @agent-native Slack mentions and replies. SLACK_BOT_TOKEN= SLACK_SIGNING_SECRET= SLACK_ALLOWED_TEAM_IDS= SLACK_ALLOWED_API_APP_IDS= # Optional production default for unlinked Slack users. This makes all # unlinked Slack requests run as this owner, so only set it for trusted, # single-workspace deployments. DISPATCH_DEFAULT_OWNER_EMAIL= # Google sign-in — optional. Leave blank to use email/password only. # Both values come from Google Cloud Console → APIs & Services → Credentials. GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # Optional workspace connectors. Register the matching callback URLs in each # provider using APP_URL as the origin: # /_agent-native/connections/oauth/google_drive/callback # /_agent-native/connections/oauth/figma/callback # /_agent-native/connections/oauth/notion/callback # Google reuses the client above. User access and refresh tokens are encrypted # in the workspace token store. FIGMA_CLIENT_ID= FIGMA_CLIENT_SECRET= NOTION_CLIENT_ID= NOTION_CLIENT_SECRET= # Optional: GitHub sign-in. GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET=