If you've ever pulled a branch, run npm start, and watched the app explode because someone added a new STRIPE_KEY without telling anyone, you'll understand exactly why EnvSight exists.
EnvSight is a totally local, open-source tool that reads your code, figures out exactly what environment variables are actually being used, and makes sure you (and your CI pipeline) know about them before things break.
Instead of relying on fragile regex searches or third-party cloud services to manage your .env files, EnvSight reads your project's Abstract Syntax Tree (AST).
Here’s the breakdown:
- The Scan: Our fast Rust engine traverses your codebase, skipping
node_modulesand target folders. - The Discovery: It parses your TypeScript/JavaScript files using
tree-sitterto find exact references to things likeprocess.env.API_KEYorprocess.env.DB_PASSWORD. - The Schema: It takes those discovered variables and instantly hands you back a ready-to-use validation schema (like Zod), and alerts you if any required variables are missing locally.
There is zero telemetry. Everything happens on your machine.
You don't need any complicated setups. Since EnvSight ships as a desktop app powered by Tauri, installation is straightforward.
Clone this repository to your machine and install the initial dependencies:
git clone https://github.com/Ateflow/envsight.git
cd envsight
npm installTo open the EnvSight Dashboard graphical interface, simply run:
npm run tauri devThe app will automatically pop open, scan the folder you ran it in, and immediately build a dashboard showing every environment variable powering your project.
If you just want to run a quick terminal scan without the UI (perfect for CI/CD environments), use the CLI mode:
cargo run --bin tauri-app -- --scan .Using EnvSight is meant to be highly visual and low-friction.
Tip
The absolute best workflow when you download a new codebase is to fire up EnvSight before you ever try to start the development server.
When you open EnvSight, you'll see a dark-slate UI split into a few sections:
- Discovered Variables Table: This lists every single
process.env.*variable we caught hiding in your code. You'll see the key name, how many files it was found in, and a validation status. - Validation Status: If EnvSight sees a local
.envfile that's missing keys your code asks for, you'll immediately see warnings on this dashboard. No more guessing what's broken! - Schema Output: On the right side of the screen, EnvSight automatically writes a Zod validation schema for you. You don't need to manually type out your
z.object(). Just hit the "Copy" icon and drop it right into yoursrc/env.tsfile to lock in type safety.
You can block bad Pull Requests by adding our included Action to your repo. It runs the CLI engine over the PR's codebase. If the developer added process.env.NEW_API_URL to the code but didn't update the schema or documentation, EnvSight throws an exit code 1 and blocks the merge.
Found a bug? Want to add Python or Go support to the AST parser? PRs are always welcome. Just ensure you've run the cargo checks before submitting.
License: MIT

