vaultenv-cli

module
v0.1.0-beta.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2025 License: MIT

README ΒΆ

VaultEnv CLI - Secure Environment Variable Management πŸ”

Beta Version Go Version Test Coverage

⚠️ 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
  • Go 1.22 or higher
  • Make
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.

Directories ΒΆ

Path Synopsis
cmd
vaultenv-cli command
internal
cmd
ui
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL