Skip to content

EnviEnvironment File Management

Capture, store, and restore .env files across your projects with ease

Quick Start

Install Envi globally or as a dev dependency:

bash
# Global installation (recommended)
pnpm add -g @codecompose/envi

# Or as dev dependency
pnpm add -D @codecompose/envi

Capture environment files from your project:

bash
cd /path/to/your/project
envi capture

Restore them later:

bash
envi restore

Notable Features

  • Centralized Storage - Capture all .env files into a centralized, version-controlled store organized by project name (extracted from package.json, Cargo.toml, go.mod, and other manifest files)
  • Encrypted Blob Sharing - Share environment configs with team members via encrypted, compressed blobs - works independently of global storage
  • Monorepo Support - Automatically discovers and captures all .env files across your entire monorepo structure, preserving relative paths
  • GitHub Integration - Optional automatic version control for your environment configurations
  • Git Worktree Initialization - For JS/TS projects, simply add envi restore to your setup script to restore env files to each isolated worktree
  • Content Preservation - Preserves both comments (full-line and inline) and key order from your original files
  • Variable Redaction - Protect personal tokens and developer-specific credentials from being shared. Configure variables like GITHUB_PAT to be automatically redacted when capturing or packing
  • 100% Test Coverage - Core business logic (encryption, compression, parsing, storage) is fully tested for reliability
  • Language Agnostic - Install globally to manage .env files for projects in any language - Rust, Go, Python, PHP, Java, Ruby, Dart, and more. Not limited to JS/TS
  • Human-Readable Format - Stores configurations in MAML format, which guarantees key order preservation

Learn More

Released under the MIT License.