Commands Cheat Sheet
An overview of all the commands to manage the development & release of your app
Commands in /
You can run the following commands from the root / of the repo:
| Command | What It Does | Documentation |
|---|---|---|
pnpm add <package> -F <workspaces...> | Installs the package via pnpm into the provided pnpm workspaces. Workspaces are defined by the name field in the package.json. | pnpm - Filtering |
pnpm dev | Prompts for which apps you'd like to start a development server for, and then starts it. It uses Turborepo to run the dev command in each app's package.json. In the case of the native app, it would run expo start, so you don't need to cd apps/native && npx expo start, you can just run pnpm dev instead. |
Commands in apps/native
You can run the following commands from within the apps/native directory:
| Command | What It Does | Documentation |
|---|---|---|
npx expo prebuild | Creates /android/ and /ios/ folders with Android and XCode projects, respectively. You will still need to run the Expo development server to bundle and serve your JS code, since XCode has no concept of JS bundling. npx expo run:ios and npx expo run:android will automatically run this. | Expo - Continuous Native Generation (CNG) |
npx expo run:ios | ⭐ Compiles your app locally and runs it. It creates the local native folders, (re-)installs native dependencies, creates the native runtime, installs it to a simulator, and starts up an Expo development server. | Expo - CLI - Compiling |
npx expo run:ios --device | ⭐ Compiles your app locally and runs it on a physical device. It does all of the above, but installs it on a device. You must have the device plugged into the computer. Once installed, it will connect to an Expo development server wirelessly and you can unplug it. | Expo - CLI - Compiling |
npx expo start | Starts an Expo development server. If you already have a development client installed on your device/simulator, you can just run this instead of run:ios to skip the need to re-compile the app each time. | Expo - CLI - Develop |
npx expo install <expo-package> | Installs the Expo package with consideration for your existing Expo SDK version to maximize compatibility | Expo - CLI - Install |
eas build -p <platform> -e <env> [--local] | Uses EAS to build the application for the provided platform and environment. Platforms are ios or android. Environments are specified in eas.json. Specify --local to build locally instead of in EAS. | EAS - Build |
eas submit | Submit a production build of your app to the App Stores for testing & release | EAS - Submit |