AeroPush

CLI

CLI reference

The aeropush CLI ships with the SDK package. It builds your JS bundle and publishes it to a channel. Run it with npx aeropush or add it to a script.

Commands

CommandWhat it does
aeropush bundleBuild release bundles + zips (no upload).
aeropush releaseBuild and publish to the AeroPush server.
aeropush fingerprintPrint the native fingerprint, or embed it into your native projects.
aeropush signingkeygen creates an Ed25519 bundle-signing key; embed bakes the public key into your native projects.

Authentication

There is no login command — release reads your app key from a flag or an environment variable:

# recommended for CI
export AEROPUSH_APP_KEY=apk_live_…
npx aeropush release --channel production

Self-hosting? Point the CLI at your server with --server https://ota.yourco.com or AEROPUSH_SERVER. It defaults to https://aeropush.tech.

Release options

FlagDescription
--app-key <key>App key (or AEROPUSH_APP_KEY). Required.
--channel <name>Channel to publish to. Default production.
--platform <ios|android>One platform only. Default: both.
--notes <text>Release notes.
--rollout <1-100>Staged rollout percentage. Default 100.
--target <range>Target native range, e.g. ">=1.2.0 <2.0.0".
--mandatoryMark the release mandatory.
--fingerprint <value>Override the auto-computed native fingerprint.
--no-fingerprintPublish untagged / universal (advanced).
--forceForce past a fingerprint mismatch (crash risk).
--sourcemapsAlso emit .map files next to the zips.

Native fingerprint

Every release is auto-tagged with a hash of your native dependency set, so a bundle only reaches binaries that can run it. Bake the fingerprint into your native build once, then rebuild:

shell
aeropush fingerprint          # print the current native fingerprint
aeropush fingerprint embed    # write it into ios/Info.plist + android/build.gradle
Note
After you add or upgrade a native dependency, rebuild the binary before your next release — the fingerprint changes, and AeroPush won’t serve a new bundle to an incompatible old binary.

Bundle signing

Signing proves a bundle came from you, so a compromised update server can’t push code to your users. Set it up once:

shell
aeropush signing keygen       # create the key, print the public half
aeropush signing embed        # bake the public key into the binary

After that aeropush release signs every bundle automatically — see bundle signing for the rollout order, which matters.

Examples

shell
# iOS only, with notes
AEROPUSH_APP_KEY=apk_live_… aeropush release --platform ios --notes "Fix checkout"

# staged rollout to 10% of the fleet
aeropush release --channel production --rollout 10

# build locally without publishing
aeropush bundle --platform android

New here? Start with Installation.