Configuration sources
app.config.js reads EXPO_PUBLIC_APP_ENV. Production uses the base bundle ID and scheme, preview adds .preview and -preview, and development adds .dev and -dev.
EAS profiles
The checked-in EAS configuration defines:devandpreviewinternal-distribution buildsdev-storeandpreview-storestore builds and matching submit profilesproductioninternal-distribution buildsproduction-storestore builds and submission
bun run build:preview and bun run submit:preview call Nx targets. Inspect the corresponding target and EAS profile before running it; similarly named build and submit commands do not always use the same distribution profile.
Native services and secrets
The app selects environment-specific Android and iOS Google service files and changes OneSignal mode for store environments. Confirm the expected service files and EAS environment variables exist before building. Never commit API keys or signing credentials. Application code should consume validated configuration through@amisi-mobile-starter/config rather than reading process.env directly.
Release checklist
- Replace starter app name, bundle ID, scheme, owner, slug, domains, and EAS project identifiers.
- Confirm icon, adaptive icon, splash, and favicon assets.
- Verify the selected build profile, channel, environment, and distribution type.
- Confirm Firebase, OneSignal, authentication, subscription, and update configuration for that environment.
- Test universal links, custom schemes, permissions, sign-in, notifications, purchases, and app lock on a native build.
- Run Expo diagnostics:
- Run the canonical repository gate:
- Submit with the platform-specific command when you do not intend to submit both stores: