Group
  • Deployment

    Make my dev, staging, and production environments actually match

    Kill 'works on my machine' bugs by getting environment configs, dependencies, and services in sync.

    • Improve quality
    • Plan & validate
    • Intermediate
    • General

Free Prompt

Audit my dev, staging, and production environments and get them into parity. I keep hitting bugs that only appear in one of them because the configs have drifted. Go through each environment and compare: 1. Runtime versions: Node/Python/whatever, plus package versions. Pin the runtime version in the repo (a version file, engines field, or lockfile) so all three environments run the same one. 2. Environment variables: list every variable each environment reads, flag any that exist in one but not another, and flag anything hardcoded in dev that should be an env var. Document the full set in a checked-in example file with placeholder values. 3. Services: database engine and version, cache, queue, mailer, file storage. Staging should use the same engines as production, not SQLite locally then Postgres in prod (that hides real bugs). If dev uses lighter versions, tell me exactly what's different and what could break because of it. 4. Feature flags and third-party API keys: which environment points at which upstream (test vs live Stripe, sandbox vs real email sender). Wrong-key mistakes on launch day cause real damage. 5. Data: staging should have realistic data (anonymized production dump or a seeded fixture) so bugs that only appear with real-shaped data get caught before prod. Don't propose Docker/containerization if I'm not asking for it; keep the fix scoped to config and service parity. The deliverable is the audit findings, an updated env example file, and a written diff of what differs per environment with a note on which differences are acceptable.

What This Does / How This Helps

This walks each environment side by side and finds the drift: mismatched runtime versions, missing env vars, different database engines, wrong API keys, and empty staging databases that hide data-shape bugs. Environment drift is the source of most 'it worked in staging' outages. The fix is unglamorous: pin the runtime, document every variable, use the same engines top to bottom, and put realistic data in staging. Do it once before launch and you stop losing hours to bugs that only exist because two configs disagree.

Want to skip doing this by hand?

Fortivibe audits your app for all of the areas these prompts cover (and more).

See What We Check

Related Prompts