Capture, store, and restore files that live outside of version control — .env, Cloudflare Workers .dev.vars, and any other filename you declare per repo — across your projects.
- Centralized Storage - Capture
.env, Cloudflare Workers.dev.vars, and any extra filenames you list undercapture_patternsinenvi.config.maml— all into a central, version-controlled location - Extensible per repo - Declare your own filename patterns (
.flaskenv, custom secret files — anything inKEY=valueformat) without waiting on a release - Easy Restoration - Restore captured files on new systems or git worktrees when working with parallel AI agents
- Secure Sharing - Share configurations safely with team members using encrypted, compressed blobs
- At-Rest Encryption - Optional per-repo encryption key (
envi.config.maml) encrypts captured values in storage and the GitHub backup - GitHub Integration - Optional automatic version control
- Comment Preservation - Keeps full-line and inline comments
- Monorepo Support - Works seamlessly with monorepos
- 100% Test Coverage - Core logic (encryption, parsing, storage) fully tested
# Install globally
pnpm add -g @codecompose/envi
# Capture env files
cd /path/to/your/project
envi capture
# Restore env files
envi restoreVisit envi.codecompose.dev for complete documentation including:
- Getting Started - Installation and basic usage
- Commands - Detailed command documentation
- Git Worktrees with AI Tools - Configure parallel agents
- Multi-Language Support - Using with Rust, Go, Python, and more
- GitHub Integration - Set up automatic version control
- Monorepo Support - Working with monorepos
envi capture- Capture files outside of version control (.env,.dev.vars, plus anycapture_patternsyou declare) from a repositoryenvi restore- Restore captured files from storageenvi pack- Create encrypted blob for sharing with team membersenvi unpack <blob>- Decrypt and restore configuration from blobenvi create-key- Generateenvi.config.mamlto enable at-rest encryptionenvi clear- Delete stored configuration for current projectenvi global github enable- Enable GitHub version controlenvi global github disable- Disable GitHub version controlenvi global github restore- Restore envi store from GitHubenvi global clear- Delete entire envi directory and all stored configurations
Run any command with --help for more information or see the Commands documentation.
pnpm installpnpm buildpnpm devpnpm test # Run tests
pnpm test:ui # Run tests with UI
pnpm test:coverage # Run tests with coverageTest Coverage: Core business logic (encryption, compression, parsing, storage) has 100% test coverage.
pnpm lint # Run linter
pnpm lint:fix # Run linter and fix issues
pnpm format # Format code with Prettier
pnpm check-format # Check if code is formatted
pnpm check-types # Run TypeScript type checkingpnpm docs:dev # Start documentation dev server
pnpm docs:build # Build documentation site
pnpm docs:preview # Preview built documentationMIT