Test suite and playground for evnx — the Rust CLI for
.envlifecycle management — and the evnx GitHub Action.
No installation needed. Fork this repo, edit any .env file below,
push your change, and watch GitHub Actions run evnx live against your file.
| File | What to test |
|---|---|
try-scan.env |
Edit or add secrets — watch evnx catch them |
try-validate.env |
Add placeholder values — watch validation fail |
try-diff.env |
Remove a key — watch drift detection trigger |
- Inline annotations on your
.envfile showing exactly which line has an issue - Exit code 1 if findings are detected (the job turns red)
- JSON output in the step log with structured findings
curl -fsSL https://dotenv.space/install.sh | bash
evnx --version
evnx doctorFull docs: https://evnx.dev
| Workflow | Status |
|---|---|
| All commands | |
| Marketplace action | |
| Output formats | |
| OS matrix | |
| Snapshots |
- Fork this repo
- Edit any file in
playground/(add a fake secret, a placeholder, remove a key) - Push your change
- Go to the Actions tab — watch evnx run live against your file
No installation. No configuration. Results appear as inline annotations on your files.
See playground/README.md for the guided tour.
| Folder | Purpose |
|---|---|
fixtures/ |
Curated .env files, one per test scenario |
outputs/ |
Committed snapshots of expected command output (seeded by CI on first run) |
playground/ |
Pre-seeded files designed for new users to experiment with |
.github/workflows/ |
Automated CI — commands, action, formats, matrix, snapshots |
| File | Tests |
|---|---|
clean.env + clean.env.example |
Zero-findings baseline — every command should pass |
secrets.env |
AWS, Stripe, GitHub, OpenAI, Anthropic key patterns (fake values) |
placeholders.env |
CHANGE_ME, YOUR_KEY_HERE, <your-api-key> |
boolean-trap.env |
DEBUG="False" — string value is truthy in Python / Node |
weak-secret.env |
SECRET_KEY=password123, JWT_SECRET=secret |
localhost-prod.env |
DB_HOST=localhost in a production context |
drift.env + drift.env.example |
.env is missing REDIS_URL and STRIPE_KEY |
multi-service.env |
Postgres + Redis + Stripe + OpenAI combined |
| Workflow | What it covers |
|---|---|
test-commands.yml |
All 6 commands (scan, validate, diff, doctor, convert, sync) against fixture files |
test-action.yml |
End-to-end Marketplace action test, including SARIF Security tab upload |
test-formats.yml |
All output formats: pretty, json, sarif, github, github-actions, all 14 convert targets |
test-matrix.yml |
ubuntu-latest, macos-latest, windows-latest |
test-snapshots.yml |
Compares live evnx output against committed outputs/ snapshots — catches regressions |
| Homepage | https://evnx.dev |
| Main repo | https://github.com/urwithajit9/evnx |
| GitHub Action | https://github.com/marketplace/actions/evnx-env-security-validation |
| npm | npm install -g @evnx/cli |
| PyPI | pip install evnx |
| Install | curl -fsSL https://dotenv.space/install.sh | bash |
MIT License — Copyright (c) 2026 Ajit Kumar