React Native starter template with TypeScript, configured for iOS and Android development + VS Code Debugging
- React Native
- TypeScript
- iOS & Android
- Node.js 22+ via nvm
- Xcode 16.2+ with iOS 18.3+ simulator
- Android Studio with Android SDK
- Java 17 (not Java 8)
- CocoaPods for iOS dependencies
- Watchman for file watching
Ensure these are in your ~/.bash_profile or ~/.zshrc:
# Android SDK
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
# Java 17 for React Native
export JAVA_HOME=/usr/local/opt/openjdk@17
export PATH=$JAVA_HOME/bin:$PATHgit clone https://github.com/jacklenzotti/react-native-starter
npm installInstall Ruby dependencies and CocoaPods:
# Install Ruby gems (includes CocoaPods)
bundle install
# Install iOS native dependencies
cd ios
export PATH=/usr/local/opt/ruby/bin:$PATH
export LANG=en_US.UTF-8
export PATH="$HOME/.nvm/versions/node/v22.20.0/bin:$PATH"
bundle exec pod install
cd ..No additional setup needed - just ensure Android Studio and SDK are installed.
npm startIn a new terminal:
npm run androidThe Android emulator will launch automatically.
In a new terminal:
npm run iosThe iOS simulator will launch automatically.
Note: First build takes 5-10 minutes. Subsequent builds are much faster (30-60s).
This project is configured for VS Code debugging:
- Open project in VS Code:
code . - Install the React Native Tools extension
- Press F5 and select:
- Debug iOS - Launch iOS simulator with debugging
- Debug Android - Launch Android emulator with debugging
- Attach to packager - Attach to running Metro bundler
Set breakpoints in TypeScript files and debug with full variable inspection.
When Metro is running, changes to your code will automatically refresh
For manual refresh:
- iOS: Press
Rin the simulator - Android: Press
Rtwice orCtrl+M(Windows/Linux) orCmd+M(macOS) → Reload
react-native-starter/
├── .vscode/ # VS Code debug configuration
│ ├── launch.json # Debug configurations
│ └── settings.json # Editor settings
├── android/ # Android native code
├── ios/ # iOS native code
├── __tests__/ # Jest tests
├── App.tsx # Root component
├── index.js # Entry point
├── package.json # npm dependencies
├── tsconfig.json # TypeScript configuration
├── Gemfile # Ruby dependencies (CocoaPods)
└── babel.config.js # Babel configuration
- React Native Documentation
- TypeScript Documentation
- React Native Debugging Guide
- React Native Performance
MIT