Files
2025-11-29 17:56:56 +08:00

217 lines
5.5 KiB
Markdown

---
name: react-native-setup
description: Expert in React Native environment setup and configuration. Helps with Node.js, Xcode, Android Studio, watchman installation, CocoaPods, simulators, emulators, and troubleshooting setup issues. Activates for environment setup, installation issues, xcode setup, android studio, simulators, emulators, react-native init, expo init, development environment, SDK configuration.
---
# React Native Setup Expert
Expert in React Native and Expo environment configuration across macOS, Windows, and Linux. Specializes in troubleshooting installation issues, SDK configuration, and development environment optimization.
## What I Know
### Prerequisites & Installation
**Node.js & npm**
- Node.js 18.x or later required
- Version verification: `node --version && npm --version`
- Troubleshooting Node.js installation issues
- npm vs yarn vs pnpm for React Native projects
**Xcode (macOS - iOS Development)**
- Xcode 15.x or later required
- Command line tools installation: `xcode-select --install`
- License acceptance: `sudo xcodebuild -license accept`
- Platform installation verification
- Common Xcode errors and fixes
**Android Studio (Android Development)**
- Android Studio Hedgehog or later
- Required SDK components:
- Android SDK Platform 34 or later
- Android SDK Build-Tools
- Android Emulator
- Android SDK Platform-Tools
- ANDROID_HOME environment variable setup
- SDK Manager configuration
- Common Android Studio issues
**Watchman**
- Installation via Homebrew (macOS): `brew install watchman`
- Purpose: File watching for fast refresh
- Troubleshooting watchman errors
- Cache clearing strategies
### Environment Configuration
**iOS Setup**
- CocoaPods installation and troubleshooting
- Pod install issues and resolutions
- Xcode project configuration
- Provisioning profiles and certificates
- iOS Simulator management
- Device selection: `xcrun simctl list devices`
**Android Setup**
- Gradle configuration
- Android SDK path configuration
- Environment variables (ANDROID_HOME, PATH)
- AVD (Android Virtual Device) creation
- Emulator performance optimization
- ADB troubleshooting
**Metro Bundler**
- Port 8081 configuration
- Cache clearing: `npx react-native start --reset-cache`
- Custom Metro config
- Asset resolution issues
### Common Setup Issues
**"Command not found" Errors**
- PATH configuration
- Shell profile updates (.zshrc, .bash_profile)
- Symlink issues
**SDK Not Found**
- SDK path verification
- Environment variable troubleshooting
- SDK Manager reinstallation
**Pod Install Failures**
- CocoaPods version issues
- Ffi gem compilation errors
- Ruby version compatibility
- `pod deintegrate && pod install` strategy
**Build Failures**
- Clean build strategies
- Dependency conflicts
- Native module compilation errors
- Xcode derived data clearing
## When to Use This Skill
Ask me when you need help with:
- Initial React Native environment setup
- Installing and configuring Xcode or Android Studio
- Setting up iOS simulators or Android emulators
- Troubleshooting "Command not found" errors
- Resolving SDK path or ANDROID_HOME issues
- Fixing CocoaPods installation problems
- Clearing Metro bundler cache
- Configuring development environment variables
- Troubleshooting build failures
- Setting up watchman for file watching
- Verifying development environment prerequisites
## Quick Setup Commands
### iOS (macOS)
```bash
# Install Xcode command line tools
xcode-select --install
# Accept Xcode license
sudo xcodebuild -license accept
# Install CocoaPods
sudo gem install cocoapods
# Install watchman
brew install watchman
# Verify setup
xcodebuild -version
pod --version
watchman version
```
### Android (All Platforms)
```bash
# Verify Android setup
echo $ANDROID_HOME
adb --version
emulator -version
# List available emulators
emulator -list-avds
# List connected devices
adb devices
```
### React Native Project
```bash
# Create new React Native project
npx react-native init MyProject
# Navigate to project
cd MyProject
# Install iOS dependencies
cd ios && pod install && cd ..
# Start Metro bundler
npm start
# Run on iOS (separate terminal)
npm run ios
# Run on Android (separate terminal)
npm run android
```
## Pro Tips
1. **Clean Builds**: When in doubt, clean everything
```bash
# iOS
cd ios && rm -rf build Pods && pod install && cd ..
# Android
cd android && ./gradlew clean && cd ..
# Metro
npx react-native start --reset-cache
```
2. **Environment Variables**: Always verify environment variables after changes
```bash
# Add to ~/.zshrc or ~/.bash_profile
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
# Reload shell
source ~/.zshrc
```
3. **Simulator Management**: List and boot specific devices
```bash
# iOS
xcrun simctl list devices
xcrun simctl boot "iPhone 15 Pro"
# Android
emulator -list-avds
emulator -avd Pixel_6_API_34
```
4. **Quick Health Check**: Verify entire environment
```bash
node --version # Node.js
npm --version # npm
xcodebuild -version # Xcode (macOS)
pod --version # CocoaPods (macOS)
adb --version # Android tools
watchman version # Watchman
```
## Integration with SpecWeave
This skill integrates with SpecWeave's increment workflow:
- Use during `/specweave:increment` planning for environment setup tasks
- Reference in `tasks.md` for setup-related acceptance criteria
- Include in `spec.md` for mobile-specific prerequisites
- Document setup issues in increment `reports/` folder