App Configuration Settings

Core application settings exposed through appConfig and related env vars.

Core app settings are validated in apps/web/src/config/app.config.ts and read from environment variables (Vite inlines VITE_* values via import.meta.env).

Current Fields

VITE_PRODUCT_NAME="Your SaaS"
VITE_SITE_URL="http://localhost:3000"
VITE_DEFAULT_LOCALE="en"
VITE_DEFAULT_THEME_MODE="light"
VITE_APP_HOME_PATH="/dashboard"

These populate the exported appConfig object:

import { appConfig } from '#/config/app.config.ts';

(Inside apps/web, the #/* import alias maps to ./src/*.)

What They Control

  • name - product name used in metadata and UI
  • url - canonical site URL
  • locale - default locale
  • theme - default theme mode (light, dark, system)
  • appHomePath - default authenticated landing path

Locale Sources

The default locale value is read through appConfig, while the supported locale list and locale detection live in the i18n package and app i18n helpers:

  • packages/i18n/src/config.ts (supported locales, LOCALE_COOKIE, detectLocale())
  • apps/web/src/lib/i18n/i18n.functions.ts

Locale is resolved from a cookie, not a URL path segment.

Common Pitfalls

  • VITE_SITE_URL must be HTTPS in production builds
  • VITE_APP_HOME_PATH must start with /
  • changing the home path requires updating any hard-coded redirects you added elsewhere

Next: Environment Variables →