Zero-dependency CLI to audit, compare and sync .env files.
Compares .env against .env.example, detects missing variables, undocumented variables, empty values, and possible secrets leaked into .env.example.
# Install globally
npm install -g @albertoarena/envaudit
# Or run directly with npx
npx @albertoarena/envaudit check# Auto-detects .env and .env.example in current directory
envaudit check
# Custom paths
envaudit check --env .env.local --example .env.example
# CI mode — exits with code 1 if errors found
envaudit check --ciOutput categories:
- Errors (✗): Missing variables, possible secrets in
.env.example - Warnings (⚠): Undocumented variables, empty values
Compare any two env files:
envaudit diff .env.staging .env.productionShows keys only in each file and keys with different values. Secret-looking values are masked.
Add missing keys between .env and .env.example:
# Preview changes
envaudit sync --dry-run
# Apply changes
envaudit syncGenerate markdown documentation of all env variables:
envaudit doc > ENV.mdOutputs a table grouped by prefix (DB_, APP_, AWS_, etc.) with columns: Variable, Required, Default, Group.
Add to your CI pipeline to catch env mismatches early:
# GitHub Actions
- name: Check env files
run: npx @albertoarena/envaudit check --ci --no-color
# Skip empty value warnings (secrets injected at runtime)
- name: Check env files
run: npx @albertoarena/envaudit check --ci --no-color --ignore-empty# GitLab CI
check-env:
script:
- npx @albertoarena/envaudit check --ci --no-color| Flag | Description |
|---|---|
--env <path> |
Path to .env file (default: .env) |
--example <path> |
Path to .env.example (default: .env.example) |
--ci |
Exit with code 1 if errors found |
--ignore-empty |
Skip empty value warnings (useful in CI) |
--dry-run |
Show sync changes without writing |
--no-color |
Disable colored output |
--help, -h |
Show help |
--version, -v |
Show version |
- Node.js >= 18
- Zero npm dependencies
MIT