The platform
The platform
peko login # opens a browser, receives a code on a loopback server
peko whoami # who is signed in
peko logout # clear the sessionLogin binds a random localhost port and opens a consent page. The platform mints a single-use five-minute code, delivers it to the loopback callback, and the CLI exchanges it for a session stored in the OS keychain. No token ever appears in a browser-visible URL.
Signing out on the web revokes the session, so a later command reports that you were signed out and asks you to log in again.
Publishing and app distribution both need a verified email, which is a browser step.
Apps
peko apps # list what this account owns
peko apps show app_1a2b3c # one app, with its capabilities
peko link app_1a2b3c # write [project].app_id
peko link # show the current linkAn app is created on the dashboard, and its capabilities are fixed then:
server allows deploy server, distribution allows deploy app. Check
before deploying rather than after a failure.
peko link is a local edit to peko.toml. It needs no login and no network.
apps show distinguishes an app that does not exist from one owned by someone
else, which tells a stale link apart from being signed in as the wrong account.
Deploying a server
peko deploy serverRequires [ui].framework set to an SSR id and a linked app id. The CLI builds
the web app, packages the framework's output into a Docker artifact, and hands it
over; the platform builds and runs the container and serves it at
<slug>.serve.pekoui.com.
On success the assigned host is written back into peko.toml, so the next native
build bakes it in.
--health-path matters when the app does not answer 2xx on /. --no-wait
starts the deploy and exits instead of polling.
Deploying an app
peko deploy appBuilds every target platform twice: a demo build the device farm drives to
capture store assets, and a signed release build for submission. Both are packed
into a .pkdeploy under build/deploy/ and uploaded.
--no-upload builds the bundle without shipping it. --yes skips the prompts,
including the one that opts into packaging source for a remote Apple build.
Apple targets build locally on a Mac. On another host they need the remote Apple builder, and the signing material travels encrypted to that host's key.
The bridge token
peko bridge tokenMints a short-lived token for a device to connect to a hosted app's bridge. A shipped app does not use this: the platform provisions the app's own credential at deploy time. This is for manual use and the development device.
Remote build keys
A build host that signs Apple targets on your behalf holds an age key. The signing material is sealed to it, so it is never readable in transit.
peko deploy runner-keygen # create the key, print the public recipient
peko deploy runner-pubkey # print the public half again
peko deploy unseal --sealed ... # decrypt on the build hostReplacing the key makes every already-sealed bundle undecryptable, which is why
keygen refuses to overwrite without --force.