A CLI tool to sync encrypted .env files with GitHub securely.
- Encryption: Uses
ageencryption (viapython-age) to secure your.envfiles. - GitHub Integration: Automatically syncs encrypted files to your repository.
- Key Management: Securely stores encryption keys in your system's keychain.
- Easy Workflow: Simple
open,seal, andstatuscommands to manage your environment.
The recommended way to install the CLI directly with Python is via the published package envsync-cli:
pip install envsync-cli
# then use the CLI:
envsync --helpIf you prefer installing via the JavaScript ecosystem, there is an npm wrapper that sets up the Python CLI for you:
# npm
npm install -g envsync
# pnpm
pnpm add -g envsync
# then use the same CLI:
envsync --helpInitialize envsync in your project repository. This will detect your git repo, authenticate with GitHub, generate an encryption key, and store it in your keychain.
envsync initDecrypt your .env.enc file to a usable .env file.
envsync openEncrypt your .env file to .env.enc for safe committing.
envsync sealView the status of your environment files and sync state.
envsync statusFor local development of envsync itself, clone the repo and install in editable mode:
git clone https://github.com/winnerdebest/envsync.git
cd envsync
pip install -e .Then run tests using pytest:
pytestMIT