declare namespace Cloudflare { interface Env { SECRETS_KEY: string; /** Set to "true" only by vite.config.ts for `vite dev` / `bun run preview`; never in a deployment. */ GITFOR_LOCAL?: string; /** One-time secret: a signup presenting it becomes the first admin. Delete it after bootstrapping. */ BOOTSTRAP_TOKEN?: string; GITHUB_CLIENT_ID?: string; GITHUB_CLIENT_SECRET?: string; CF_API_TOKEN?: string; SITES_COOKIE_SECRET?: string; /** Turnstile widget secret; required whenever TURNSTILE_SITEKEY is set. */ TURNSTILE_SECRET?: string; SCRATCH_SITES_PER_IP_PER_DAY?: string; /** Local e2e only; ignored unless PUBLIC_URL is loopback. */ RATE_LIMITS_DISABLED?: string; /** Stripe is enabled only when this is set; without it billing UIs hide and plans come from METERING_PLANS. */ STRIPE_SECRET_KEY?: string; STRIPE_PUBLISHABLE_KEY?: string; /** Signing secret of the /stripe/webhook endpoint (whsec_...). */ STRIPE_WEBHOOK_SECRET?: string; /** Price id of the Pro monthly subscription. */ STRIPE_PRICE_PRO?: string; /** JSON: {"": "price_..."}; amounts and quantities come from pricing.ts. */ STRIPE_TOPUP_PRICES?: string; /** "true" enables the loopback-only /__dev/stripe/replay route (test-mode keys only). */ STRIPE_DEV_REPLAY?: string; /** PostHog project token (phc_...). Analytics is off unless this (or VITE_POSTHOG_PROJECT_TOKEN) is set. */ POSTHOG_KEY?: string; /** PostHog ingestion host, e.g. https://us.i.posthog.com (default) or https://eu.i.posthog.com. */ POSTHOG_HOST?: string; VITE_POSTHOG_PROJECT_TOKEN?: string; VITE_POSTHOG_HOST?: string; /** "true" attaches the signed-in user's email to their PostHog person. Off by default: no PII. */ POSTHOG_PERSON_EMAIL?: string; } }