VaultEnv CLI - Secure Environment Variable Management π

β οΈ Beta Release: This is a beta version. While core features are stable, some functionality may change before the 1.0 release.
VaultEnv CLI is a secure, developer-friendly command-line tool for managing environment variables across different environments. Built with zero-knowledge encryption, it ensures your secrets remain secure while providing a seamless development experience.
π Quick Start
Installation
# macOS
brew install vaultenv/tap/vaultenv-cli
# Linux/Windows
curl -sSL https://install.vaultenv.io | bash
# Go developers
go install github.com/vaultenv/vaultenv-cli/cmd/vaultenv-cli@latest
First Steps
# Initialize a new project
vaultenv-cli init
# Set a variable
vaultenv-cli set DATABASE_URL=postgres://localhost/myapp
# Get a variable
vaultenv-cli get DATABASE_URL
# List all variables
vaultenv-cli list
# Switch environments
vaultenv-cli set API_KEY=prod-key --env production
β¨ Key Features
- π Zero-Knowledge Encryption: Client-side AES-256-GCM encryption with Argon2id key derivation
- π Per-Environment Passwords: Separate encryption keys for each environment
- π Multiple Storage Backends: File, SQLite, and Git-friendly storage options
- π Git Integration: Deterministic encryption mode for clean diffs
- π Import/Export: Support for .env, JSON, YAML, and Docker formats
- π Audit Trail: Complete history tracking with SQLite backend
- π OS Keychain Integration: Secure key storage using system keychains
- π― Developer Friendly: Intuitive commands and helpful error messages
π οΈ Development
Prerequisites
Building from Source
# Clone the repository
git clone https://github.com/vaultenv/vaultenv-cli.git
cd vaultenv-cli
# Build the binary
go build -o vaultenv ./cmd/vaultenv-cli
# Run tests
go test ./...
# Run tests with coverage
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# Install locally
go install ./cmd/vaultenv-cli
Project Structure
vaultenv-cli/
βββ cmd/vaultenv-cli/ # Application entry point
βββ internal/ # Private application code
β βββ auth/ # Password management and authentication
β βββ cmd/ # Command implementations
β βββ config/ # Configuration management
β βββ keystore/ # Encryption key storage
β βββ ui/ # Terminal UI components
β βββ test/ # Test helpers
βββ pkg/ # Public packages
β βββ access/ # Access control
β βββ dotenv/ # .env file parsing
β βββ encryption/ # Encryption implementations
β βββ export/ # Export format handlers
β βββ keystore/ # OS keychain integration
β βββ storage/ # Storage backends
βββ docs/ # Documentation
βββ scripts/ # Build and test scripts
π€ Contributing
We love contributions! Please see our Contributing Guide for details.
Quick ways to contribute:
- π Report bugs
- π‘ Suggest features
- π Improve documentation
- π§ Submit pull requests
π Documentation
π’ Commercial Support
Need enterprise features? Check out vaultenv Cloud for:
- Team management and collaboration
- Audit logging and compliance
- SSO/SAML integration
- Priority support
π License
vaultenv-cli is MIT licensed. See LICENSE file for details.
Built with β€οΈ by developers, for developers.