# ============================================ # Thinking in Systems - Environment Variables # ============================================ # Copy this file to .env and fill in your values # NEVER commit .env to version control # ============================================ # Application # ============================================ NODE_ENV=development APP_NAME="Your App Name" APP_URL=http://localhost:3000 PORT=3000 # ============================================ # Database - Supabase # ============================================ # Get these from: https://app.supabase.com/project/_/settings/api NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ... SUPABASE_SERVICE_ROLE_KEY=eyJ... SUPABASE_JWT_SECRET=your-jwt-secret # ============================================ # Database - PostgreSQL (Direct Connection) # ============================================ DATABASE_URL=postgresql://user:password@localhost:5432/dbname # For pooled connections (Supabase) DATABASE_POOLING_URL=postgresql://user:password@localhost:6543/dbname # ============================================ # Authentication # ============================================ # NextAuth.js NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=generate-with-openssl-rand-base64-32 # OAuth Providers (optional) GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= APPLE_CLIENT_ID= APPLE_CLIENT_SECRET= # ============================================ # Email Service # ============================================ # Resend RESEND_API_KEY=re_... # SendGrid SENDGRID_API_KEY=SG... # SMTP SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password SMTP_FROM=noreply@yourapp.com # ============================================ # Payment Processing # ============================================ # Stripe STRIPE_PUBLISHABLE_KEY=pk_test_... STRIPE_SECRET_KEY=sk_test_... STRIPE_WEBHOOK_SECRET=whsec_... # Paddle PADDLE_VENDOR_ID= PADDLE_API_KEY= PADDLE_PUBLIC_KEY= # ============================================ # Storage # ============================================ # AWS S3 AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_REGION=us-east-1 S3_BUCKET_NAME= # Cloudinary CLOUDINARY_CLOUD_NAME= CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET= NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME= # ============================================ # Analytics & Monitoring # ============================================ # Vercel Analytics NEXT_PUBLIC_ANALYTICS_ID= # Google Analytics NEXT_PUBLIC_GA_MEASUREMENT_ID=G-... # PostHog NEXT_PUBLIC_POSTHOG_KEY=phc_... NEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com # Sentry SENTRY_DSN=https://...@sentry.io/... NEXT_PUBLIC_SENTRY_DSN= # ============================================ # AI & Machine Learning # ============================================ # OpenAI OPENAI_API_KEY=sk-... OPENAI_ORG_ID=org-... # Anthropic Claude ANTHROPIC_API_KEY=sk-ant-... # Replicate REPLICATE_API_TOKEN=r8_... # Hugging Face HUGGINGFACE_API_KEY=hf_... # ============================================ # Search & Discovery (MCP Servers) # ============================================ # Tavily Search TAVILY_API_KEY=tvly-... # Brave Search BRAVE_API_KEY=BSA... # GitHub GITHUB_TOKEN=ghp_... GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... # ============================================ # External APIs # ============================================ # Google Maps NEXT_PUBLIC_GOOGLE_MAPS_API_KEY= # Mapbox NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=pk_... # Weather API WEATHER_API_KEY= # Twilio (SMS/Voice) TWILIO_ACCOUNT_SID=AC... TWILIO_AUTH_TOKEN= TWILIO_PHONE_NUMBER=+1... # ============================================ # Feature Flags # ============================================ NEXT_PUBLIC_ENABLE_PWA=false NEXT_PUBLIC_ENABLE_ANALYTICS=true NEXT_PUBLIC_ENABLE_SENTRY=false FEATURE_FLAG_NEW_UI=false MAINTENANCE_MODE=false # ============================================ # Development Tools # ============================================ # Prettier PRETTIER_CONFIG_PATH=.prettierrc # ESLint ESLINT_CONFIG_PATH=.eslintrc.json # Debug DEBUG=false VERBOSE_LOGGING=false # ============================================ # Mobile App Specific (React Native/Expo) # ============================================ # Expo EXPO_PUBLIC_API_URL=http://localhost:3000 EXPO_PUBLIC_SUPABASE_URL= EXPO_PUBLIC_SUPABASE_ANON_KEY= # iOS IOS_BUNDLE_IDENTIFIER=com.yourcompany.yourapp # Android ANDROID_PACKAGE_NAME=com.yourcompany.yourapp # ============================================ # CI/CD # ============================================ # Vercel VERCEL_URL= VERCEL_GIT_COMMIT_SHA= VERCEL_ENV=development # GitHub Actions CI=true GITHUB_TOKEN= # ============================================ # Caching & Performance # ============================================ # Redis REDIS_URL=redis://localhost:6379 REDIS_PASSWORD= # Upstash UPSTASH_REDIS_REST_URL= UPSTASH_REDIS_REST_TOKEN= # ============================================ # Security # ============================================ # Rate Limiting RATE_LIMIT_MAX_REQUESTS=100 RATE_LIMIT_WINDOW_MS=900000 # CORS CORS_ALLOWED_ORIGINS=http://localhost:3000,https://yourapp.com # Content Security Policy CSP_REPORT_URI=https://yourapp.report-uri.com # ============================================ # Notes: # ============================================ # 1. Generate secrets with: openssl rand -base64 32 # 2. Never commit .env files to git # 3. Use different values for dev/staging/production # 4. Keep this file updated as a reference # 5. Document any new env vars you add here