Using dotenv files for application configuration is a widespread practice.
While numerous implementations are available in a wide variety of languages, there is currently no specification for this file format. This result in a multitude of different syntaxes, all vaguely resembling the POSIX shell but fundamentally incompatible due to slightly divergent behaviours.
The goal of this repository is to
- specify a dotenv syntax that is 100% compatible with the POSIX shell syntax,
- provide detailed algorithms for tokenizing and parsing said syntax, evaluating the generated AST to produce a set of environment variables and export them to the current process environment.
- provide language-agnostic conformance tests in machine-readable format.