Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/PixelGenetics/Wordle-LOTR-RN/llms.txt

Use this file to discover all available pages before exploring further.

Once the repository is cloned and dependencies are installed, you can start the Expo development server and run Wordle LOTR on a physical device, an emulator, or in a web browser. The package.json exposes a set of scripts that cover every common run target — from a quick Metro server start to full native builds for Android and iOS.

Available Scripts

ScriptCommandDescription
startnpm startStarts the Expo development server (Metro bundler)
androidnpm run androidBuilds and runs the app on a connected Android device or emulator
iosnpm run iosBuilds and runs the app on the iOS simulator (macOS only)
webnpm run webStarts the Expo web development server (expo start --web)
lintnpm run lintRuns ESLint against the codebase using expo lint
reset-projectnpm run reset-projectMoves app/, components/, hooks/, constants/, and scripts/ to /app-example (or deletes them) and creates a blank app/index.tsx and app/_layout.tsx

Starting the Dev Server

Run the following command from the project root to start the Metro bundler:
npx expo start
Once the server is running, a QR code is printed in the terminal. Open the Expo Go app on your Android or iOS device, scan the QR code, and Wordle LOTR will load over your local network — no native build step required. The terminal also lets you press a to open an Android emulator, i for the iOS simulator, or w for the web browser directly from the same session.

Running on Android Emulator

Before running the Android target, make sure an Android Virtual Device (AVD) is already running inside Android Studio, or a physical Android device is connected via USB with developer mode enabled. Then run:
npm run android
Expo compiles the native Android project with Gradle and deploys the resulting APK to the active device or emulator automatically.

Running on iOS Simulator

The iOS target is only available on macOS. Xcode must be installed along with at least one iOS simulator runtime. With those in place, run:
npm run ios
Expo will boot the iOS simulator (or use one that is already open) and install the app. On first run, Xcode may prompt you to accept its license agreement.

Resetting the Project

The reset-project script runs scripts/reset-project.js, which removes the existing app/, components/, hooks/, constants/, and scripts/ directories (optionally backing them up to /app-example) and replaces them with a minimal app/index.tsx and app/_layout.tsx. It is an Expo scaffold utility intended to strip the starter template back to a blank slate:
npm run reset-project
Running reset-project is a destructive operation. It will delete (or move to /app-example) the app/, components/, hooks/, constants/, and scripts/ directories and replace them with a blank scaffold. Any local changes that have not been committed to version control will be permanently lost. Make sure to commit or stash your work before running this script.
Three things worth noting from app.json before you start developing: the app is locked to portrait orientation ("orientation": "portrait"), so landscape layouts are intentionally unsupported. React Native’s new architecture is enabled ("newArchEnabled": true), meaning the app uses the Fabric renderer and the new JSI-based bridge by default. Typed routes are also enabled ("typedRoutes": true), giving you full TypeScript autocomplete for all expo-router navigation paths.

Build docs developers (and LLMs) love