Skip to content

🔹 build

🏗️ Manage native iOS/Android builds through Capgo Cloud.

Alias: onboarding

Terminal window
npx @capgo/cli@latest build init

Set up iOS build credentials interactively (creates certificates and profiles automatically). On macOS, it can also create your App Store Connect API key for you, guided.

Terminal window
npx @capgo/cli@latest build request

Request a native build from Capgo Cloud. This command will zip your project directory and upload it to Capgo for building. The build will be processed and sent directly to app stores. 🔒 SECURITY: Credentials are never stored on Capgo servers. They are auto-deleted after build completion. Build outputs may optionally be uploaded for time-limited download links. 📋 PREREQUISITE: Save credentials first with: npx @capgo/cli build credentials save --appId <app-id> --platform <ios|android>

Example:

Terminal window
npx @capgo/cli@latest build request com.example.app --platform ios --path .

Options:

ParamTypeDescription
—pathstringPath to the project directory to build (default: current directory)
—platformstringTarget platform: ios or android (required)
—build-modestringBuild mode: debug or release (default: release)
—build-certificate-base64stringiOS: Base64-encoded .p12 certificate
—p12-passwordstringiOS: Certificate password (optional if cert has no password)
—apple-idstringiOS: Apple ID email for app-specific password uploads (alternative to App Store Connect API key)
—apple-app-specific-passwordstringiOS: App-specific password (xxxx-xxxx-xxxx-xxxx) for TestFlight uploads
—apple-app-idstringiOS: Numeric App Store Connect app id (required together with —apple-id and —apple-app-specific-password)
—apple-key-idstringiOS: App Store Connect API Key ID
—apple-issuer-idstringiOS: App Store Connect Issuer ID
—apple-key-contentstringiOS: Base64-encoded App Store Connect API key (.p8)
—app-store-connect-team-idstringiOS: App Store Connect Team ID
—ios-schemestringiOS: Xcode scheme to build (default: App)
—ios-targetstringiOS: Xcode target for reading build settings (default: same as scheme)
—ios-distributionstringiOS: Distribution mode
—ios-provisioning-profilestringiOS: Provisioning profile path or bundleId=path mapping (repeatable)
—android-keystore-filestringAndroid: Base64-encoded keystore file
—keystore-key-aliasstringAndroid: Keystore key alias
—keystore-key-passwordstringAndroid: Keystore key password
—keystore-store-passwordstringAndroid: Keystore store password
—play-config-jsonstringAndroid: Base64-encoded Google Play service account JSON
—android-flavorstringAndroid: Product flavor to build (e.g. production). Required if your project has multiple flavors.
—no-playstore-uploadbooleanSkip Play Store upload for this build (nulls out saved play config). Requires —output-upload.
—submit-to-store-reviewbooleanSubmit the uploaded release for store review: Android completes the Play release; iOS submits the processed TestFlight build to App Store review.
—store-release-namestringStore release name/version. Android uses it as the Google Play release name; iOS uses it as the App Store version.
—store-release-notesstringDefault store release notes. Android uses it as the Play changelog; iOS uses it as the fallback App Store What’s New text.
—store-release-notes-localestringLocalized store release notes, repeatable as locale=notes, for example —store-release-notes-locale “fr-FR=Corrections”.
—ios-testflight-groupsstringiOS only: optional comma-separated TestFlight external group names or IDs for beta distribution.
—ios-automatic-releasebooleaniOS only: automatically release the App Store version after Apple approval. Default is manual release.
—no-ios-automatic-releasebooleaniOS only: keep the approved App Store version waiting for manual release.
—output-uploadbooleanOverride output upload behavior for this build only (enable). Precedence: CLI > env > saved credentials
—no-output-uploadbooleanOverride output upload behavior for this build only (disable). Precedence: CLI > env > saved credentials
—output-retentionstringOverride output link TTL for this build only (1h to 7d). Examples: 1h, 6h, 2d. Precedence: CLI > env > saved credentials
—skip-build-number-bumpbooleanSkip automatic build number/version code incrementing. Uses whatever version is already in the project files.
—no-skip-build-number-bumpbooleanOverride saved credentials to re-enable automatic build number incrementing for this build only.
-a,stringAPI key to link to your account
—supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
—supa-anonstringCustom Supabase anon key (for self-hosting)
—verbosebooleanEnable verbose output with detailed logging

--submit-to-store-review, --store-release-name, --store-release-notes, and --store-release-notes-locale work on both Android and iOS. Use --store-release-notes as the fallback text, then repeat --store-release-notes-locale "locale=notes" for each store localization:

Terminal window
npx @capgo/cli@latest build request com.example.app \
--platform ios \
--build-mode release \
--submit-to-store-review \
--store-release-name "1.2.3" \
--store-release-notes "General improvements" \
--store-release-notes-locale "en-US=General improvements" \
--store-release-notes-locale "nl-NL=Algemene verbeteringen" \
--store-release-notes-locale "fr-FR=Ameliorations generales" \
--no-ios-automatic-release

In CI you can also provide the same localized notes as JSON with CAPGO_STORE_RELEASE_NOTES_LOCALIZED, for example {"en-US":"General improvements","nl-NL":"Algemene verbeteringen"}.

Terminal window
npx @capgo/cli@latest build credentials

Manage build credentials stored locally on your machine. 🔒 SECURITY:

  • Credentials saved to ~/.capgo-credentials/credentials.json (global) or .capgo-credentials.json (local)
  • When building, sent to Capgo but NEVER stored permanently
  • Deleted from Capgo immediately after build
  • Build outputs may optionally be uploaded for time-limited download links 📚 DOCUMENTATION: iOS setup: https://capgo.app/docs/builder/ios/ Android setup: https://capgo.app/docs/builder/android/

If you are using build to plan CI/CD automation, connect it with Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds for the product workflow in Capgo Native Builds, Capgo Integrations for the product workflow in Capgo Integrations, CI/CD Integration for the implementation detail in CI/CD Integration, and GitHub Actions Integration for the implementation detail in GitHub Actions Integration.