🔹 build
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
🏗️ Manage native iOS/Android builds through Capgo Cloud.
🚀 Init
Section titled “ 🚀 Init”Alias: onboarding
npx @capgo/cli@latest build initSet 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.
🔹 Request
Section titled “ 🔹 Request”npx @capgo/cli@latest build requestRequest 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:
npx @capgo/cli@latest build request com.example.app --platform ios --path .Options:
| Param | Type | Description |
|---|---|---|
| —path | string | Path to the project directory to build (default: current directory) |
| —platform | string | Target platform: ios or android (required) |
| —build-mode | string | Build mode: debug or release (default: release) |
| —build-certificate-base64 | string | iOS: Base64-encoded .p12 certificate |
| —p12-password | string | iOS: Certificate password (optional if cert has no password) |
| —apple-id | string | iOS: Apple ID email for app-specific password uploads (alternative to App Store Connect API key) |
| —apple-app-specific-password | string | iOS: App-specific password (xxxx-xxxx-xxxx-xxxx) for TestFlight uploads |
| —apple-app-id | string | iOS: Numeric App Store Connect app id (required together with —apple-id and —apple-app-specific-password) |
| —apple-key-id | string | iOS: App Store Connect API Key ID |
| —apple-issuer-id | string | iOS: App Store Connect Issuer ID |
| —apple-key-content | string | iOS: Base64-encoded App Store Connect API key (.p8) |
| —app-store-connect-team-id | string | iOS: App Store Connect Team ID |
| —ios-scheme | string | iOS: Xcode scheme to build (default: App) |
| —ios-target | string | iOS: Xcode target for reading build settings (default: same as scheme) |
| —ios-distribution | string | iOS: Distribution mode |
| —ios-provisioning-profile | string | iOS: Provisioning profile path or bundleId=path mapping (repeatable) |
| —android-keystore-file | string | Android: Base64-encoded keystore file |
| —keystore-key-alias | string | Android: Keystore key alias |
| —keystore-key-password | string | Android: Keystore key password |
| —keystore-store-password | string | Android: Keystore store password |
| —play-config-json | string | Android: Base64-encoded Google Play service account JSON |
| —android-flavor | string | Android: Product flavor to build (e.g. production). Required if your project has multiple flavors. |
| —no-playstore-upload | boolean | Skip Play Store upload for this build (nulls out saved play config). Requires —output-upload. |
| —submit-to-store-review | boolean | Submit the uploaded release for store review: Android completes the Play release; iOS submits the processed TestFlight build to App Store review. |
| —store-release-name | string | Store release name/version. Android uses it as the Google Play release name; iOS uses it as the App Store version. |
| —store-release-notes | string | Default 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-locale | string | Localized store release notes, repeatable as locale=notes, for example —store-release-notes-locale “fr-FR=Corrections”. |
| —ios-testflight-groups | string | iOS only: optional comma-separated TestFlight external group names or IDs for beta distribution. |
| —ios-automatic-release | boolean | iOS only: automatically release the App Store version after Apple approval. Default is manual release. |
| —no-ios-automatic-release | boolean | iOS only: keep the approved App Store version waiting for manual release. |
| —output-upload | boolean | Override output upload behavior for this build only (enable). Precedence: CLI > env > saved credentials |
| —no-output-upload | boolean | Override output upload behavior for this build only (disable). Precedence: CLI > env > saved credentials |
| —output-retention | string | Override output link TTL for this build only (1h to 7d). Examples: 1h, 6h, 2d. Precedence: CLI > env > saved credentials |
| —skip-build-number-bump | boolean | Skip automatic build number/version code incrementing. Uses whatever version is already in the project files. |
| —no-skip-build-number-bump | boolean | Override saved credentials to re-enable automatic build number incrementing for this build only. |
| -a, | string | API key to link to your account |
| —supa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| —supa-anon | string | Custom Supabase anon key (for self-hosting) |
| —verbose | boolean | Enable 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:
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-releaseIn 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"}.
🔹 Credentials
Section titled “ 🔹 Credentials”npx @capgo/cli@latest build credentialsManage 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/
Keep going from build
Section titled “Keep going from build”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.