MayFly LogoMayFly
CLI Reference

Process Execution (mf <cmd>)

Execute any command or dev server with in-memory decrypted secrets.

Synopsis

# Direct in-memory execution (recommended):
mf <command> [args...]

# Explicit run command:
mf run <command> [args...]

# Or using the full binary name:
mayfly <command> [args...]

Description

MayFly executes child processes directly with in-memory secrets injection. Any command prefixed with mf or mayfly runs with decrypted project secrets loaded into volatile memory:

  1. Resolves the current project identity from the folder inode.
  2. Decrypts the project secrets into volatile memory (RAM).
  3. Merges existing system environment variables with the project secrets (project secrets take precedence).
  4. Spawns the specified binary directly via os/exec.
  5. Forwards standard I/O (stdin, stdout, stderr) and propagates OS signals (SIGINT, SIGTERM).
  6. Cleans up and zeroes decrypted memory buffers immediately when the process exits.

Examples

Node.js / NPM Application

mf npm run dev
# or with pnpm / yarn / bun
mf pnpm dev

Python FastAPI / Flask

mf uvicorn app.main:app --reload --port 8000

Docker Compose

mf docker compose up -d

Running with Flag Disambiguation (--)

If your target command uses flags that collide with MayFly options, use -- to separate them:

mf -- go test -v -cover ./...

Options

Passing Vault Password via Stdin (CI / Automation)

For automated environments, you can securely pipe the vault password via stdin:

echo "$VAULT_PASS" | mf --password-stdin npm start