Skip to main content
This page documents every environment variable used by the Vibra Code backend and mobile app. Copy .env.example to .env.local (backend) or .env (mobile), then fill in the values for the services you want to use.

Backend (vibracode-backend/.env.local)

Agent configuration

AGENT_TYPE
string
default:"claude"
Which AI agent to use for code generation. Supported values: claude (default, recommended), cursor, gemini.

Anthropic

ANTHROPIC_API_KEY
string
required
Anthropic API key for the Claude agent. Required when AGENT_TYPE=claude. Get yours at console.anthropic.com.
ANTHROPIC_SANDBOX_API_KEY
string
Anthropic API key used inside E2B sandboxes. Can be the same as ANTHROPIC_API_KEY.
ANTHROPIC_BASE_URL
string
default:"https://api.anthropic.com"
Base URL for the Anthropic API. Override if you’re routing through a proxy.

AI providers

CURSOR_AGENT_API_KEY
string
Cursor agent API key. Required only when AGENT_TYPE=cursor.
GEMINI_API_KEY
string
Google Gemini API key. Required only when AGENT_TYPE=gemini.
OPENAI_API_KEY
string
OpenAI API key. Optional — used for image generation features.
OPENAI_PROXY_URL
string
default:"https://api.openai.com"
Base URL for OpenAI API calls. Override to route through a proxy.
OPENROUTER_API_KEY
string
OpenRouter API key. Optional — use OpenRouter as an alternative LLM proxy.
ELEVENLABS_API_KEY
string
ElevenLabs API key. Optional — used for audio generation features.
ELEVENLABS_PROXY_URL
string
default:"https://api.elevenlabs.io"
Base URL for ElevenLabs API calls.
CONTEXT7_API_KEY
string
Context7 API key. Optional — enables documentation lookup for the AI agent.

E2B

E2B_API_KEY
string
required
E2B API key for cloud sandbox provisioning. Required. Get yours at e2b.dev.
AUTO_PAUSE_TIMEOUT_MS
string
default:"600000"
How long (in milliseconds) a sandbox can be inactive before auto-pausing. Default is 10 minutes (600000 ms).

Convex

CONVEX_DEPLOYMENT
string
required
Your Convex deployment identifier. Found in your Convex dashboard after running npx convex deploy.
NEXT_PUBLIC_CONVEX_URL
string
required
Public HTTPS URL of your Convex deployment. Used by the client-side SDK. Example: https://xyz.convex.cloud.
CONVEX_OAUTH_CLIENT_ID
string
Convex OAuth client ID. Optional — only needed for Convex auth integration.
CONVEX_OAUTH_CLIENT_SECRET
string
Convex OAuth client secret. Optional — only needed for Convex auth integration.
NEXT_PUBLIC_CONVEX_OAUTH_CLIENT_ID
string
Public Convex OAuth client ID. Optional — exposed to the browser.

Clerk

CLERK_SECRET_KEY
string
required
Clerk secret key for server-side authentication. Required. Get yours at clerk.com.
CLERK_WEBHOOK_SECRET
string
Clerk webhook signing secret. Used to verify Clerk webhook payloads (user created/updated events).
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
string
required
Clerk publishable key for client-side authentication. Required.

GitHub

AUTH_GITHUB_ID
string
GitHub OAuth app client ID. Optional — used for NextAuth GitHub login.
AUTH_GITHUB_SECRET
string
GitHub OAuth app client secret. Optional — used for NextAuth GitHub login.
GITHUB_CLIENT_ID
string
GitHub OAuth app client ID for the “push to GitHub” feature.
GITHUB_CLIENT_SECRET
string
GitHub OAuth app client secret for the “push to GitHub” feature.

Stripe

STRIPE_SECRET_KEY
string
Stripe secret key for server-side payment processing. Optional — only needed for web subscriptions.
STRIPE_PUBLISHABLE_KEY
string
Stripe publishable key for client-side checkout. Optional.
STRIPE_WEBHOOK_SECRET
string
Stripe webhook signing secret. Used to verify Stripe event payloads.
STRIPE_PRICE_ID_WEEKLY_PLUS
string
Stripe price ID for the Weekly Plus plan.

