Command line

Submit a release from your terminal

The Shiptavio CLI packages your project source and sends it to the same review queue as the dashboard. It sends source only, never a finished IPA or AAB. Use it for local releases or CI.

Updated 26 October 2026. Free apps only. No in-app purchases or subscriptions.

Install

npm install -g shiptavio

Authentication

A token from Account settings

Source limit

200 MB, the same as the dashboard

Best fit

Developers who already work in a terminal or CI

Company organization accounts, not individual accounts

App Store publishing runs on the Apple Developer organization account of our Malaysia-based organization. Google Play publishing runs on our Google Play organization account. We do not use an individual or personal developer account for a customer app.

Promo price

RM199 per app for 12 months.

5 release credits included: your first publish plus up to 4 updates. One credit covers one publish or update, whether it targets iOS, Android, or both.

When they run out, buy the same RM199 package for 5 more. We do not sell single base credits.

macOS, tvOS and visionOS publishing is available separately at RM49 per platform credit. One credit covers one Apple platform release target.

After the launch period: RM399 per app for 12 months. Ends 31 December 2026.

See what is included

What Shiptavio handles

  • Accept a source package from the CLI and put it in the same review queue as the dashboard.
  • Follow your .gitignore and exclude common secret and key files.
  • Build, sign, and submit the release with our organization accounts.
  • Track the release status in your dashboard.

What we do not do

  • Upload a finished .ipa or .aab.
  • Build the app on your machine.
  • Require your token in the repository.
  • Bypass the source review or store review.

What to send

Send source, not a finished binary. The source must be complete enough for us to reproduce your release build.

  • The project source, not build output.
  • The app's exact version name and target platforms.
  • Non-secret environment values through the submission form or --env-file.
  • Build notes for flavors, native modules, or a second config file.

How the release works

The same review and credit rules apply to every framework. The build command and the native files are what change.

  1. 1

    Create a token

    Open Account settings in the dashboard and find Submit from your terminal. Create a token and copy it once. Treat it like a password.

  2. 2

    Sign in

    Run shiptavio login in your terminal and paste the token. The CLI stores it outside the project.

    Sign in
    shiptavio login
  3. 3

    Link the project

    Run shiptavio init inside the project folder and choose the app it belongs to. The CLI writes shiptavio.config.json.

    Link the folder
    shiptavio init
  4. 4

    Submit

    Start the release. The CLI asks for the version, shows the checklist, packages the source, and uploads it. Add --yes for CI.

    Submit a release
    shiptavio submit --version 1.2.0 --ios --yes
  5. 5

    Check the status

    Use status to see the current stage. The dashboard shows the same release record.

    Check a release
    shiptavio status

Technical notes

These are the details that decide whether the source builds and whether the store accepts the upload.

What the CLI includes

In a git repository, it uses git ls-files --cached --others --exclude-standard. Tracked files and untracked files that are not ignored are included. Ignored build output is not.

What it always excludes

.env and .env.* (except examples), *.pem, *.p12, *.pfx, *.key, *.keystore, *.jks, *.mobileprovision, *.cer, id_rsa, id_ed25519, .DS_Store, and Thumbs.db.

The token is a password

The CLI stores it in ~/.shiptavio/config.json with owner-only permissions. Revoke it from Account settings if it leaks. Do not commit the config or the token.

CI needs a token and --yes

Set SHIPTAVIO_TOKEN as a secret and run shiptavio submit --yes. Run shiptavio init once and commit shiptavio.config.json so the folder is linked.

Source only

The CLI never uploads a finished binary. Every build is signed with our organization developer accounts, so we compile from source.

200 MB limit

The CLI and the dashboard both cap the source package at 200 MB. Remove generated folders if the package is too large.

Before you submit

  • Node.js 20 or newer is installed.
  • The token was created in Account settings and is stored outside the repository.
  • The folder is linked with shiptavio.config.json.
  • The version name is set for this release.
  • The source does not contain .env files, keystores, or private keys.

Shiptavio CLI tutorial

Install, authenticate, link a project, submit a release, and run the CLI in CI.

Open the tutorial

Questions

Do I have to use the CLI?
No. The dashboard supports the same submission flow. The CLI is optional for people who prefer a terminal or CI.
Does the CLI upload my .env file?
No. It excludes .env files and common key formats. Add non-secret production values in the submission form or with --env-file when you submit.
Can I use the CLI in CI?
Yes. Set SHIPTAVIO_TOKEN as a secret, run shiptavio submit --yes, and pass the version. Run shiptavio init once and commit the config file.
What Node version is required?
Node.js 20 or newer.
Where is the token stored?
In ~/.shiptavio/config.json with owner-only permissions. The SHIPTAVIO_TOKEN environment variable overrides login in CI.
Does the CLI build my app?
No. It packages source. Shiptavio builds, signs, and submits the release.

Related guides

Ready to submit a release?

Create an account, register the app, and add the source. A person reviews the project before the build starts.