ephemrbeta docs cli mcp pricing
login signup

Ephemr CLI

The ephemr command-line tool publishes, lists, and deletes pages from your terminal. It's a thin wrapper over the public API at /api/v1 with a couple of conveniences — it auto-zips a directory, remembers your API key after ephemr login, and translates API errors into plain English.

Install

Homebrew (macOS, Linux) — recommended. Handles upgrades, sidesteps macOS Gatekeeper entirely:

brew install veturu/ephemr/ephemr

Install script — detects your OS/arch and places the binary on $PATH:

curl -sSf https://ephemr.io/install.sh | sh

GitHub Releases — if you need a pinned version or a stable URL for a Dockerfile, binaries for every release live at github.com/veturu/homebrew-ephemr/releases. The install script above pulls the same files.

Authenticate

Create an API key at /portal/keys, then:

ephemr login
# pastes the key, stored in ~/.config/ephemr/config.json (mode 0600)

For CI, export it instead: EPHEMR_API_KEY=eph_live_.... Any --api-key flag takes precedence over both.

Publish a page

# pack a directory on the fly (must contain index.html)
ephemr publish ./site/

# or upload an existing zip
ephemr publish ./site.zip

# publish to a stable alias URL, replacing the previous target
ephemr publish ./site/ --alias myapp

Manage pages

ephemr list               # slug, status, expiry, URL
ephemr show <slug>        # details for one page
ephemr events <slug>      # lifecycle timeline
ephemr open <slug>        # open the URL in your browser
ephemr delete <slug>      # asks for confirmation; add --yes to skip

Aliases

ephemr alias list
ephemr alias create myapp
ephemr alias delete myapp

Scripting

Add --json to any read command to emit machine-readable output:

ephemr list --json | jq '.[] | select(.status=="active") | .slug'

Env vars & files

NamePurpose
EPHEMR_API_KEYAPI key (overrides config file).
EPHEMR_API_BASEAPI base URL. Defaults to https://ephemr.io.
~/.config/ephemr/config.jsonWritten by ephemr login, mode 0600. Removed by ephemr logout.