Prerequisites
- Node.js 20 or newer
- Bun 1.3.14, matching the root
packageManager field
- Xcode and CocoaPods for iOS development
- Android Studio, an Android SDK, and an emulator for Android development
- An Expo account and EAS CLI access when pulling environments or creating cloud builds
The mobile app uses native Firebase, RevenueCat, OneSignal, secure storage,
and biometric modules. Use a native build or development client; Expo Go is
not sufficient.
Install the workspace
From the repository root:
The postinstall scripts patch React Native podspec paths and synchronize generated mobile theme CSS.
The repository uses EAS environments as the intended source for local mobile environment values:
This runs eas env:pull from apps/mobile and moves the generated file to the repository root as .env.local. You can also create a root .env.local manually for local-only values. Never commit credentials.
See Environment variables for every supported key.
Create and run a native app
The iOS wrapper patches the Podfile before running the native project.
Start Metro for the installed native app:
Use bun run start:clear when Metro caches become stale.
Regenerate native projects
To remove both generated native directories and regenerate them offline:
bun run clear removes apps/mobile/ios and apps/mobile/android. Commit or
preserve intentional native changes before running it.
The Configurator listens on port 5173 by default. Mintlify normally opens its preview on port 3000.
Verify the workspace
This runs affected Nx lint, typecheck, and test targets. See Testing for targeted commands.
Useful commands
check runs Biome checks across the workspace.
nx:show:mobile displays resolved mobile targets.
doctor runs Expo Doctor.