Production environment
The live copy of your app: real users, real data, real money. Break it here and someone actually notices.
See it
What it is
Production is the running copy of your app that real people use, backed by real data, real payments, and real email. It is one of several environments (local, staging, production) that run the same code with different configuration: different database, different API keys, different domain. The code should be identical; only the injected config differs, which is the whole point of the twelve-factor rule about keeping config out of the codebase. That holds for anything read at runtime, so the same artifact can be promoted from staging to production untouched. Public client-side values are the exception: anything prefixed NEXT_PUBLIC_ or VITE_ is baked into the bundle at build time, so differing values mean a separate build per environment unless the app fetches its client config at runtime instead.
Production earns different rules than everywhere else: no debug toolbars, no test credit card keys, no seeded fake users, real error monitoring, backups you have actually restored once. Anything you would not want a stranger to find belongs behind auth or not in this environment at all.
The classic disaster is a script or a seed command pointed at the production database because someone's local .env still had the prod connection string in it. Give production credentials a visibly different shape, keep them out of local machines entirely, and make destructive commands refuse to run when they detect the production host.
Ask AI for it
Configure a production environment for this app, separate from local and staging. Use a dedicated production database and API keys injected as environment variables (nothing hardcoded, nothing committed), disable debug output, source maps served publicly, and any seed or fixture scripts, enforce HTTPS and security headers, wire up error monitoring and a /health endpoint, and add a guard that makes destructive CLI commands refuse to run when NODE_ENV is production. List every variable I must set before the first deploy.