Install

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.

$curl -fsSL https://manifa.dev/install | sh
Pick your install

However you like it.

Install scriptmacOS · Linux
$ curl -fsSL https://manifa.dev/install | sh
HomebrewmacOS
$ brew install manifa/tap/mani
Direct downloadsigned binary
$ curl -L manifa.dev/dl/mani -o mani
Command reference

Everything mani does.

Run mani <command> --help for full flags. Here's the shape of it.

Account & devices
  • mani login

    Sign in on this device with an email one-time code

  • mani init

    Create your keys and recovery code

  • mani device enroll

    Enroll this machine on your account

  • mani device list

    List the devices on your account

  • mani device revoke <id>

    Revoke a device and rotate vault keys

  • mani recovery

    Manage your recovery code

Vaults & sync
  • mani vault create <name> <dir>

    Create a vault from a folder and do the first sync

  • mani vault list

    List your vaults

  • mani clone <vault> [dir]

    Clone a vault onto this machine

  • mani sync

    Push your changes, pull everyone else's

  • mani status

    Show your account, devices, and sync status

  • mani watch

    Continuously sync this folder until you stop it

Secrets
  • mani env push --vault <v> --name <n>

    Encrypt a .env and upload it to a vault

  • mani env pull --vault <v> --name <n>

    Download and decrypt a .env locally

  • mani env ls --vault <v>

    List the encrypted .env files in a vault

Daemon & mount
  • mani daemon start

    Start the background sync daemon

  • mani daemon status

    Show what the daemon is syncing

  • mani daemon stop

    Stop the background sync daemon

  • mani mount <vault> <dir>

    Mount a vault as on-demand files (Linux)

first run
$ 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