> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchtoday.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Prerequisites

> Install the tools required to run Launch

This guide covers the minimum tooling needed to run `apps/mobile` and
`apps/api` locally.

This repo uses `pnpm`, but you can use `pnpm`, `npm`, or `bun` if you prefer.

## Required Tools

<Steps>
  <Step title="Node.js 24+">
    Use the repo's `.nvmrc` via nvm:

    ```bash theme={null}
    nvm use
    node --version
    ```

    If nvm prompts you to install the version, run:

    ```bash theme={null}
    nvm install 24
    nvm use 24
    node --version
    ```
  </Step>

  <Step title="pnpm">
    ```bash theme={null}
    npm install -g pnpm
    pnpm --version
    ```
  </Step>

  <Step title="Expo CLI">
    ```bash theme={null}
    npm install -g @expo/cli
    expo --version
    ```
  </Step>

  <Step title="Git">
    ```bash theme={null}
    git --version
    ```
  </Step>

  <Step title="ngrok">
    Install ngrok for authentication callbacks and mobile API access:

    ```bash theme={null}
    brew install ngrok/ngrok/ngrok
    ```
  </Step>

  <Step title="Docker">
    Docker is the easiest way to run PostgreSQL locally.
  </Step>
</Steps>

## Mobile Runtime Options

For day-to-day development, a local development build is the most reliable
option and matches production behavior. You can run iOS and Android from the
workspace using `pnpm ios` or `pnpm android`.

If you prefer emulators, iOS requires Xcode and Android requires Android
Studio. Expo Go is available for quick UI checks, but it does not support
native modules that require custom config.

If you are using a physical device, make sure it is on the same Wi‑Fi
network as your computer.

## Expo Go Limitations

Expo Go runs a generic client and cannot load native code added by this repo.
Use a development build (and often a physical device) when you need native
SDKs like:

* RevenueCat
* Push notifications
* Other native SDKs with custom config plugins

## Store Accounts (for release)

Releasing to the app stores requires paid developer accounts. Apple releases
use App Store Connect with an Apple Developer account, and Android releases
use Google Play Console with a Google Play developer account.

## Next Steps

Continue to [Project Setup](/getting-started/setup) to fork, clone, and install
dependencies.
