Run lint, type checking, and tests before opening a pull request.

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

CommandPurpose
npm startStart Metro for Android development.
npm run androidBuild, install, reverse port 8082, and launch Android.
npm run android:activateReapply the port reverse and foreground the installed app.
npm run ios:podsInstall CocoaPods dependencies for the native iOS app.
npm run iosBuild, install, and launch native iOS.
npm run webStart the Vite browser preview.
npm run build:installersGenerate 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.