Skip to content

CLI overview

The CLI is published as @aetherpush/cli and installs a single binary named aether:

Terminal window
npm install -g @aetherpush/cli

It needs Node.js 22 or later. Every command prints its own flags with aether <command> --help.

aether login stores your credential in ~/.aether/credentials.json (%LOCALAPPDATA%\.aether\credentials.json on Windows), with everything non-secret in cli.json beside it. On POSIX systems the credential file is created readable only by you; Windows and some network filesystems have no equivalent mode to set. aether logout deletes it. A config.json from an earlier version is migrated and removed the first time you run this one. The CLI talks to https://api.aetherpush.com; pass --serverUrl on login or register to target another server, and the choice sticks for the whole session.

Every command accepts these:

Flag Purpose
--non-interactive, --ci Run without prompts. Turns on by itself when the CI environment variable is true.
--force Skip confirmation prompts. Destructive commands ask for confirmation; most of them require --force to run in non-interactive mode.
--no-ci-metadata Do not append CI metadata to descriptions (see below).
-v, --version Print the CLI version.

When release, release-react, promote, or patch runs inside GitHub Actions, GitLab CI, CircleCI, Jenkins, or Bitrise, the CLI detects the provider from its environment variables and appends a tag like [ci=github sha=abc1234 branch=main run=…] to the release description. Pass --no-ci-metadata to keep descriptions untouched.

release and release-react accept --json. Progress messages then go to stderr, and the last line of stdout is a JSON object describing the released package: label, packageHash, size, appVersion, blobUrl, description, releasedBy, releaseMethod, uploadTime, rollout, isMandatory, isDisabled. manifestBlobUrl is listed by the CLI but the server strips it from every release response, so it never arrives. Pipe it to a file and later steps can read the label they may need to promote or roll back.