Language Agnostic
Works with any programming language when installed globally - Rust, Go, Python, PHP, Java, Ruby, Dart, and more. Not just JS/TS
Capture, store, and restore files that live outside of version control — .env, .dev.vars, and any other filename you declare per repo — across your projects
Install Envi globally or as a dev dependency:
# Global installation (recommended)
pnpm add -g @codecompose/envi
# Or as dev dependency
pnpm add -D @codecompose/enviCapture environment files from your project:
cd /path/to/your/project
envi captureRestore them later:
envi restore.env files, Cloudflare Workers .dev.vars, and any extra filenames you list under capture_patterns in envi.config.maml into a centralized, version-controlled store organized by project name (extracted from package.json, Cargo.toml, go.mod, and other manifest files).flaskenv, custom secret files — anything in KEY=value format) per repo without waiting on a new Envi releaseenvi.config.maml with envi create-key to give envi pack / envi unpack a key that survives manifest changes, and encrypt the GitHub backup of ~/.envi/store/ so only people with the source repo can decrypt it.env and .dev.vars files across your entire monorepo structure, preserving relative pathsenvi restore to your setup script to restore env files to each isolated worktreeGITHUB_PAT to be automatically redacted when capturing or packing