RevenueCat

REVENUECAT_API_KEY
string
RevenueCat secret API key for server-side subscription verification. Optional — only needed for mobile in-app purchases.
REVENUECAT_WEBHOOK_SECRET
string
RevenueCat webhook signing secret for verifying subscription events.
REVENUECAT_OAUTH_CLIENT_ID
string
RevenueCat OAuth client ID.
REVENUECAT_OAUTH_CLIENT_SECRET
string
RevenueCat OAuth client secret.
REVENUECAT_OAUTH_REDIRECT_URI
string
RevenueCat OAuth redirect URI.

App configuration

NEXT_PUBLIC_APP_URL
string
default:"http://localhost:3000"
Public URL of the backend app. Used for absolute URLs in emails, webhooks, and redirects.
NODE_ENV
string
default:"development"
Node environment. Set to production for production deployments.
INNGEST_DEV
string
default:"true"
Set to true when running the Inngest dev server locally (npx inngest-cli@latest dev on port 8288). Set to false or remove in production.
NEXTAUTH_URL
string
default:"http://localhost:3000"
Base URL for NextAuth. Required by NextAuth for callback URLs.
NEXTAUTH_SECRET
string
Random secret for signing NextAuth session tokens.
AUTH_SECRET
string
Auth.js signing secret (used alongside or instead of NEXTAUTH_SECRET).
ADMIN_SECRET
string
Secret for internal admin API endpoints (e.g., push notifications).
FEATUREBASE_SECRET_KEY
string
Featurebase secret key. Optional — used for feature request tracking.
FIRECRAWL_API_KEY
string
Firecrawl API key. Optional — used for web scraping features.
NORTHFLANK_API_KEY
string
Northflank API key. Optional — only needed if using Northflank as an alternative sandbox provider instead of E2B.
NORTHFLANK_PROJECT_ID
string
default:"your-project-id"
Northflank project ID. Optional — used with SANDBOX_PROVIDER=northflank.
SANDBOX_PROVIDER
string
Sandbox provider to use. Set to northflank to use Northflank instead of E2B.

Mobile (vibracode-mobile/apps/expo-go/.env)

Clerk

EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY
string
required
Clerk publishable key. Must match the Clerk app used by your backend. Required. Get yours at dashboard.clerk.com.

Convex

EXPO_PUBLIC_CONVEX_URL
string
required
URL of your Convex deployment. Must match NEXT_PUBLIC_CONVEX_URL in the backend. Example: https://xyz.convex.cloud.
EXPO_PUBLIC_CONVEX_OAUTH_CLIENT_ID
string
Convex OAuth client ID for the mobile app. Optional.
EXPO_PUBLIC_PROVISION_HOST
string
default:"https://api.convex.dev"
Convex provisioning host. Override if using a self-hosted Convex deployment.

Backend API

EXPO_PUBLIC_V0_API_URL
string
default:"http://localhost:3000"
required
URL of your Vibra Code backend. Use http://localhost:3000 for local development. Set to your production backend URL when deploying.
EXPO_PUBLIC_API_URL
string
default:"http://localhost:3000"
required
Alias for EXPO_PUBLIC_V0_API_URL. Set to the same value.

RevenueCat

EXPO_PUBLIC_REVENUECAT_IOS_API_KEY
string
RevenueCat iOS API key for in-app purchase support. Optional — only needed if you want mobile subscriptions. Get yours at app.revenuecat.com.
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY
string
RevenueCat Android API key for in-app purchase support. Optional.

Agent configuration

DEFAULT_AGENT_TYPE
string
default:"claude"
Default AI agent type shown in the app. Supported values: claude, cursor, gemini. Users can override this in the app’s API selector.

Self-hosted Convex

CONVEX_SELF_HOSTED_URL
string
URL of a self-hosted Convex deployment. Uncomment and set this if you’re running Convex on your own infrastructure instead of using the managed service.
CONVEX_SELF_HOSTED_ADMIN_KEY
string
Admin key for a self-hosted Convex deployment.

Build docs developers (and LLMs) love