envsyncs-cli
v1.0.0
Published
Sync encrypted .env files with GitHub - works seamlessly across teams
Maintainers
Readme
envsync
🔐 Sync encrypted .env files with GitHub - seamlessly across teams and machines.
Why envsync?
- ✅ Zero manual key sharing - Authenticate once, keys sync automatically
- ✅ Secure encryption - Your secrets stay encrypted in Git
- ✅ Team-friendly - Teammates just clone and run envsync open
- ✅ Cross-platform - Works on macOS, Linux, and Windows
- ✅ Simple workflow - 3 commands to master
Installation
npm install -g envsyncRequirements: Python 3.7+ (auto-checked during setup)
Quick Start
# In your project directory
envsync init # Authenticate & generate encryption key
envsync seal # Encrypt your .env file
git add .env.enc .envsync
git commit -m "Add encrypted environment"
git pushOn a new machine or teammate's computer:
git clone your-repo
envsync open # Authenticate & decrypt .env automaticallyCommands
envsync init
Initialize envsync in your repository. Authenticates with GitHub and sets up encryption.
envsync seal
Encrypt .env → .env.enc. Commit the encrypted file to Git.
envsync open
Decrypt .env.enc → .env. Run this after cloning on a new machine.
envsync status
Check the status of your repository and envsync configuration.
How It Works
- Encryption keys are stored in private GitHub Gists.
- GitHub OAuth authenticates users (auto-opens browser).
- Tokens are cached locally - you only authenticate once per machine.
.env.encfile is committed to your repo (encrypted)..envfile stays in.gitignore(never committed).
Security
- 🔒 Keys stored in private GitHub Gists (OAuth protected)
- 🔒 Local key caching in system keychain
- 🔒 Encryption using industry-standard age encryption
- 🔒 OAuth device flow (no passwords stored)
For Python Users
You can also install directly via pip:
pip install envsyncTroubleshooting
"Python 3 not found"
- Install Python 3.7+: https://www.python.org/downloads/
- Verify:
python3 --version
"GitHub authentication failed"
- Check internet connection
- Make sure you complete the browser authorization
- Token is cached after first successful auth
Support
- 📖 Documentation: https://github.com/winnerdebest/envsync
- 🐛 Issues: https://github.com/winnerdebest/envsync/issues
- 💬 Discussions: https://github.com/winnerdebest/envsync/discussions
License
MIT
