### Example release-bundle command Source: https://stalliontech.io/learn/docs/cli/release-bundle-api-reference A concrete example of the release-bundle command with populated parameters. ```bash stallion release-bundle \ --project-id=64f5f341a43eb5ccf93548e4 \ --hash=6c8a45dcf5a3e983e389afada81449b2b326b2540758a55ca2227902a55f7e2a \ --app-version=1.0.1 \ --release-note="First test CI release" \ --ci-token=stl_zKNKb6JvW80DemZNomJF8EgxHo-KNcVo_u ``` -------------------------------- ### Update Release Example Source: https://stalliontech.io/learn/docs/cli/update-release-api-reference A concrete example of the update-release command with populated parameters. ```bash stallion update-release \ --project-id=64f5f341a43eb5ccf93548e4 \ --hash=6c8a45dcf5a3e983e389afada81449b2b326b2540758a55ca2227902a55f7e2a \ --release-note="First test CI release" \ --rollout-percent=27 \ --is-mandatory=true \ --ci-token=stl_zKNKb6JvW80DemZNomJF8EgxHo ``` -------------------------------- ### Publish Bundle Example Source: https://stalliontech.io/learn/docs/cli/usage-api-reference A concrete example of the publish-bundle command targeting an Android platform. ```bash stallion publish-bundle --upload-path=my-org/my-project/my-bucket --platform=android --release-note="my release" ``` -------------------------------- ### Example output Source: https://stalliontech.io/learn/docs/cli/list-commands/list-bundles Sample output showing the table format of listed bundles. ```txt Bundles Version Platform Promoted Created author ReleaseNote Hash 12 android true 2026-07-01T10:24:11.000Z jane@acme.com fix crash 6c8a45dcf5a3e983e389afada8144… 11 android false 2026-06-28T18:02:45.000Z jane@acme.com new onboarding 9d1b32acf7e6d072c114bfe631200… 2 bundles ``` -------------------------------- ### Install dependencies Source: https://stalliontech.io/learn/docs/expo-integration-with-stallion Install the required Expo config plugin and the Stallion SDK. ```bash npm install expo-stallion-plugin react-native-stallion ``` -------------------------------- ### Example output for list-projects Source: https://stalliontech.io/learn/docs/cli/list-commands/list-projects The standard table output showing projects, enabled platforms, and the current context. ```txt projects 1. my-project android·ios ← current 2. beta-app android 3. internal-tools — 3 projects ``` -------------------------------- ### Example output Source: https://stalliontech.io/learn/docs/cli/list-commands/list-patches Sample output showing the From and To versions, the difference in size, and the resulting patch size. ```txt Patches From To DiffSize PatchSize v11 · 1.0.1 v12 · 1.0.1 1.82 MB 214.3 KB v10 · 1.0.0 v12 · 1.0.1 2.10 MB 402.7 KB 2 patches · 6c8a45dcf5a3… ``` -------------------------------- ### Install Native Pods Source: https://stalliontech.io/learn/docs/sdk/installation Run the pod installation command to sync native dependencies for iOS and Android. ```plaintext npx pod-install ``` -------------------------------- ### Hash parameter example Source: https://stalliontech.io/learn/docs/cli/list-commands/list-patches Example of the required --hash parameter with a full hash string. ```bash --hash=6c8a45dcf5a3e983e389afada81449b2b326b2540758a55ca2227902a55f7e2a ``` -------------------------------- ### Example output for context command Source: https://stalliontech.io/learn/docs/cli/account-context-commands/context The standard output format when running the context command. ```txt Context Org acme Org Id 64f5f341a43eb5ccf93548e4 Region ap Project my-project Project Id 6650a2c1b7f93548e4d21a77 ``` -------------------------------- ### Example output of release-info Source: https://stalliontech.io/learn/docs/cli/list-commands/release-info Displays the formatted output showing build info, rollout progress, health status, and adoption metrics. ```txt ✔ build v12 · 6c8a45dcf5a3 ✔ platform android ● rollout ████████░░ 80% ● total users 12,431 release note fix crash on cold start bundle hash 6c8a45dcf5a3e983e389afada81449b2b326b2540758a55ca2227902a55f7e2a ✔ healthy · no rollback configured Adoption Metrics DOWNLOADS INSTALLS ROLLBACKS USERS 11,204 10,988 14 12,431 ``` -------------------------------- ### Example output of stallion use Source: https://stalliontech.io/learn/docs/cli/account-context-commands/use Displays the confirmation message after a context has been successfully set. ```txt ✔ Context set: acme / my-project (ap) Commands now default to this context. Override with flags, or change it with "stallion use". ``` -------------------------------- ### Example output Source: https://stalliontech.io/learn/docs/cli/account-context-commands/whoami Shows the format of the command output, including session status, user details, active context, and organization list. ```txt ✔ session authorized ✔ user Jane Doe ✔ email jane@acme.com ● context my-project · acme organizations 1. acme ap · admin ← current 2. acme-labs us · member ``` -------------------------------- ### Install stallion-cli with npm Source: https://stalliontech.io/learn/docs/migrating-from-codepush Install the Stallion CLI as a development dependency using npm. ```bash npm install --save-dev stallion-cli ``` -------------------------------- ### Example output for list-releases Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Displays the table format output showing release versions, authors, rollout status, and release IDs. ```txt releases · v1.0.1 Version Released by Rollout Status Release note Release ID v12 jane@acme.com ████████░░ 80% ✔ live fix crash 6650a2c1b7f93548e4d21a77 v11 jane@acme.com ██████████ 100% ✖ rolled back bad build 6650a2c1b7f93548e4d21a12 2 releases · v1.0.1 ``` -------------------------------- ### Cursor MCP Install Link Source: https://stalliontech.io/learn/docs/mcp/connect A one-click installation URL for configuring the Stallion MCP server in Cursor. ```bash https://cursor.com/install-mcp?name=stallion&config=eyJ1cmwiOiJodHRwczovL21jcC5zdGFsbGlvbnRlY2guaW8vbWNwIn0= ``` -------------------------------- ### Install stallion-cli with Yarn Source: https://stalliontech.io/learn/docs/migrating-from-codepush Install the Stallion CLI as a development dependency using Yarn. ```bash yarn add -D stallion-cli ``` -------------------------------- ### Example output for list-buckets Source: https://stalliontech.io/learn/docs/cli/list-commands/list-buckets The standard table output showing bucket names and their last updated timestamps. ```txt Buckets NAME UPDATED featurebucket 2026-07-01T10:24:11.000Z hotfixes 2026-06-28T18:02:45.000Z 2 buckets ``` -------------------------------- ### Install Bugsnag Source Maps Uploader Source: https://stalliontech.io/learn/docs/upload-source-maps/bugsnag Install the required package using npm or yarn. ```bash npm install --save-dev @bugsnag/source-maps # or yarn add --dev @bugsnag/source-maps ``` -------------------------------- ### Minimal update prompt implementation Source: https://stalliontech.io/learn/docs/sdk/js-update-api A minimal example showing how to use the useStallionUpdate hook to display a modal when a restart is required for an update. ```tsx import React from "react"; import { Modal, Text, Button } from "react-native"; import { useStallionUpdate, restart } from "react-native-stallion"; const UpdatePrompt = () => { const { isRestartRequired, newReleaseBundle } = useStallionUpdate(); if (!isRestartRequired) return null; return ( {newReleaseBundle?.releaseNote ?? "A new update is ready!"} ); }; ``` -------------------------------- ### Install Stallion CLI Source: https://stalliontech.io/learn/docs/cli/account-context-commands/overview Install the specific version of the Stallion CLI that supports account and context commands. ```bash npm install -g stallion-cli@2.6.0-alpha.2 ``` -------------------------------- ### JSON output for release-bundle Source: https://stalliontech.io/learn/docs/cli/ci-automation-json-output Example of the JSON object returned by the release-bundle command when using the --json flag. ```json { "id": "6650a2c1…", "version": 12, "appVersion": "1.0.1", "hash": "6c8a45…", "projectId": "64f5f341…" } ``` -------------------------------- ### JSON output for publish-bundle Source: https://stalliontech.io/learn/docs/cli/ci-automation-json-output Example of the JSON object returned by the publish-bundle command when using the --json flag. ```json { "version": 12, "hash": "6c8a45…", "platform": "android", "uploadPath": "acme/my-project/featurebucket", "bucketCreated": false } ``` -------------------------------- ### Install Stallion SDK via npm Source: https://stalliontech.io/learn/docs/migrating-from-codepush Use npm to add the Stallion SDK to your project dependencies. ```bash npm install react-native-stallion ``` -------------------------------- ### GitHub Actions Step for publishing Source: https://stalliontech.io/learn/docs/cli/ci-automation-json-output Example of a GitHub Actions workflow step that publishes a bundle and captures the hash for subsequent steps. ```yaml - name: Publish OTA update run: | HASH=$(stallion publish-bundle \ --upload-path=acme/my-project/featurebucket \ --platform=android \ --release-note="${{ github.event.head_commit.message }}" \ --ci-token="${{ secrets.STALLION_CI_TOKEN }}" \ --json | jq -r '.hash') echo "BUNDLE_HASH=$HASH" >> "$GITHUB_ENV" ``` -------------------------------- ### Example JSON output Source: https://stalliontech.io/learn/docs/cli/account-context-commands/context The raw JSON structure returned when using the --json flag. ```json { "orgId": "64f5f341a43eb5ccf93548e4", "orgName": "acme", "region": "ap", "projectId": "6650a2c1b7f93548e4d21a77", "projectName": "my-project" } ``` -------------------------------- ### Install Stallion SDK via Yarn Source: https://stalliontech.io/learn/docs/migrating-from-codepush Use Yarn to add the Stallion SDK to your project dependencies. ```bash yarn add react-native-stallion ``` -------------------------------- ### Fully non-interactive stallion use example Source: https://stalliontech.io/learn/docs/cli/account-context-commands/use Sets both the organization and project IDs in a single command to avoid all interactive prompts. ```bash stallion use --org-id=64f5f341a43eb5ccf93548e4 --project-id=6650a2c1b7f93548e4d21a77 ``` -------------------------------- ### JSON output for update-release Source: https://stalliontech.io/learn/docs/cli/ci-automation-json-output Example of the JSON object returned by the update-release command when using the --json flag. ```json { "projectId": "64f5f341…", "hash": "6c8a45…", "rolloutPercent": 50, "isMandatory": true, "isPaused": false, "isRolledBack": false } ``` -------------------------------- ### Configure Bugsnag with ACTIVE_RELEASE_HASH Source: https://stalliontech.io/learn/docs/upload-source-maps/bugsnag Import ACTIVE_RELEASE_HASH from react-native-stallion and pass it to the Bugsnag start configuration as the codeBundleId. This requires react-native-stallion version 2.4.0-alpha.5 or higher. ```tsx import { AppRegistry } from 'react-native'; import App from './App'; import { name as appName } from './app.json'; import Bugsnag from '@bugsnag/react-native'; import { ACTIVE_RELEASE_HASH } from 'react-native-stallion'; Bugsnag.start({ codeBundleId: ACTIVE_RELEASE_HASH ?? '', }); AppRegistry.registerComponent(appName, () => App); ``` -------------------------------- ### Prebuild and build the app Source: https://stalliontech.io/learn/docs/expo-integration-with-stallion Run prebuild to patch native projects, then create your build using EAS. ```bash npx expo prebuild ``` ```bash eas build --platform ios eas build --platform android ``` -------------------------------- ### Typical Account and Context Workflow Source: https://stalliontech.io/learn/docs/cli/account-context-commands/overview A standard sequence of commands to authenticate, configure the default environment, verify the settings, and execute a command without manual flags. ```bash # 1. Log in (opens the browser) stallion login # 2. Pick your default org and project (interactive) stallion use # 3. Verify what is set stallion whoami # 4. Run any command — no --org-id / --project-id needed stallion list-buckets ``` -------------------------------- ### Install Stallion CLI globally with Yarn Source: https://stalliontech.io/learn/docs/cli/installation Use this command to install the CLI package globally on your system using the Yarn package manager. ```bash yarn global add stallion-cli ``` -------------------------------- ### Install Stallion CLI globally with npm Source: https://stalliontech.io/learn/docs/cli/installation Use this command to install the CLI package globally on your system using the npm package manager. ```bash npm install -g stallion-cli ``` -------------------------------- ### List projects command Source: https://stalliontech.io/learn/docs/cli/list-commands/list-projects Lists all projects in the organization with their enabled platforms. ```bash stallion list-projects ``` -------------------------------- ### Run release-info command Source: https://stalliontech.io/learn/docs/cli/list-commands/release-info Executes the command to inspect a production release. ```bash stallion release-info ``` -------------------------------- ### Publish Bundle Command Syntax Source: https://stalliontech.io/learn/docs/cli/usage-api-reference The base command structure for publishing a bundle to a specified bucket for either Android or iOS. ```bash stallion publish-bundle --upload-path=orgname/project-name/bucket-name --platform=android/ios --release-note="notes" ``` -------------------------------- ### Show current context Source: https://stalliontech.io/learn/docs/cli/account-context-commands/context Displays the currently saved organization and project context. ```bash stallion context ``` -------------------------------- ### Run list-releases command Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Executes the command to list production releases for an app version. ```bash stallion list-releases ``` -------------------------------- ### Typical List Commands Workflow Source: https://stalliontech.io/learn/docs/cli/list-commands/overview A common sequence of commands to set context, inspect buckets, bundles, and releases, and drill down into specific patch information. ```bash stallion use # set org + project once stallion list-buckets # find your bucket stallion list-bundles # grab a bundle hash from staging stallion list-releases # check what's live in production stallion release-info # drill into one release's rollout & adoption stallion list-patches --hash= # inspect delta patch sizes ``` -------------------------------- ### Run release-info alias Source: https://stalliontech.io/learn/docs/cli/list-commands/release-info Executes the command using the short alias. ```bash stallion ri ``` -------------------------------- ### Run list-releases in CI Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Executes the command non-interactively using a CI token, requiring project-id, platform, and app-version. ```bash stallion list-releases \ --ci-token= \ --project-id= \ --platform=android \ --app-version=1.0.1 ``` -------------------------------- ### List bundles command Source: https://stalliontech.io/learn/docs/cli/list-commands/list-bundles The primary command to list staging bundles in a bucket. ```bash stallion list-bundles ``` -------------------------------- ### Run whoami command Source: https://stalliontech.io/learn/docs/cli/account-context-commands/whoami Displays the current user, email, organizations, and active context. ```bash stallion whoami ``` -------------------------------- ### Entry File Parameter Source: https://stalliontech.io/learn/docs/cli/usage-api-reference Specifies the JavaScript entry file for the bundle, defaulting to index.js. ```bash --entry-file="index.debug.js" ``` -------------------------------- ### Detecting Mandatory Updates with useStallionUpdate Source: https://stalliontech.io/learn/docs/codepush-mandatory-updates Use the useStallionUpdate hook to access the newReleaseBundle object and check the isMandatory flag to determine if an update requires immediate installation. ```tsx import { useStallionUpdate } from "react-native-stallion"; const UpdateHandler = () => { const { newReleaseBundle, isRestartRequired } = useStallionUpdate(); // Check if the new release is mandatory if (newReleaseBundle?.isMandatory) { // Handle mandatory update flow } return null; }; ``` -------------------------------- ### Configure Stallion in Android strings.xml Source: https://stalliontech.io/learn/docs/sdk/installation Add the StallionProjectId and StallionAppToken strings to your Android strings.xml file. Ensure the app token starts with spb_ and is 46 characters long. ```xml my_app 66ed03380eb95c9c316256d3 spb_FTLx5umZgKLTEyiMNf9-81BgANTOvx7pNhA-gFXbg9 ``` -------------------------------- ### Run stallion use Source: https://stalliontech.io/learn/docs/cli/account-context-commands/use Executes the command to initiate the interactive context selection process. ```bash stallion use ``` -------------------------------- ### Configure Stallion in iOS info.plist Source: https://stalliontech.io/learn/docs/sdk/installation Add the StallionProjectId and StallionAppToken keys to your iOS info.plist file. Ensure the app token starts with spb_ and is 46 characters long. ```xml StallionProjectId 66ed03380eb95c9c316256d3 StallionAppToken spb_FTLx5umZgKLTEyiMNf9-81BgANTOvx7pNhA-gFXbg9 ``` -------------------------------- ### Publish Bundle with Signing Source: https://stalliontech.io/learn/docs/bundle-signing Publish a bundle using the --private-key parameter to ensure it is cryptographically signed. ```bash stallion publish-bundle --upload-path=orgname/project-name/bucket-name --platform=android/ios --release-note="notes" --private-key="Path to your private key" ``` ```bash stallion publish-bundle --upload-path=my-org/my-project/my-bucket --platform=android --release-note="my release notes" --private-key=./stallion/secrets/private-key.pem ``` ```bash stallion publish-bundle --upload-path=my-org/my-project/my-bucket --platform=ios --release-note="my release notes" --private-key=./stallion/secrets/private-key.pem ``` -------------------------------- ### Bucket parameter Source: https://stalliontech.io/learn/docs/cli/list-commands/list-bundles Specifying the bucket name to list bundles from. ```bash --bucket=featurebucket ``` -------------------------------- ### Output list-releases as JSON Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Prints the release list in raw JSON format instead of a table. ```bash stallion list-releases --json --platform=android --app-version=1.0.1 ``` -------------------------------- ### Configure MainApplication.kt for React Native 82+ Source: https://stalliontech.io/learn/docs/sdk/installation Override the reactHost property in MainApplication.kt to integrate Stallion bundle path. ```kotlin // ...other imports import com.facebook.react.ReactHost import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost import com.stallion.Stallion class MainApplication : Application(), ReactApplication { override val reactHost: ReactHost by lazy { getDefaultReactHost( context = applicationContext, packageList = PackageList(this).packages, jsBundleFilePath = Stallion.getJSBundleFile(applicationContext) ) } } ``` -------------------------------- ### Check rollout percent in a script Source: https://stalliontech.io/learn/docs/cli/list-commands/release-info Uses the --json flag to pipe output into jq for programmatic access to specific fields. ```bash stallion release-info --json ... | jq '.rolloutPercent' ``` -------------------------------- ### Parameter: --rollout-percent Source: https://stalliontech.io/learn/docs/cli/update-release-api-reference Sets the rollout percentage (0–100) for phased releases. ```bash --rollout-percent=50 ``` -------------------------------- ### Run release-info with CI token Source: https://stalliontech.io/learn/docs/cli/list-commands/release-info Executes the command non-interactively for CI pipelines by providing all required parameters. ```bash stallion release-info \ --ci-token= \ --project-id= \ --platform=android \ --app-version=1.0.1 \ --promoted-id=6650a2c1b7f93548e4d21a77 ``` -------------------------------- ### Run whoami alias Source: https://stalliontech.io/learn/docs/cli/account-context-commands/whoami An alternative command alias for whoami. ```bash stallion me ``` -------------------------------- ### Parameter: --release-note Source: https://stalliontech.io/learn/docs/cli/update-release-api-reference An optional short description of the release contents. ```bash --release-note="your release note" ``` -------------------------------- ### Set app-version parameter Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Specifies the app version to filter the release list. ```bash --app-version=1.0.1 ``` -------------------------------- ### Set platform parameter Source: https://stalliontech.io/learn/docs/cli/list-commands/list-releases Specifies the target platform for the release list. ```bash --platform=android ``` -------------------------------- ### Upload bundle using stallion-cli Source: https://stalliontech.io/learn/docs/migrating-from-codepush Upload your application bundle to the specified bucket and platform. ```bash npx stallion publish-bundle --upload-path=// --platform= --release-note="Migrated from CodePush" ```