CLI

edgevault run / pull / get — inject configs, flags, and secrets into any process, zero runtime dependencies, one environment-scoped key.

The edgevault CLI injects your environment’s configuration into any process — no SDK, no code changes. It’s a single esbuild-bundled binary with zero runtime dependencies.

npm install -g @edgevault/cli
export EDGEVAULT_API_KEY=ev_…   # environment-scoped key from the console

run — inject and exec

edgevault run -- node server.js
# edgevault: injected 14 values

Fetches the environment’s machine export, maps every key into the child’s environment, and execs your command. The child’s exit code propagates (a failed spawn exits 127).

Key names sanitize to env-var form: feature.timeout becomes FEATURE_TIMEOUT. If two keys sanitize to the same name you get a warning (warning: env-name collision: … (later value wins)) and secrets win over configs.

Secrets are included only when the API key carries the secrets:read scope — otherwise the run proceeds and tells you plainly: note: secrets omitted — the API key lacks the secrets:read scope.

pull — print the environment

edgevault pull                  # dotenv to stdout (default)
edgevault pull --format json    # JSON object

Useful for piping into tooling or inspecting exactly what run would inject.

get — one value, off the edge

edgevault get checkout-timeout-ms
# 5000

Reads a single config from the delivery plane (cdn.edgevault.io) — the same sub-10 ms path your SDK uses — and prints the raw content. Missing keys print not found: <key> on stderr and exit 1.

The two export surfaces (why secrets are safe here)

Self-hosting

Point the CLI at your own workers:

export EDGEVAULT_API_URL=https://api.your-domain.dev
export EDGEVAULT_CDN_URL=https://cdn.your-domain.dev