Catch missing and inconsistent environment variables before deploy.
⚠️ Prevent broken deployments caused by missing environment variables.
EnvGuardian scans your project and detects missing environment variables before deployment.
Example:
npx @marcosjgb/envguardian check --cwd tests/fixtures/sample-projectEnvGuardian scans your codebase, detects environment variables used in your project, and compares them with your .env files.
It helps you identify:
- missing variables
- unused variables
- inconsistencies between
.envand.env.example
👉 The goal is simple: catch env issues before they break your app.
- Detect environment variables used in code
- Compare
.envand.env.example - Identify missing variables
- Detect unused variables
- CI-ready (
--cisupport) - Stack agnostic
- Zero config required
Run without installing:
npx @marcosjgb/envguardian checkGlobal install:
npm install -g @marcosjgb/envguardianThen:
envguardian checkenvguardian check
envguardian check --only-missing
envguardian check --ci
envguardian check --ci --only-missing
envguardian syncEnvGuardian
Scanning project: .
✖ Missing variables detected
Missing in .env
- DATABASE_URL
- JWT_SECRET
✖ EnvGuardian check failed
EnvGuardian can run in CI pipelines and fail builds when variables are missing.
name: EnvGuardian Check
on:
pull_request:
push:
branches: [ main ]
jobs:
envguardian:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Create .env for CI
run: |
cat > .env <<EOF
DATABASE_URL=dummy_database_url
JWT_SECRET=dummy_jwt_secret
VITE_API_URL=http://localhost:3000
EOF
- name: Run EnvGuardian
run: npx @marcosjgb/envguardian check --ci --only-missing👉 If variables are missing, the pipeline fails.
EnvGuardian detects environment variables in multiple ecosystems.
process.env.VARIABLE_NAME
process.env["VARIABLE_NAME"]import.meta.env.VARIABLE_NAMEos.getenv("VARIABLE_NAME")ENV["VARIABLE_NAME"]You deploy your app.
Everything works locally…
💥 Production crashes because a variable is missing.
EnvGuardian catches it before deploy:
envguardian checkenvguardian/
├─ assets/
├─ src/
│ ├─ cli/
│ ├─ commands/
│ ├─ core/
│ ├─ config/
│ └─ utils/
├─ tests/
├─ README.md
├─ CONTRIBUTING.md
├─ CODE_OF_CONDUCT.md
└─ ROADMAP.md
See ROADMAP.md
Contributions are welcome. Please read CONTRIBUTING.md
MIT


