Commit .env.example, never .env
The .env file is in .gitignore. The example next to it, with every key and a placeholder value, is committed, and it is the only documentation of the configuration that stays current.
DATABASE_URL=postgres://user:pass@localhost:5432/app
STRIPE_SECRET_KEY=sk_test_...A startup check that fails when a key in the example is missing from the environment turns a mystery crash into a one-line error.
securitydeveloper-experience