evk
v0.6.0
Published
A local-first environment variable keeper for developers
Maintainers
Readme
evk
███████╗██╗ ██╗██╗ ██╗
██╔════╝██║ ██║██║ ██╔╝
█████╗ ██║ ██║█████╔╝
██╔══╝ ╚██╗ ██╔╝██╔═██╗
███████╗ ╚████╔╝ ██║ ██╗
╚══════╝ ╚═══╝ ╚═╝ ╚═╝
Environment Variable KeeperA local-first environment variable keeper for developers.
Features
- Store environment variables in a local YAML file (
~/.evk/store.yaml) - Sync variables to shell config files (
.zshrc,.bashrc) and.envfiles - Non-destructive updates with managed blocks
- Conflict detection: automatically comments out existing variables
- Clean command restores previously commented variables
- Import variables from existing
.envor shell config files - Interactive TUI mode for easy management
- Tag-based organization
Installation
npm install -g evkOr run directly with npx:
npx evkUsage
Command Mode
# Add a variable (auto-initializes on first use)
evk add API_KEY sk-xxx --description "OpenAI API Key" --tags prod,api
# List all variables
evk list
evk list --tags prod # Filter by tags
# Show variable details
evk show API_KEY
# Get variable value (for scripting)
evk get API_KEY
# Remove a variable
evk remove API_KEY
# Sync to files
evk sync -z # Sync all variables to ~/.zshrc
evk sync -b # Sync to ~/.bashrc
evk sync -e # Sync to ./.env
evk sync API_KEY DB_URL -z # Sync specific keys to ~/.zshrc
evk sync --file ~/custom # Sync to custom file path
# Import variables from a file
evk import .env # Import from .env file
evk import ~/.zshrc -t shell # Import with tags
evk import config.env --dry-run # Preview without saving
evk import .env --force # Overwrite existing variables
# Clean managed blocks from files
evk clean -z # Clean ~/.zshrc
evk clean -b # Clean ~/.bashrc
evk clean -e # Clean .env file
evk clean --file ~/custom # Clean specific file
evk clean --all # Clean all known targets
# Export variables (for eval)
eval $(evk export) # Export all variables
eval $(evk export API_KEY) # Export specific keys
evk export -t prod # Export by tags
# Purge all evk data
evk purge --force # Delete ~/.evk directoryInteractive TUI Mode
evk # Default: starts TUI mode
evk ui # Explicit TUI commandThe TUI provides:
- List view with variable details
- Add new variables
- Edit existing variables
- Import variables from files
- Sync to custom paths
- Clean files with restore preview
Managed Blocks
When syncing to files, evk creates managed blocks:
# === evk Managed Block ===
# Auto-generated by evk. Do not edit manually.
export API_KEY="sk-xxx"
# === End evk Managed Block ===Variables outside the block that conflict with synced keys are automatically commented out and restored when cleaning.
License
MIT
