Development
Use the platform command that matches your work, keep generated files out of Git, and run the repository quality checks before review.
Common scripts
| Command | Purpose |
|---|---|
npm start | Start Metro for Android development. |
npm run android | Build, install, reverse port 8082, and launch Android. |
npm run android:activate | Reapply the port reverse and foreground the installed app. |
npm run ios:pods | Install CocoaPods dependencies for the native iOS app. |
npm run ios | Build, install, and launch native iOS. |
npm run web | Start the Vite browser preview. |
npm run build:installers | Generate Android debug and iOS simulator artifacts. |
Android development
npm run start:android npm run android
The scripts use Metro port 8082 and apply adb reverse tcp:8082 tcp:8082. This avoids collisions with unrelated development servers on port 8081.
iOS development
npm run ios:pods npm run ios
The helper requires full Xcode, installs Pods when missing, builds the OpenEdgeAI workspace, installs the simulator app, and launches it. Metro is not part of the native iOS path.
Quality checks
npm run lint npx tsc --noEmit npm test -- --runInBand
Do not commit
node_modules/dist/installer output- CocoaPods and platform build output
- Android or Xcode derived data
- Local model binaries
- Credentials, signing secrets, or personal machine configuration
Troubleshooting
Metro port conflict
Use the repository's Android 8082 scripts and confirm the device sees the matching reverse mapping.
Missing Android SDK
Set ANDROID_HOME or ANDROID_SDK_ROOT and confirm Android platform tools are available on PATH.
Missing model file
The app can start without a bundled model, but generation may request a compatible local asset. Follow the local models guide and do not commit the binary.
UI works in web, native call does not
The browser uses development fallbacks. Reproduce on the target mobile platform and inspect the native runtime and bridge status.
Open GitHub