npx create-react-native-setup MyAppcreate-react-native-setup is a React Native CLI tool and bare React Native project generator. It scaffolds an Android & iOS app, installs compatible starter packages, and can configure Firebase, FCM push notifications, app icons, and splash screens—then prints a clear report of every change.
Inspired by the developer experience of tools like create-vite and create-expo-app, focused on bare React Native (Community CLI), not Expo managed workflow.
- Features
- Why use this package?
- Comparison with manual React Native setup
- Installation
- Usage
- Interactive CLI walkthrough
- Screenshots & GIFs
- Generated folder structure
- Supported React Native versions
- Firebase setup
- Push notifications
- Splash screen
- App icon generation
- Supported platforms
- Requirements
- Examples
- Troubleshooting
- FAQ
- Documentation
- Contributing
- Roadmap
- License
- Create React Native App experience via
npx - Bare React Native Android & iOS scaffold (
@react-native-community/cli) - Optional React Native starter package groups (navigation, animation, camera, Firebase, …)
- Compatible stable version resolution (no hardcoded peer versions)
- React Native Firebase config copy + Gradle / AppDelegate wiring
- FCM / push notifications (
@react-native-firebase/messaging, Notifee) - Native app icon generation (Android mipmaps + iOS AppIcon)
- Splash screen via BootSplash,
react-native-splash-screen, or native assets - Idempotent Babel / entry / permissions / Info.plist steps
- Interactive or fully non-interactive (
--yes)
Blank npx @react-native-community/cli init is a great starting point—but teams still re-do Firebase, FCM, icons, splash, and peer-compatible installs on every project.
create-react-native-setup is a React Native bootstrap / project generator that keeps bare RN ownership while removing repetitive setup.
| Task | Manual bare RN | create-react-native-setup |
|---|---|---|
| Create app | Community CLI init | Same foundation + guided extras |
| Pick libraries | Search, trial, peer conflicts | Catalog groups + compatible resolve |
| Firebase | Hand-edit Gradle / AppDelegate | Optional automated wiring |
| Push / FCM | Permissions + bootstrap by hand | messaging / Notifee options |
| App icon | Multiple densities / Xcode slots | One image → generated assets |
| Splash | Native themes / BootSplash CLI | Package choice + auto native wire |
| Visibility | Guess what changed | Terminal report + JSON |
Prefer npx (no global install):
npx create-react-native-setup MyAppOptional global install:
npm install -g create-react-native-setup
create-react-native-setup MyApp
npm install create-react-native-setuponly installs the CLI. It does not create a project. Always invoke the binary.
npx create-react-native-setup [projectName] [options]| Option | Description |
|---|---|
--yes, -y, --default |
Accept defaults; skip prompts |
--rn-version <ver> |
Pin React Native version |
--icon <file> |
Source image for app icons |
--splash <file> |
Source image for splash / BootSplash |
--splash-package <id> |
bootsplash | splash-screen | native |
--google-services <file> |
Android google-services.json |
--google-service-info <file> |
iOS GoogleService-Info.plist |
--notifications <list> |
messaging, notifee, or none |
--config <file> |
Custom package catalog |
--dry-run |
Plan only; no create/install |
--help, -h |
Help |
When you run without --yes:
- Project name
- React Native version (blank = latest stable)
- Package groups (Navigation, Animation, Camera, Firebase, …)
- Notifications multi-select (if enabled)
- Firebase config paths (if Firebase / messaging is in play)
- App icon? → path
- Splash screen? → package + path + background
- Automatic create → install → native setup → report
Add media under
docs/assets/after capture.
docs/assets/cli-walkthrough.gif # interactive prompts
docs/assets/report.png # final report
docs/assets/android-splash.png # cold start splash
docs/assets/app-icon.png # generated icon
MyApp/
├── android/ # Bare React Native Android
├── ios/ # Bare React Native iOS
├── src/ # Optional helpers (e.g. notifications)
├── App.tsx
├── index.js
├── package.json
├── babel.config.js
└── create-react-native-setup-report.json
- Default: latest stable React Native
- Pin with
--rn-version(e.g.0.81.6,0.86.2) - Validated against recent Community CLI templates (~0.81–0.86)
- Requires Node.js 18+
See docs/Firebase.md.
Copies google-services.json / GoogleService-Info.plist, wires Google Services Gradle and iOS FirebaseApp.configure().
See docs/PushNotifications.md.
Optional @react-native-firebase/messaging (FCM) and/or @notifee/react-native, Android POST_NOTIFICATIONS, iOS background modes, and a JS bootstrap file.
See docs/SplashScreen.md.
react-native-bootsplash(recommended) — autoBootTheme, Manifest, MainActivity, AppDelegatereact-native-splash-screen- Native assets only
See docs/Icons.md.
One image → Android launcher densities + iOS AppIcon.appiconset.
| Platform | Support |
|---|---|
| Android | Yes (bare RN) |
| iOS | Yes (macOS for pods / device) |
| Expo managed | No — use Expo tooling instead |
| Web | No |
- Node.js 18+
- npm registry access
- Android SDK for
run-android(ANDROID_HOME) - macOS + CocoaPods for iOS
# React Native starter — interactive
npx create-react-native-setup
# React Native boilerplate defaults
npx create-react-native-setup ShopApp --yes
# React Native Firebase + FCM
npx create-react-native-setup ShopApp --yes \
--notifications messaging,notifee \
--google-services ./google-services.json \
--google-service-info ./GoogleService-Info.plist
# Splash screen + app icon
npx create-react-native-setup ShopApp --yes \
--icon ./brand/icon.png \
--splash ./brand/splash.png \
--splash-package bootsplash
# Dry-run (CI-friendly)
npx create-react-native-setup ShopApp --yes --dry-runBefore: blank Community CLI app + hours of wiring.
After: report listing installed packages, native steps, and remaining manual actions (e.g. APNs).
See docs/Troubleshooting.md for Android SDK, BootTheme, pods, and npm auth issues.
See docs/FAQ.md.
| Guide | Path |
|---|---|
| Installation | docs/Installation.md |
| Configuration | docs/Configuration.md |
| Examples | docs/Examples.md |
| Firebase | docs/Firebase.md |
| Push notifications | docs/PushNotifications.md |
| Icons | docs/Icons.md |
| Splash screen | docs/SplashScreen.md |
| FAQ | docs/FAQ.md |
| Troubleshooting | docs/Troubleshooting.md |
| Migration | docs/Migration.md |
See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
git clone https://github.com/Sainidinesh123/create-react-native-setup.git
cd create-react-native-setup
npm install
npm test- First-class TypeScript template flags docs
- Demo GIF + social preview assets in-repo
- Optional CI workflow badge for GitHub Actions
- Gallery of generated report screenshots
- More catalog groups requested by the community
Security reports: SECURITY.md · Support: SUPPORT.md
npm: https://www.npmjs.com/package/create-react-native-setup
Changelog: CHANGELOG.md