Created
August 5, 2025 16:36
-
-
Save CiprianSpiridon/e66ce10f74e5d65f8a474d0ff435bd0c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"packages": { | |
"apps/web": { | |
"outputFile": "apps/web/.env.local", | |
"variables": [ | |
"database.*", | |
"auth.*", | |
"payments.*", | |
"email.RESEND_API_KEY", | |
"analytics.*", | |
"ai.*", | |
"storage.*", | |
"development.*", | |
"public.*" | |
], | |
"description": "Main web application - needs most services" | |
}, | |
"apps/admin": { | |
"outputFile": "apps/admin/.env.local", | |
"variables": [ | |
"database.*", | |
"auth.NEXTAUTH_URL", | |
"auth.NEXTAUTH_SECRET", | |
"auth.GOOGLE_CLIENT_ID", | |
"auth.GOOGLE_CLIENT_SECRET", | |
"analytics.NEXT_PUBLIC_POSTHOG_KEY", | |
"analytics.NEXT_PUBLIC_POSTHOG_HOST", | |
"development.*", | |
"public.NEXT_PUBLIC_APP_NAME", | |
"public.NEXT_PUBLIC_API_URL", | |
"public.NEXT_PUBLIC_SUPABASE_URL", | |
"public.NEXT_PUBLIC_SUPABASE_ANON_KEY" | |
], | |
"description": "Admin dashboard - limited auth and analytics" | |
}, | |
"apps/worker": { | |
"outputFile": "apps/worker/.env", | |
"variables": [ | |
"database.DATABASE_URL", | |
"database.DIRECT_URL", | |
"email.*", | |
"payments.STRIPE_SECRET_KEY", | |
"payments.STRIPE_WEBHOOK_SECRET", | |
"ai.*", | |
"storage.*", | |
"development.NODE_ENV" | |
], | |
"description": "Background worker - server-side only" | |
}, | |
"packages/db": { | |
"outputFile": "packages/db/.env", | |
"variables": [ | |
"database.*" | |
], | |
"description": "Database package - Prisma and Supabase" | |
}, | |
"packages/auth": { | |
"outputFile": "packages/auth/.env", | |
"variables": [ | |
"database.SUPABASE_URL", | |
"database.SUPABASE_ANON_KEY", | |
"database.SUPABASE_SERVICE_ROLE_KEY", | |
"auth.*" | |
], | |
"description": "Authentication package - auth providers" | |
}, | |
"packages/payments": { | |
"outputFile": "packages/payments/.env", | |
"variables": [ | |
"payments.*" | |
], | |
"description": "Payments package - all payment providers" | |
}, | |
"packages/storage": { | |
"outputFile": "packages/storage/.env", | |
"variables": [ | |
"storage.*" | |
], | |
"description": "Storage package - multi-provider cloud storage" | |
}, | |
"packages/analytics": { | |
"outputFile": "packages/analytics/.env", | |
"variables": [ | |
"analytics.*" | |
], | |
"description": "Analytics package - PostHog, GA, Sentry" | |
}, | |
"packages/posthog": { | |
"outputFile": "packages/posthog/.env", | |
"variables": [ | |
"analytics.NEXT_PUBLIC_POSTHOG_KEY", | |
"analytics.NEXT_PUBLIC_POSTHOG_HOST" | |
], | |
"description": "PostHog package - PostHog specific" | |
}, | |
"packages/llm": { | |
"outputFile": "packages/llm/.env", | |
"variables": [ | |
"ai.*" | |
], | |
"description": "LLM package - AI service providers" | |
}, | |
"packages/search": { | |
"outputFile": "packages/search/.env", | |
"variables": [ | |
"search.*" | |
], | |
"description": "Search package - Algolia and other search" | |
}, | |
"packages/waitinglist": { | |
"outputFile": "packages/waitinglist/.env", | |
"variables": [ | |
"database.SUPABASE_URL", | |
"database.SUPABASE_ANON_KEY", | |
"email.RESEND_API_KEY" | |
], | |
"description": "Waiting list package - basic database and email" | |
}, | |
"packages/email": { | |
"outputFile": "packages/email/.env", | |
"variables": [ | |
"email.EMAIL_FROM", | |
"email.RESEND_API_KEY", | |
"email.SENDGRID_API_KEY", | |
"email.MAILGUN_API_KEY", | |
"email.MAILGUN_DOMAIN", | |
"email.POSTMARK_API_KEY", | |
"email.SMTP_HOST", | |
"email.SMTP_PORT", | |
"email.SMTP_USER", | |
"email.SMTP_PASS" | |
], | |
"description": "Email package - multi-provider email system" | |
}, | |
"packages/affiliate": { | |
"outputFile": "packages/affiliate/.env", | |
"variables": [ | |
"database.*", | |
"analytics.NEXT_PUBLIC_POSTHOG_KEY" | |
], | |
"description": "Affiliate package - database and tracking" | |
}, | |
"packages/blog": { | |
"outputFile": "packages/blog/.env", | |
"variables": [ | |
"database.*", | |
"storage.*", | |
"search.*" | |
], | |
"description": "Blog package - content management" | |
} | |
}, | |
"validation": { | |
"required": [ | |
"database.DATABASE_URL", | |
"auth.NEXTAUTH_SECRET", | |
"public.NEXT_PUBLIC_APP_NAME" | |
], | |
"patterns": { | |
"database.DATABASE_URL": "^postgresql://", | |
"auth.NEXTAUTH_URL": "^https?://", | |
"email.RESEND_API_KEY": "^re_", | |
"storage.AWS_S3_ENDPOINT": "^https?://", | |
"storage.CLOUDFLARE_R2_ENDPOINT": "^https?://", | |
"storage.CLOUDFLARE_R2_PUBLIC_DOMAIN": "^[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" | |
} | |
}, | |
"templates": { | |
"header": "# This file is auto-generated from env.global.yaml\n# Do not edit manually - use 'pnpm env:sync' to update\n# Generated on: {timestamp}\n", | |
"section_header": "\n# {section_name}\n", | |
"missing_var_comment": "# {var_name}= # TODO: Add this variable" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment