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

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
required
E2B API key for cloud sandbox provisioning. Required. Get yours at e2b.dev.
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
required
Clerk secret key for server-side authentication. Required. Get yours at clerk.com.
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.