Skip to content

React Native quickstart

CodePushGo is the Capgo-style live update flow adapted for React Native. The app identity is your native bundle ID, so the CLI and console work with the same identifier already used by iOS and Android.

  1. Create an account at codepushgo.com/register, then sign in to console.codepushgo.com.

  2. In the console onboarding flow, choose the plan intent for the account. Registration itself only creates the Supabase auth user.

  3. From your React Native project, initialize CodePushGo. The CLI detects the native bundle ID from app.json, Expo config, Android Gradle files, or the iOS Xcode project.

    Terminal window
    npx @codepushgo/cli@latest init
  4. Install the updater JavaScript client.

    Terminal window
    npm install @codepushgo/react-native-updater
  5. Configure the updater in your app startup code.

    import { configureCodePushGo, startCodePushGo } from '@codepushgo/react-native-updater'
    configureCodePushGo({ endpoint: 'https://api.codepushgo.com' })
    await startCodePushGo({ defaultChannel: 'production' })
  6. Bundle and upload a JavaScript update.

    Terminal window
    npx @codepushgo/cli@latest bundle --platform ios
    npx @codepushgo/cli@latest upload

What happens by default

  • The CLI uses the detected React Native bundle ID as the CodePushGo app ID.
  • The updater sends both app_id and bundle_id from that same identity.
  • The Cloudflare Worker decides which bundle is available for the app, platform, device, and channel.
  • Supabase backs console auth, onboarding state, app metadata, releases, and plan intent records.

App store compliance

React Native JavaScript bundle updates are interpreted code updates. They must not change the app’s primary purpose, bypass platform security, or introduce native capabilities that were not already present in the submitted binary.