One binary called mani.
A single static Rust binary. No runtime, no daemon you didn't ask for. Install it, sign in, and your vaults are a command away.
However you like it.
One static binary from one script. Take the latest, pin a version, or install it anywhere — no package manager required.
$ curl -fsSL https://manifa.dev/install | sh$ curl -fsSL https://manifa.dev/install | MANI_VERSION=cli-v0.1.1 sh$ curl -fsSL https://manifa.dev/install | MANI_INSTALL_DIR=~/.local/bin shEverything mani does.
Run mani <command> --help for full flags. Here's the shape of it.
mani loginSign in on this device with an email one-time code
mani initCreate your keys and recovery code
mani device enrollEnroll this machine on your account
mani device lsList the devices on your account
mani device revoke <id>Revoke a device and rotate vault keys
mani recovery testCheck your recovery code can restore your account
mani vault create <name> <dir>Create a vault from a folder and do the first sync
mani vault lsList your vaults
mani clone <vault> [dir]Clone a vault onto this machine
mani syncPush your changes, pull everyone else's
mani statusShow your account, devices, and sync status
mani watchContinuously sync this folder until you stop it
mani env push --vault <v> <path>Encrypt a .env and upload it to a vault
mani env pull --vault <v> <path>Download and decrypt a .env to a path
mani env ls --vault <v>List the encrypted .env files in a vault
mani daemon startStart the background sync daemon
mani daemon statusShow what the daemon is syncing
mani daemon stopStop the background sync daemon
$ mani login # email one-time code
$ mani init # keys + recovery code (shown once)
$ mani vault create code ~/Code
$ mani daemon start # keep it in sync