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