Modern development benefits from explicit hints.
# MAX_RETRIES (int) - Number of retries for failed jobs. Default: 3
MAX_RETRIES=3
SENDGRID_API_KEY=SG.change_me
For non-secret values, provide a sensible default that works out of the box. Example: PORT=3000 or LOG_LEVEL=info. .env.sample
Use comments to mark mandatory variables.
# REQUIRED: Your SendGrid API key
SENDGRID_API_KEY=change_me
Use uppercase with underscores: DATABASE_URL, REDIS_HOST. Follow framework or language conventions (e.g., REACT_APP_* for Create React App). Modern development benefits from explicit hints
require('dotenv').config();
const dbUrl = process.env.DATABASE_URL;
if (!dbUrl)
console.error('Missing DATABASE_URL in .env file');
process.exit(1);
Better: add validation libraries like envalid or joi to check that all required variables exist at startup.