.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
Which AI agent to use for code generation. Supported values:
claude (default, recommended), cursor, gemini.Anthropic
Anthropic API key for the Claude agent. Required when
AGENT_TYPE=claude. Get yours at console.anthropic.com.Anthropic API key used inside E2B sandboxes. Can be the same as
ANTHROPIC_API_KEY.Base URL for the Anthropic API. Override if you’re routing through a proxy.
AI providers
Cursor agent API key. Required only when
AGENT_TYPE=cursor.Google Gemini API key. Required only when
AGENT_TYPE=gemini.OpenAI API key. Optional — used for image generation features.
Base URL for OpenAI API calls. Override to route through a proxy.
OpenRouter API key. Optional — use OpenRouter as an alternative LLM proxy.
ElevenLabs API key. Optional — used for audio generation features.
Base URL for ElevenLabs API calls.
Context7 API key. Optional — enables documentation lookup for the AI agent.
E2B
E2B API key for cloud sandbox provisioning. Required. Get yours at e2b.dev.
How long (in milliseconds) a sandbox can be inactive before auto-pausing. Default is 10 minutes (600000 ms).
Convex
Your Convex deployment identifier. Found in your Convex dashboard after running
npx convex deploy.Public HTTPS URL of your Convex deployment. Used by the client-side SDK. Example:
https://xyz.convex.cloud.Convex OAuth client ID. Optional — only needed for Convex auth integration.
Convex OAuth client secret. Optional — only needed for Convex auth integration.
Public Convex OAuth client ID. Optional — exposed to the browser.
Clerk
Clerk secret key for server-side authentication. Required. Get yours at clerk.com.
Clerk webhook signing secret. Used to verify Clerk webhook payloads (user created/updated events).
Clerk publishable key for client-side authentication. Required.
GitHub
GitHub OAuth app client ID. Optional — used for NextAuth GitHub login.
GitHub OAuth app client secret. Optional — used for NextAuth GitHub login.
GitHub OAuth app client ID for the “push to GitHub” feature.
GitHub OAuth app client secret for the “push to GitHub” feature.
Stripe
Stripe secret key for server-side payment processing. Optional — only needed for web subscriptions.
Stripe publishable key for client-side checkout. Optional.
Stripe webhook signing secret. Used to verify Stripe event payloads.
Stripe price ID for the Weekly Plus plan.
RevenueCat
RevenueCat secret API key for server-side subscription verification. Optional — only needed for mobile in-app purchases.
RevenueCat webhook signing secret for verifying subscription events.
RevenueCat OAuth client ID.
RevenueCat OAuth client secret.
RevenueCat OAuth redirect URI.
App configuration
Public URL of the backend app. Used for absolute URLs in emails, webhooks, and redirects.
Node environment. Set to
production for production deployments.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.Base URL for NextAuth. Required by NextAuth for callback URLs.
Random secret for signing NextAuth session tokens.
Auth.js signing secret (used alongside or instead of
NEXTAUTH_SECRET).Secret for internal admin API endpoints (e.g., push notifications).
Featurebase secret key. Optional — used for feature request tracking.
Firecrawl API key. Optional — used for web scraping features.
Northflank API key. Optional — only needed if using Northflank as an alternative sandbox provider instead of E2B.
Northflank project ID. Optional — used with
SANDBOX_PROVIDER=northflank.Sandbox provider to use. Set to
northflank to use Northflank instead of E2B.Mobile (vibracode-mobile/apps/expo-go/.env)
Clerk
Clerk publishable key. Must match the Clerk app used by your backend. Required. Get yours at dashboard.clerk.com.
Convex
URL of your Convex deployment. Must match
NEXT_PUBLIC_CONVEX_URL in the backend. Example: https://xyz.convex.cloud.Convex OAuth client ID for the mobile app. Optional.
Convex provisioning host. Override if using a self-hosted Convex deployment.
Backend API
URL of your Vibra Code backend. Use
http://localhost:3000 for local development. Set to your production backend URL when deploying.Alias for
EXPO_PUBLIC_V0_API_URL. Set to the same value.RevenueCat
RevenueCat iOS API key for in-app purchase support. Optional — only needed if you want mobile subscriptions. Get yours at app.revenuecat.com.
RevenueCat Android API key for in-app purchase support. Optional.
Agent configuration
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
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.
Admin key for a self-hosted Convex deployment.