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
| Command | What it does |
|---|---|
aeropush bundle | Build release bundles + zips (no upload). |
aeropush release | Build and publish to the AeroPush server. |
aeropush fingerprint | Print the native fingerprint, or embed it into your native projects. |
aeropush signing | keygen 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 productionSelf-hosting? Point the CLI at your server with --server https://ota.yourco.com or AEROPUSH_SERVER. It defaults to https://aeropush.tech.
Release options
| Flag | Description |
|---|---|
--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". |
--mandatory | Mark the release mandatory. |
--fingerprint <value> | Override the auto-computed native fingerprint. |
--no-fingerprint | Publish untagged / universal (advanced). |
--force | Force past a fingerprint mismatch (crash risk). |
--sourcemaps | Also 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:
aeropush fingerprint # print the current native fingerprint
aeropush fingerprint embed # write it into ios/Info.plist + android/build.gradleBundle signing
Signing proves a bundle came from you, so a compromised update server can’t push code to your users. Set it up once:
aeropush signing keygen # create the key, print the public half
aeropush signing embed # bake the public key into the binaryAfter that aeropush release signs every bundle automatically — see bundle signing for the rollout order, which matters.
Examples
# 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 androidNew here? Start with Installation.