Install and run
Install dependencies and run the Starter Kit on iOS or Android.
You need Node 20+, pnpm or npm, Xcode (iOS), and Android Studio (Android).
Expo Go is not supported
The Starter Kit uses native modules such as RevenueCat, Firebase, and OneSignal. Expo Go cannot load those. You must run a dev client / native build with prebuild and ios:run:clean or android:run:clean.
From the Starter Kit project root:
1. Install
cp .env.example .env.local
cp .mcp.json.example .mcp.json
npm installFill .env.local as you add services. The app boots without every key, but those features stay inactive until the matching env var and flag are set.
Copy .mcp.json.example to .mcp.json so Claude Code / Cursor can use the bundled MCP servers. Details: MCP servers.
2. Native config files
Replace the placeholder Firebase files with your own project:
GoogleService-Info.plist(iOS)google-services.json(Android)
Keep the same filenames and paths. app.json already points at them.
3. Run
First generate the native projects (required the first time, and after changing native plugins):
npm run prebuildThen build and launch on a device or simulator:
npm run ios:run:clean
# or
npm run android:run:cleanprebuild regenerates ios/ and android/ from app.json. The :run:clean scripts build a fresh native app with a dev client (--no-build-cache --device).
For day-to-day work after the first native build:
npm run start
npm run ios:run
# or
npm run android:runScripts
| Script | What it does |
|---|---|
npm run start | Metro bundler (expo start --clear) |
npm run prebuild | Clean Expo prebuild (expo prebuild --clean) |
npm run ios / android | Native debug build |
npm run ios:run / android:run | Native build on a connected device |
npm run ios:run:clean / android:run:clean | Fresh native build, no cache, on device |
npm run eas:ios / eas:android / eas:all | Cloud build |
npm run eas:ios:local / eas:android:local | Local EAS development build |
npm run eas:submit:ios / android / all | Store submit |
Next: put the project on your GitHub, then rename it.