playrote.play.v1

llgoyal6/env-example-driftv0.3.0Public

Env example drift

Reads the code, not your .env, so it answers what a fresh clone actually needs.

Read the full description

This is not a .env-versus-.env.example diff: it never opens a real .env, and it works on a machine that has none, which is exactly the machine where a new contributor gets stuck. The question is which environment variables the SOURCE requires that its own .env.example never documents, and which documented ones are now dead. Scans every env read across JavaScript and TypeScript (process.env.X, process.env["X"], destructuring, import.meta.env, Deno.env.get), Python (os.environ[...], os.environ.get, os.getenv), Go (os.Getenv, os.LookupEnv), Rust (std::env::var, option_env!), Ruby (ENV[...], ENV.fetch) and PHP ($_ENV[...], getenv), at the real line of each match, and compares them with .env.example, .env.sample, .env.template, .env.dist and env.example. The distinction that matters is whether a fallback is supplied at the call site: process.env.PORT || 3000 is a documentation gap, os.environ["DATABASE_URL"] is a process that dies on l

  • Published 4 Sep 2026
  • Download 1
  • Needs rote 0.62.0+
  • Digest sha256:de8381fd8d42…
  • Reference lgoyal6/env-example-drift@0.3.0

Before you run it5 local tools

Everything here is checked on your machine when rote inspects the play. This page never learns what you have installed or which credentials you hold.

  • ○
    python3local tool

    Requires >=3.8.0. Run rote play inspect to check your host; unverified versions remain unknown.

  • ○
    bashlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    findlocal tooloptional

    Must be on your PATH when used. minimum version undeclared.

  • ○
    wclocal tooloptional

    Must be on your PATH when used. minimum version undeclared.

  • ○
    trlocal tooloptional

    Must be on your PATH when used. minimum version undeclared.

Inputs3, 1 required

rote asks for these before running and shows the defaults it will use.

  • Rootroot

    Directory to audit; every directory beneath it that holds its own env example file is assessed as its own project

    requiredstringexample .custom value allowed
  • Depthdepth

    How many directory levels below root to search for env example files, so a monorepo is assessed service by service

    optionalstringdefault 4example 2custom value allowed
  • Max findingsmax_findings

    How many variables to name per section; every variable is always counted, this only bounds the listing

    optionalstringdefault 25example 10custom value allowed

What it changes

No write operations are declared in this version's manifest.

Credentials remain in the recipient's local rote vault; this page and the publisher never receive them.

Runtime details
  • rote CLIversion 0.62.0 or newer
  • Servicesnone declared
  • Digestsha256:de8381fd8d4274993b2c4cffdc6fe15d1ab266aeebe362b73ca3d99ea657eea8
  • Archive size24528 bytes
  • Published2026-09-04T04:31:49.120545+00:00
  • Published withrote 0.78.0

Credential values and current readiness remain local. Opening this page never prompts for a credential, opens an authorization browser, or calls a service this play uses.

A play is a published, versioned automation package that runs on your own machine through rote, a free command-line tool. Opening this page installs nothing and runs nothing.