# dotenvx > a better dotenvโ€“from the creator of dotenv ## Docs - [Advanced](https://dotenvx.com/docs/advanced.html): Advanced usage and commands for `dotenvx` - [dotenvx ext genexample directory](https://dotenvx.com/docs/advanced/genexample-directory.html): Generate a .env.example file inside the specified directory. Useful for monorepos. - [dotenvx ext genexample -f](https://dotenvx.com/docs/advanced/genexample-f.html): Pass multiple .env files to generate your .env.example file from the combination of their contents. - [dotenvx ext genexample](https://dotenvx.com/docs/advanced/genexample.html): Generate a .env.example file from your current .env file contents. - [dotenvx get --all --pretty-print](https://dotenvx.com/docs/advanced/get-all-pretty-print.html): Make the output more readable - pretty print it. - [dotenvx get --all](https://dotenvx.com/docs/advanced/get-all.html): Return preset machine envs as well. - [dotenvx get --format eval](https://dotenvx.com/docs/advanced/get-eval.html): Return an eval-ready shell formatted response of all key/value pairs in a .env file. - [dotenvx get](https://dotenvx.com/docs/advanced/get-json.html): Return a json response of all key/value pairs in a .env file. - [dotenvx get KEY --convention=nextjs](https://dotenvx.com/docs/advanced/get-key-convention.html): Return a single environment variable's value using the Next.js convention - [dotenvx get KEY --env](https://dotenvx.com/docs/advanced/get-key-env.html): Return a single environment variable's value from a --env string. - [dotenvx get KEY -f](https://dotenvx.com/docs/advanced/get-key-f.html): Return a single environment variable's value from a specific .env file. - [dotenvx get KEY --overload](https://dotenvx.com/docs/advanced/get-key-overload.html): Return a single environment variable's value where each found value is overloaded. - [dotenvx get KEY](https://dotenvx.com/docs/advanced/get-key.html): Return a single environment variable's value. - [dotenvx get --format shell](https://dotenvx.com/docs/advanced/get-shell.html): Return a shell formatted response of all key/value pairs in a .env file. - [dotenvx keypair -f](https://dotenvx.com/docs/advanced/keypair-f.html): Print public/private keys for chosen .env* files. - [dotenvx keypair KEY](https://dotenvx.com/docs/advanced/keypair-key.html): Print specific keypair for .env file. - [dotenvx keypair --format shell](https://dotenvx.com/docs/advanced/keypair-shell.html): Print a shell formatted reponse of public/private keys. - [dotenvx keypair](https://dotenvx.com/docs/advanced/keypair.html): Print public/private keys for .env file. - [dotenvx ls directory](https://dotenvx.com/docs/advanced/ls-directory.html): Print all .env files inside a specified path to a directory. - [dotenvx ls -ef](https://dotenvx.com/docs/advanced/ls-ef.html): Glob .env filenames excluding a wildcard. - [dotenvx ls -f](https://dotenvx.com/docs/advanced/ls-f.html): Glob .env filenames matching a wildcard. - [dotenvx ls](https://dotenvx.com/docs/advanced/ls.html): Print all .env files in a tree structure. - [dotenvx run - Command Substitution](https://dotenvx.com/docs/advanced/run-command-substitution.html): Add the output of a command to one of your variables in your .env file. - [dotenvx run --convention=nextjs](https://dotenvx.com/docs/advanced/run-convention.html): Load envs using the Next.js convention. - [dotenvx run --debug](https://dotenvx.com/docs/advanced/run-debug.html): Set log level to `debug`. - [DOTENV_PRIVATE_KEY_CI=key dotenvx run](https://dotenvx.com/docs/advanced/run-dotenv-private-key-ci.html): Decrypt your encrypted `.env.ci` by setting `DOTENV_PRIVATE_KEY_CI` before dotenvx run. - [DOTENV_PRIVATE_KEY=key DOTENV_PRIVATE_KEY_PRODUCTION=key dotenvx run](https://dotenvx.com/docs/advanced/run-dotenv-private-key-multiple.html): Decrypt your encrypted `.env` and `.env.production` files by setting `DOTENV_PRIVATE_KEY` and `DOTENV_PRIVATE_KEY_PRODUCTION` before dotenvx run. - [DOTENV_PRIVATE_KEY_PRODUCTION=key dotenvx run](https://dotenvx.com/docs/advanced/run-dotenv-private-key-production.html): Decrypt your encrypted `.env.production` by setting `DOTENV_PRIVATE_KEY_PRODUCTION` before dotenvx run. - [DOTENV_PRIVATE_KEY=key dotenvx run](https://dotenvx.com/docs/advanced/run-dotenv-private-key.html): Decrypt your encrypted `.env` by setting `DOTENV_PRIVATE_KEY` before dotenvx run. - [dotenvx run --env HELLO=String](https://dotenvx.com/docs/advanced/run-env.html): Set environment variables as a simple KEY=value string pair. - [dotenvx run -f](https://dotenvx.com/docs/advanced/run-f.html): Compose multiple .env files for environment variables loading, as you need. - [dotenvx run --log-level](https://dotenvx.com/docs/advanced/run-log-level.html): Set `--log-level` to whatever you wish. - [dotenvx run --env HELLO=String](https://dotenvx.com/docs/advanced/run-overload.html): Override existing env variables. These can be variables already on your machine or variables loaded as files consecutively. The last variable seen will 'win'. - [dotenvx run --quiet](https://dotenvx.com/docs/advanced/run-quiet.html): Use `--quiet` to suppress all output (except errors). - [dotenvx run - Shell Expansion](https://dotenvx.com/docs/advanced/run-shell-expansion.html): Prevent your shell from expanding inline `$VARIABLES` before dotenvx has a chance to inject them. Use a subshell. - [dotenvx run - Variable Expansion](https://dotenvx.com/docs/advanced/run-variable-expansion.html): Reference and expand variables already on your machine for use in your .env file. - [dotenvx run --verbose](https://dotenvx.com/docs/advanced/run-verbose.html): Set log level to `verbose`. - [dotenvx set KEY value --encrypt](https://dotenvx.com/docs/advanced/set-key-value-encrypt.html): Set an encrypted key/value. - [dotenvx set KEY value -f](https://dotenvx.com/docs/advanced/set-key-value-f.html): Set an (encrypted) key/value for another .env file. - [dotenvx set KEY value --plain](https://dotenvx.com/docs/advanced/set-key-value-plain.html): Set a plain key/value. - [dotenvx set KEY -- "- + * รท"](https://dotenvx.com/docs/advanced/set-key-value-with-leading-dash.html): Set a value containing a leading dash. - [dotenvx set KEY "value with spaces"](https://dotenvx.com/docs/advanced/set-key-value-with-spaces.html): Set a value containing spaces. - [dotenvx set KEY value](https://dotenvx.com/docs/advanced/set-key-value.html): Set a single key/value. - [Use dotenvx with GitHub Actions](https://dotenvx.com/docs/cis/github-actions.html): Use dotenvx with GitHub Actions - [Deprecated](https://dotenvx.com/docs/deprecated.html): Deprecated `.env` file formats and technologies. - [DOTENV_KEY (deprecated)](https://dotenvx.com/docs/dotenv-key.html): - [.env](https://dotenvx.com/docs/env-file.html): The .env file separates your secrets from code. - [.env.keys (old format deprecated)](https://dotenvx.com/docs/env-keys-file-deprecated.html): (DEPRECATED) The .env.keys file contains holds environment DOTENV_KEYs - [.env.keys](https://dotenvx.com/docs/env-keys-file.html): `.env.keys` holds your private decryption keys. - [.env.vault (DEPRECATED)](https://dotenvx.com/docs/env-vault-file.html): (DEPRECATED) The .env.vault file is an encrypted version of your .env file. - [Generate .env.example](https://dotenvx.com/docs/features/genexample.html): Generate `.env.example` from your `.env` file - [Get single environment variable](https://dotenvx.com/docs/features/get.html): Get a single environment variable value. - [Gitignore append](https://dotenvx.com/docs/features/gitignore.html): Append to .gitignore file (and if existing, `.dockerignore`, `.npmignore`, and `.vercelignore`) - [List .env files](https://dotenvx.com/docs/features/ls.html): List all .env files in a tree structure. - [Prebuild hook](https://dotenvx.com/docs/features/prebuild.html): Prevent .env files from being built into your docker container with dotenvx's pre-build command. - [Precommit hook](https://dotenvx.com/docs/features/precommit.html): Prevent .env files from being committed to code with dotenvx's pre-commit hook. - [Scan for secrets](https://dotenvx.com/docs/features/scan.html): Scan for leaked secrets in your code. - [Set single environment variable](https://dotenvx.com/docs/features/set.html): Set a single environment variable value. - [Settings](https://dotenvx.com/docs/features/settings.html): Print current dotenvx settings - [Status](https://dotenvx.com/docs/features/status.html): Compare unencrypted .env files to your encrypted .env.vault file - [Astro](https://dotenvx.com/docs/frameworks/astro.html): Use `dotenvx` with Astro. - [Echo](https://dotenvx.com/docs/frameworks/echo.html): Use `dotenvx` with Echo. - [Express](https://dotenvx.com/docs/frameworks/express.html): Use `dotenvx` with Express. - [Flask](https://dotenvx.com/docs/frameworks/flask.html): Use `dotenvx` with Flask. - [Next](https://dotenvx.com/docs/frameworks/next.html): Use `dotenvx` with Next. - [Remix](https://dotenvx.com/docs/frameworks/remix.html): Use `dotenvx` with Remix. - [Rocket](https://dotenvx.com/docs/frameworks/rocket.html): Use `dotenvx` with Rocket. - [Sinatra](https://dotenvx.com/docs/frameworks/sinatra.html): Use `dotenvx` with Sinatra. - [Guides](https://dotenvx.com/docs/guides.html): Language, platform, and framework guides - [Documentation](https://dotenvx.com/docs/): Documentation for `dotenvx` - [Install](https://dotenvx.com/docs/install.html): Other ways to install `dotenvx` - [.NET](https://dotenvx.com/docs/languages/dotnet.html): Use `dotenvx` with .NET ๐Ÿ”ต. - [Go](https://dotenvx.com/docs/languages/go.html): Use `dotenvx` with Go ๐Ÿน. - [Java](https://dotenvx.com/docs/languages/java.html): Use `dotenvx` with Java โ˜•๏ธ. - [Node.js](https://dotenvx.com/docs/languages/nodejs.html): Use `dotenvx` with Node.js ๐Ÿš€. - [PHP](https://dotenvx.com/docs/languages/php.html): Use `dotenvx` with PHP ๐Ÿ˜. - [Python](https://dotenvx.com/docs/languages/python.html): Use `dotenvx` with Python ๐Ÿ. - [Ruby](https://dotenvx.com/docs/languages/ruby.html): Use `dotenvx` with Ruby ๐Ÿ’Ž. - [Rust](https://dotenvx.com/docs/languages/rust.html): Use `dotenvx` with Rust ๐Ÿฆ€. - [Use dotenvx with Nx](https://dotenvx.com/docs/monorepos/nx.html): Use dotenvx with Nx - [Use dotenvx with Turborepo](https://dotenvx.com/docs/monorepos/turborepo.html): Use dotenvx with Turborepo - [npm](https://dotenvx.com/docs/package-managers/npm.html): Use dotenvx with npm - [pnpm](https://dotenvx.com/docs/package-managers/pnpm.html): Use dotenvx with pnpm - [Use dotenvx with Digital Ocean](https://dotenvx.com/docs/platforms/digital-ocean.html): Use dotenvx with Digital Ocean - [Use dotenvx with Docker](https://dotenvx.com/docs/platforms/docker.html): Use dotenvx with Docker - [Use dotenvx with Fly](https://dotenvx.com/docs/platforms/fly.html): Use dotenvx with Fly - [Use dotenvx with Heroku](https://dotenvx.com/docs/platforms/heroku.html): Use dotenvx with Heroku - [Use dotenvx with Netlify](https://dotenvx.com/docs/platforms/netlify.html): Use dotenvx with Netlify - [Use dotenvx with Railway](https://dotenvx.com/docs/platforms/railway.html): Use dotenvx with Railway - [Use dotenvx with Render](https://dotenvx.com/docs/platforms/render.html): Use dotenvx with Render - [Use dotenvx with Vercel](https://dotenvx.com/docs/platforms/vercel.html): Use dotenvx with Vercel - [Use dotenvx with PM2](https://dotenvx.com/docs/process-managers/pm2.html): Use dotenvx with PM2 - [Basics](https://dotenvx.com/docs/quickstart.html): Manage secrets with dotenvx - [Encryption](https://dotenvx.com/docs/quickstart/encryption.html): Add encryption to your `.env` files with a single command. Use `dotenvx encrypt`. - [Multiple Environments](https://dotenvx.com/docs/quickstart/environments.html): Run any environment locally. Create a `.env.ENVIRONMENT` file and use `-f` to load it. It's straightforward, yet flexible. - [Hub](https://dotenvx.com/docs/quickstart/hub.html): `dotenvx` integrates with GitHub via the `hub` commands - [Quickstart โšก๏ธ](https://dotenvx.com/docs/quickstart/index2.html): Manage secrets with dotenvx - [Run Anywhere](https://dotenvx.com/docs/quickstart/run.html): `dotenvx` works the same across every language, framework, and platform. Simply preface your application process with `dotenvx run --` - [Stats](https://dotenvx.com/docs/stats.html): Stats