Getting SkinFirts running locally is straightforward — you clone the repository, install JavaScript dependencies (and CocoaPods if you’re targeting iOS), start the Metro bundler, then launch the app on your emulator or physical device. The steps below walk you through the entire process from a clean machine to a live running app.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/BhushanBadhe39/SkinFirts/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following are installed and configured on your machine:| Requirement | Notes |
|---|---|
| Node.js ≥ 22.11.0 | Required by the engines field in package.json. Use nvm or fnm to manage versions. |
| Java 17+ | Required for Android builds. Set JAVA_HOME in your environment. |
| Android Studio | Provides the Android SDK, emulator, and adb. Follow the React Native Android setup guide. |
| Xcode | macOS only. Required for iOS builds. Install from the Mac App Store. |
| CocoaPods | macOS only. Manages iOS native dependencies. Install via sudo gem install cocoapods or Homebrew. |
Setup Steps
iOS only — install CocoaPods dependencies
On macOS, you need to install the Ruby bundler and then CocoaPods before running on iOS. Run these commands from the project root:
Start the Metro bundler
Metro is the JavaScript build tool for React Native. Start it in a dedicated terminal window and keep it running while you develop:
Run on Android
With Metro running, open a second terminal and launch the Android build:This executes
react-native run-android, which compiles the native code, installs the APK on a running emulator or connected device, and starts the app.Available Scripts
All scripts are defined inpackage.json and can be run with npm run <script> or yarn <script>:
| Script | Description |
|---|---|
android | Compiles and launches the app on an Android emulator or device. |
ios | Compiles and launches the app on the iOS Simulator or a connected device. |
start | Starts the Metro bundler. |
lint | Runs ESLint across the project using the @react-native/eslint-config ruleset. |
test | Runs the Jest test suite using the @react-native/jest-preset. |
Development Tips
Reloading the app
If you need to force a full reload (for example, to reset Redux state or clear the navigation stack):- Android emulator / device: Press R twice, or open the Dev Menu with Ctrl+M (Windows / Linux) or Cmd ⌘+M (macOS) and select Reload.
- iOS Simulator: Press R in the Simulator window.
Opening the Dev Menu
The React Native Dev Menu exposes useful tools like the Element Inspector, Performance Monitor, and remote JS debugging:- Android: Ctrl+M (Windows / Linux) or Cmd ⌘+M (macOS)
- iOS Simulator: Cmd ⌘+D