@shenvy/cli
v0.1.14
Published
Securely manage environment variables with E2EE (Go implementation wrapper)
Maintainers
Readme
@shenvy/cli
Securely manage environment variables with E2EE (Go implementation wrapper).
CLI to manage projects, teams, members, and environment variables securely with end-to-end encryption.
Installation
Shenvy CLI can be installed through several package managers for easy management and updates.
NPM (Node.js)
The easiest way for web developers to install Shenvy CLI:
npm install -g @shenvy/cliHomebrew (macOS & Linux)
Add our official tap and install the formula:
brew install Shenvy/tap/shenvyScoop (Windows)
Add our bucket and install:
scoop bucket add shenvy https://github.com/Shenvy/shenvy-cli-dist.git
scoop install shenvyDirect Binary
Download the latest binary for your platform from the GitHub Releases page and add it to your PATH.
Build from Source
If you have Go installed, you can build it manually:
go build -o shenvy.exeAuthentication
login
Log in via browser (Google, GitHub, or email).
shenvy loginlogout
Log out of the current session.
shenvy logoutuser_info
Display information about the authenticated user.
shenvy user_infoProject Management
init
Initialize a shenvy repository in the current directory.
shenvy initproject list
List all projects you have access to.
shenvy project listproject info [projectId]
Display details of a project. If no ID is provided, it uses the current project.
shenvy project info
shenvy project info <projectId>project update [projectId]
Update the name or description of a project.
shenvy project update --name "New Name" --desc "New description"
shenvy project update <projectId> --name "New Name"project delete [projectId]
Delete a project (soft delete).
shenvy project delete
shenvy project delete <projectId>project restore <projectId>
Restore a deleted project.
shenvy project restore <projectId>status
Display the current project status, tracked files, and pending changes.
shenvy statusTeam Management
team create <name>
Create a new team.
shenvy team create "My Team"team info [teamId]
Display details of a team. Without an ID, it lists all your teams.
shenvy team info
shenvy team info <teamId>team delete <teamId>
Permanently delete a team.
shenvy team delete <teamId>team transfer <teamId> <newOwnerId>
Transfer team ownership to another user.
shenvy team transfer <teamId> <newOwnerId>Member Management
member invite <teamId> <email> [role]
Invite a user to the team. Roles: MEMBER (default), ADMIN, READER.
shenvy member invite <teamId> [email protected]
shenvy member invite <teamId> [email protected] ADMINmember list <teamId>
List all members of a team.
shenvy member list <teamId>member update <teamId> <userId> <role>
Update a member's role.
shenvy member update <teamId> <userId> ADMINmember remove <teamId> <userId>
Remove a member from the team.
shenvy member remove <teamId> <userId>Device Management
registerdevice
Register the current device as a recipient for the project.
shenvy registerdeviceunregisterdevice
Unregister the current device and remove the local identity.
shenvy unregisterdevicedevice list
List all devices registered in the current project.
shenvy device listreset
Reset the device identity.
shenvy resetEnvironment Variable Management
add <filename>
Add a file to track.
shenvy add .env
shenvy add .env.productionpush
Encrypt and upload all tracked files.
shenvy pushpull
Download, decrypt, and restore all tracked files.
shenvy pullrun
Execute a command with the environment variables loaded.
# Load variables from the default environment
shenvy run -- npm start
# Load variables from a specific environment
shenvy run -e development -- npm startplan
Display information about the current subscription plan and its limits.
shenvy plantimeline
Display the project's change history.
shenvy timelineenv delete <envName>
Delete a variable file (soft delete).
shenvy env delete .env.productionenv restore <envId>
Restore a deleted variable file.
shenvy env restore <envId>env versions <envName>
List all versions of a variable file.
shenvy env versions .env.productionenv rollback <envName> <version>
Roll back a file to a specific version.
shenvy env rollback .env.production 3Autocomplete
Generate autocomplete scripts for your shell:
PowerShell
shenvy completion powershell | Out-String | Invoke-ExpressionTo make it permanent, add it to your $PROFILE:
shenvy completion powershell | Out-String | Invoke-ExpressionBash
shenvy completion bash > /etc/bash_completion.d/shenvyZsh
shenvy completion zsh > "${fpath[1]}/_shenvy"Typical Workflow
Initialize project:
shenvy login shenvy initAdd environment files:
shenvy add .env shenvy add .env.productionRegister device:
shenvy registerdeviceEncrypt and upload:
shenvy pushDownload on another device:
shenvy login cd <project> shenvy registerdevice # An admin must run 'shenvy push' to include the new device shenvy pull
Security Notes
- Zero Knowledge: The server never knows your secrets.
- End-to-End Encryption: Uses Age (X25519) + ChaCha20-Poly1305.
- Devices: Each device has its own key. An admin must re-encrypt to include new devices.
- Soft Deletes: Projects and variable files are soft-deleted and can be restored.
