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.
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
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
Sign in
Run shiptavio login in your terminal and paste the token. The CLI stores it outside the project.
Sign inshiptavio login - 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 foldershiptavio init - 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 releaseshiptavio submit --version 1.2.0 --ios --yes - 5
Check the status
Use status to see the current stage. The dashboard shows the same release record.
Check a releaseshiptavio 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 tutorialQuestions
Do I have to use the CLI?
Does the CLI upload my .env file?
Can I use the CLI in CI?
What Node version is required?
Where is the token stored?
Does the CLI build my app?
Related guides
Publish a Flutter app
The Flutter source and build checklist.
Publish an Expo app
The Expo source and prebuild checklist.
Publish a React Native app
The bare React Native source checklist.
How to submit
The full dashboard flow, from account creation to store review.
Compare publishing options
Shiptavio, Expo EAS, Codemagic, and Fastlane side by side.
Prohibited apps
Check the categories we cannot publish before you start.
Ready to submit a release?
Create an account, register the app, and add the source. A person reviews the project before the build starts.