dotenvx-interactive-cli
v1.3.3
Published
An interactive CLI tool for managing .env files with dotenvx - encrypt, decrypt, and manage environment variables with ease.
Downloads
655
Maintainers
Readme
[!NOTE] Dotenvx team made vscode plugin to do the same thing -> https://marketplace.visualstudio.com/items?itemName=dotenv.dotenvx-vscode&ssr=false#overview
dotenvx-interactive-cli
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.
Why?
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
Prerequisites
Installation
You can install this package globally:
npm install -g dotenvx-interactive-cliOr use it directly with npx:
npx dotenvx-interactive-cliFeatures
- 🔒 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
Usage
Command Line Interface
Navigate to your project directory and use any of these commands:
Quick Actions
# Encrypt all .env files
dotenvx-interactive-cli encrypt
# Decrypt all .env files
dotenvx-interactive-cli decrypt
# Install precommit hook
dotenvx-interactive-cli precommitTarget Specific Files
# Encrypt specific files
dotenvx-interactive-cli encrypt .env .env.production
# Decrypt specific files
dotenvx-interactive-cli decrypt .env.developmentInteractive File Selection
# 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+CGet Help and Information
# Show main help
dotenvx-interactive-cli --help
# Show command-specific help
dotenvx-interactive-cli encrypt --help
# Show version
dotenvx-interactive-cli --versionInteractive Mode
# Launch wizard mode for guided command building
dotenvx-interactive-cli --wizard
# Run without arguments to see available commands
dotenvx-interactive-cliShell Completions
# 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)NPX Usage
All commands work with npx as well:
npx dotenvx-interactive-cli encrypt .env
npx dotenvx-interactive-cli --wizard
npx dotenvx-interactive-cli --helpRequirements
- A
.env.keysfile must be present in your project directory - dotenvx must be installed globally
Examples
Basic Workflow
# 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 decryptQuick Commands (No Interaction)
# Direct file specification (no prompts)
dotenvx-interactive-cli encrypt .env .env.production
dotenvx-interactive-cli decrypt .env.developmentCI/CD Integration
# In your CI/CD pipeline
npx dotenvx-interactive-cli decrypt .env.productionDevelopment Workflow
# Start with wizard mode if unsure
dotenvx-interactive-cli --wizard
# Or get help for specific commands
dotenvx-interactive-cli encrypt --helpMigration from v0.3.x
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.
License
MIT
Contributing
Contributions, issues, and feature requests are welcome!
