Note
Dotenvx team made vscode plugin to do the same thing -> https://marketplace.visualstudio.com/items?itemName=dotenv.dotenvx-vscode&ssr=false#overview
A powerful CLI tool for managing your .env files with dotenvx. Built with @effect/cli, this tool provides both command-line and interactive interfaces for encrypting and decrypting environment files, as well as setting up precommit hooks.
This tool was created to simplify the process of working with dotenvx encryption and decryption. Whether you prefer command-line efficiency or interactive guidance, you can quickly:
- Encrypt or decrypt .env files via direct commands or interactive menus
- Work with all files at once or target specific .env files
- Avoid typing lengthy dotenvx commands manually
- Set up precommit hooks with a single command
- Integrate seamlessly into CI/CD pipelines and scripts
You can install this package globally:
npm install -g dotenvx-interactive-cli
Or use it directly with npx:
npx dotenvx-interactive-cli
- π Encrypt .env files - Command-line or interactive file selection
- π Decrypt .env files - Batch or targeted decryption
- πͺ Precommit hook installation - One-command setup
- β‘ Built on @effect/cli - Modern, type-safe CLI framework
- π― Hybrid interface - Direct commands, interactive selection, wizard, or help-guided
- ποΈ Interactive file selection - Beautiful checkbox interface when no files specified
- π Smart file detection - Automatically finds .env files (excludes .keys and .vault)
- β¨ Professional CLI features - Help, version, completions, and more
- π‘οΈ Robust error handling - Clear error messages and graceful failures
Navigate to your project directory and use any of these commands:
# Encrypt all .env files
dotenvx-interactive-cli encrypt
# Decrypt all .env files
dotenvx-interactive-cli decrypt
# Install precommit hook
dotenvx-interactive-cli precommit
# Encrypt specific files
dotenvx-interactive-cli encrypt .env .env.production
# Decrypt specific files
dotenvx-interactive-cli decrypt .env.development
# Run without file arguments to get an interactive selection menu
dotenvx-interactive-cli encrypt # Shows checkbox menu to select files
dotenvx-interactive-cli decrypt # Interactive selection for decryption
# The interactive menu allows you to:
# - Select individual files with spacebar
# - Choose "All files" option to select everything
# - Navigate with arrow keys
# - Confirm with Enter
# - Cancel with Ctrl+C
# Show main help
dotenvx-interactive-cli --help
# Show command-specific help
dotenvx-interactive-cli encrypt --help
# Show version
dotenvx-interactive-cli --version
# Launch wizard mode for guided command building
dotenvx-interactive-cli --wizard
# Run without arguments to see available commands
dotenvx-interactive-cli
# Generate completions for your shell
dotenvx-interactive-cli --completions bash # for bash
dotenvx-interactive-cli --completions zsh # for zsh
dotenvx-interactive-cli --completions fish # for fish
# Install completions (example for bash)
source <(dotenvx-interactive-cli --completions bash)
All commands work with npx as well:
npx dotenvx-interactive-cli encrypt .env
npx dotenvx-interactive-cli --wizard
npx dotenvx-interactive-cli --help
- A
.env.keys
file must be present in your project directory - dotenvx must be installed globally
# 1. Interactive encryption with file selection
dotenvx-interactive-cli encrypt
# β¨ Shows a checkbox menu to select which .env files to encrypt
# 2. Set up precommit hook to auto-encrypt on commits
dotenvx-interactive-cli precommit
# 3. Later, interactive decryption for development
dotenvx-interactive-cli decrypt
# β¨ Interactive menu to choose which files to decrypt
# Direct file specification (no prompts)
dotenvx-interactive-cli encrypt .env .env.production
dotenvx-interactive-cli decrypt .env.development
# In your CI/CD pipeline
npx dotenvx-interactive-cli decrypt .env.production
# Start with wizard mode if unsure
dotenvx-interactive-cli --wizard
# Or get help for specific commands
dotenvx-interactive-cli encrypt --help
If you're upgrading from the previous interactive-only version:
- Old:
dotenvx-interactive-cli
(interactive menu only) - New:
dotenvx-interactive-cli [command]
(direct commands with fallback to guidance)
The tool now supports both approaches - you can use direct commands for scripting or run without arguments to see available options.
MIT
Contributions, issues, and feature requests are welcome!