Create a new React Native app with production-ready boilerplate - TypeScript, Redux Toolkit, Redux Saga, React Navigation, Theming, MMKV Storage, and more
npm install @niteshchowdhary/create-react-native-appCreate a new React Native app with a production-ready boilerplate template in seconds.


``bash`
npx @niteshchowdhary/create-react-native-app MyApp
cd MyApp
yarn ios # or yarn android
- React Native 0.83+ - Latest stable version
- TypeScript - Full type safety with path aliases
- Redux Toolkit - Modern state management
- Redux Saga - Side effect management
- Redux Persist + MMKV - High-performance state persistence
- React Navigation 7 - Type-safe Stack & Bottom Tabs navigation
- Theming System - Dark/Light mode with persistence
- UI Components - Button, TextInput, Toast, Dialog, BottomSheet, and more
- Environment Config - Multi-environment support (.env)
- Hermes Engine - Optimized JavaScript engine enabled
- New Architecture - React Native's new architecture enabled
- Form Validation - Built-in validation schemas
`bash`
npx @niteshchowdhary/create-react-native-app MyApp
| Option | Description |
|--------|-------------|
| --skip-install | Skip installing dependencies |--npm
| | Use npm instead of yarn |
`bashCreate app with default settings (yarn)
npx @niteshchowdhary/create-react-native-app MyApp
Project Structure
`
MyApp/
├── src/
│ ├── assets/ # Fonts, images, SVGs
│ ├── components/ # Reusable UI components
│ │ ├── core/ # Base components (Button, Text, TextInput)
│ │ └── ui/ # Complex components (Dialog, BottomSheet)
│ ├── config/ # Environment configuration
│ ├── constants/ # App constants (colors, fonts)
│ ├── features/ # Feature-based screens
│ ├── hooks/ # Custom React hooks
│ ├── navigation/ # Navigation setup
│ ├── providers/ # Context providers (Theme)
│ ├── schema/ # Validation schemas
│ ├── services/ # API services (Axios)
│ ├── store/ # Redux store, slices, sagas
│ ├── styles/ # Global styles, theme colors
│ ├── types/ # TypeScript definitions
│ └── utils/ # Utility functions
├── android/ # Android native code
├── ios/ # iOS native code
├── App.tsx # App entry point
└── package.json
`What's Included
$3
- Redux Toolkit with typed hooks (useAppDispatch, useAppSelector)
- Redux Saga for async operations
- Redux Persist with MMKV storage for persistence$3
- React Navigation 7 with native stack
- Bottom tabs navigation
- Type-safe route params$3
- Core: Button, Text, TextInput, Screen, Spinner, Switch, ProgressBar
- UI: Toast, Dialog, BottomSheet, Card, Checkbox, RadioButton, Chips, SearchBar, Divider$3
- Dark/Light mode support
- System preference detection
- Theme persistence across app restarts
- Comprehensive color system$3
- Axios with interceptors
- Safe async error handling
- Environment-based base URL$3
- MMKV high-performance storage
- Singleton pattern
- Type-safe getters/settersAvailable Scripts
After creating your app, these scripts are available:
`bash
Start Metro bundler
yarn startRun on iOS (with pod install)
yarn iosRun on Android
yarn androidRun on specific environments
yarn ios:dev # Development
yarn ios:stag # Staging
yarn ios:prod # Productionyarn android:dev # Development
yarn android:stag # Staging
yarn android:prod # Production
Linting
yarn lint
`Environment Setup
The template creates example environment files. Configure them for your project:
`bash
.env.development
BASE_URL=https://api.dev.example.com
ENV=development.env.staging
BASE_URL=https://api.staging.example.com
ENV=staging.env.production
BASE_URL=https://api.example.com
ENV=production
``- Node.js >= 18.0.0
- React Native CLI
- Xcode (for iOS)
- Android Studio (for Android)
- CocoaPods (for iOS)
MIT © Nitesh Chowdhary