Skip to main content

Prerequisites

  • Node.js 18+
  • pnpm 8+
  • Xcode with iOS Simulator
  • Expo Go app (for development builds) or EAS CLI

Local Development

1

Install dependencies

From the monorepo root:
pnpm install
2

Configure environment

cp apps/mobile/.env.example apps/mobile/.env
Fill in your Supabase credentials:
EXPO_CONFIG_MODE=development
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
Keep EXPO_CONFIG_MODE=development for Expo Go. EAS build scripts and EAS cloud builds set production automatically.
3

Start the dev server

pnpm dev:mobile
Or with specific network modes:
# Tunnel mode (for remote devices)
cd apps/mobile && pnpm dev:tunnel

# LAN mode
cd apps/mobile && pnpm dev:lan

Shared Package

The mobile app imports from @recipe-room/shared:
import {
  recipeSchema,
  type RecipeFormValues,
  FILM_SIMULATIONS,
  ApiClient
} from '@recipe-room/shared';
Changes to the shared package are picked up automatically during development since pnpm workspaces link them directly.

Useful Commands

CommandDescription
pnpm dev:mobileStart Expo dev server
cd apps/mobile && pnpm type-checkType check mobile app
cd apps/mobile && pnpm testRun mobile tests
cd apps/mobile && pnpm lintLint mobile code
For EAS build and submission commands, see Mobile Build Workflow.