Treat configuration and feature flags as typed, validated inputs with a lifecycle — read once at startup, parse to types, fail fast on missing or malformed values, no scattered env reads or environment-name branching, flags default safe and get removed. Use when adding or reading an env var, config key, settings file, or feature flag; when behaviour differs per environment; when a value "will be set in prod"; and when reviewing code that calls process.env, os.environ, getenv, or a flag client.