# Application Configuration

> Where app configuration lives in the current codebase.

*Canonical: https://makerkit.dev/docs/tanstack-drizzle/configuration/overview*

---

Configuration is split across environment variables, typed config files, and a few route-local config modules.

## Main Locations

| Area | Location |
|------|----------|
| app settings | `apps/web/src/config/app.config.ts` |
| account mode | `apps/web/src/config/account-mode.config.ts` |
| feature flags | `apps/web/src/config/feature-flags.config.ts` |
| auth config | `apps/web/src/config/auth.config.ts` |
| sidebar navigation | `apps/web/src/config/navigation.config.tsx` |
| locale messages | `packages/i18n/src/messages/<locale>/*.json` |

Environment files are loaded by Vite from `apps/web/.env*`. Public values use the `VITE_` prefix and are read via `import.meta.env.VITE_*`.

## How to Choose

- use env vars for values that change by environment
- use `apps/web/src/config/*.ts` for typed app config
- edit `navigation.config.tsx` when the value depends on the app sidebar structure

## Topics

1. [App Configuration](./app-configuration)
2. [Environment Variables](./environment-variables)
3. [Account Modes](./account-modes)
4. [Feature Flags](./feature-flags)
5. [Navigation](./navigation)

---

**Next:** [App Configuration →](./app-configuration)
