Documentation
Everything you need to sync .env files with your team.
Quick start
terminal
$ npm install -g p2p-envsync$ envsync create myroom .env# share the room key with a teammate, then on their machine:$ envsync join myroom$ envsync sync myroom
CLI reference
envsync create <room> <file>Create a room from a .env file and store it encrypted in the local vault.
envsync join <room>Join an existing room using the room key shared by a teammate.
envsync sync <room>Discover peers on the LAN and exchange encrypted diffs.
envsync invite <room>Show the room key and details to share with a new teammate.
envsync backup-init <room>Set up optional encrypted backup to a private GitHub repo.
envsync statusList rooms, peers and sync state.
envsync reveal <room>Decrypt and print the current values of a room.
envsync history <room>Show the change history for a room.
Tray app
The tray app puts sync status in your macOS menu bar so rooms stay up to date in the background.
terminal
$ npm install -g p2p-envsync-tray
Security model
- Values are encrypted with AES-256-GCM using the room key.
- The room key is shared once, out-of-band, and never sent over the network.
- Peers are discovered on the local network only; there is no central server.
- GitHub backups contain only ciphertext.
- Anyone holding the room key can read the room, so rotate the room if a key leaks.