dotenv-linter: ⚡️ Lightning-fast linter for .env files. Written in Rust 🦀

To update or switch versions, run webi dotenv-linter@stable (or @v3.3, @beta, etc).

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/bin/dotenv-linter

Windows Users

\Windows\System32\vcruntime140.dll

This will also attempt to install the Microsoft Visual C++ Redistributable via webi vcruntime. If it fails and you get the error vcruntime140.dll was not found, you'll need to install it manually.

Cheat Sheet

Dotenv Linter is a lightning-fast check for your .env files. It can rapidly detect and automatically fix issues.

By default, dotenv-linter checks all .env files in the current directory:

dotenv-linter

This is the same as the default behavior:

dotenv-linter .env .env.*

To lint .env files recursively, use -r:

dotenv-linter -r

For the complete usage, see the official Dotenv Linter Usage Guide.

How to automatically fix errors

Use the fix subcommand.

dotenv-linter fix

Backup files in the format of .env_0000000000 will be created by default.
You can use --no-backup to skip this.

How to compare keys between environements

Use the compare subcommand

dotenv-linter compare ./my-dev.env ./my-prod.env
Comparing my-dev.env
Comparing my-prod.env
my-dev.env is missing keys: FOO_API_TOKEN
my-prod.env is missing keys: BAR_ID, BAR_SECRET

How to toggle linter rules

You can turn off certain linter checks with --skip options, for example:

dotenv-linter --skip QuoteCharacter --skip UnorderedKey

You can see the full list of linter rules with dotenv-linter list:

DuplicatedKey
EndingBlankLine
ExtraBlankLine
IncorrectDelimiter
KeyWithoutValue
LeadingCharacter
LowercaseKey
QuoteCharacter
SpaceCharacter
SubstitutionKey
TrailingWhitespace
UnorderedKey
ValueWithoutQuotes

Contribute

Report an Issue Submit Installer Star on GitHub