new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Expo & React Native · all subjects

config & setup

29 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

System requirements for Expo

Expo requires Node.js LTS. It is supported on macOS, Windows (Powershell and WSL 2), and Linux.

create-expo-app default project template command

To create a new Expo project with the default template, run: npx create-expo-app@latest --template default@sdk-57 (npm), yarn create expo-app --template default@sdk-57 (yarn), pnpm create expo-app --template default@sdk-57 (pnpm), or bun create expo --template default@sdk-57 (bun). The default project includes example code to help you get started.

create-expo-app --example option

To browse the full list of Expo examples interactively, run create-expo-app with the --example option and no name. To create a known example directly, pass its name, such as: npx create-expo-app@latest --example with-widgets (npm), yarn create expo-app --example with-widgets (yarn), pnpm create expo-app --example with-widgets (pnpm), or bun create expo --example with-widgets (bun).

Analytics services require native code configuration

Most analytics SDKs require configuring custom native code. Native code is not configurable when using Expo Go. To use analytics services, you must create a development build, which allows you to use any of the available analytics services.

Installing Expo MCP in VS Code

To install Expo MCP in VS Code: open Command Palette (Cmd ⌘ + Shift + P or Ctrl + Shift + P); run MCP: Add Server; select HTTP; enter the server URL as https://mcp.expo.dev/mcp and name it expo.

Installing Expo MCP in Codex

To install Expo MCP in Codex, run: codex mcp add expo --url https://mcp.expo.dev/mcp. This command adds the MCP server to your Codex configuration file and prompts you to authenticate with your Expo account.

Expo MCP authentication process

After installing the MCP server, authenticate by signing in with your Expo account in the browser when prompted. The server will generate an access token automatically.

Reconnect MCP after starting or stopping development server

Whenever you start or stop the development server, you must reconnect or restart your MCP server connection in your AI-assisted tool to ensure the AI-assisted tool gets refreshed capabilities.

Setting up local capabilities for Expo MCP

Local capabilities are only available in SDK 54 and later. To set up local capabilities: install the expo-mcp package as a dev dependency using npx expo install expo-mcp --dev (or equivalent for yarn, pnpm, or bun); ensure you are logged in to Expo CLI with the same account used to authenticate with the MCP server (run npx expo whoami or npx expo login); start the dev server with MCP capabilities by running EXPO_UNSTABLE_MCP_SERVER=1 npx expo start (or equivalent for your package manager).

Requirements for using Expo MCP Server

To use Expo MCP Server you need: an Expo account; an Expo project on the latest SDK (create with npx create-expo-app@latest --template default@sdk-57, or ensure existing project has latest expo package installed); and an AI-assisted tool with remote MCP support such as Claude, Claude Code, Cursor, VS Code, or other tools with remote MCP server support.

Expo MCP Server connection details

Expo MCP Server uses the following connection parameters: Server type is Streamable HTTP; URL is https://mcp.expo.dev/mcp; Authentication method is OAuth.

Installing Expo MCP in Claude Code

To install Expo MCP in Claude Code, run the command: claude mcp add --transport http expo https://mcp.expo.dev/mcp. After installation, run /mcp in your Claude Code session to authenticate.

create-expo-app --version option

The --version flag prints the version number and exits.

create-expo-app --no-install option

The --no-install flag skips installing npm dependencies or CocoaPods.

create-expo-app --help option

The --help flag prints the list of available options and exits.

create-expo-app command to initialize new Expo project

To create a new Expo and React Native project, run `npx create-expo-app@latest --template default@sdk-57` with npm, `yarn create expo-app --template default@sdk-57` with Yarn, `pnpm create expo-app --template default@sdk-57` with pnpm, or `bun create expo --template default@sdk-57` with Bun. The command will prompt you to enter the app name, which is used in the app config's name property.

create-expo-app templates available

create-expo-app provides the following templates: (1) default - includes Expo CLI, Expo Router, TypeScript, suitable for multi-screen apps; (2) blank - minimum dependencies without navigation; (3) blank-typescript - blank with TypeScript; (4) tabs - file-based routing with Expo Router and TypeScript; (5) bare-minimum - blank with android and ios native directories, runs npx expo prebuild during setup.

create-expo-app --yes option

The --yes flag uses default options to create a new project without prompts.

create-expo-app --no-agents-md option

The --no-agents-md flag skips generating AGENTS.md, CLAUDE.md, and .claude/settings.json files. By default, create-expo-app generates these files so AI coding agents such as Claude Code have Expo-specific context and the expo skills plugin configured automatically. The generated AGENTS.md points to the versioned Expo docs matching the project's SDK version.

create-expo-app --example option

The --example option initializes a project using examples from expo/examples repository. Running `npx create-expo-app --example` shows an interactive list of available examples. Specific examples can be set up by name, such as `npx create-expo-app --example with-router` for Expo Router or `npx create-expo-app --example with-react-navigation` for React Navigation.

SDK version selection in create-expo-app

Without the --template flag, create-expo-app prompts which Expo SDK version to use. Select Latest (SDK 57) for most projects, or for learning with Expo Go (SDK 54), which matches the Google Play Store and Apple App Store versions of Expo Go.

npm package manager support in create-expo-app

npm is installed as part of Node.js installation. For EAS, npm is supported by default if the project directory contains package-lock.json.

Yarn 1 Classic package manager support in create-expo-app

Yarn 1 (Classic) is usually installed as a global dependency of npm. For EAS, Yarn 1 is supported by default if the project directory contains yarn.lock.

Yarn 2+ Modern package manager configuration

Yarn 2+ uses a Plug'n'Play (PnP) node linking model that does not work with React Native. By default, a project created with create-expo-app and Yarn 2+ uses nodeLinker set to node-modules. For EAS, enable Corepack by setting corepack to true in the build profile in eas.json, and pin the Yarn version in package.json using the packageManager field (e.g., packageManager: yarn@4.14.1). Corepack then automatically downloads and uses the pinned Yarn version when EAS installs dependencies.

pnpm package manager configuration

By default, a project created with create-expo-app and pnpm uses nodeLinker set to hoisted to install dependencies in pnpm-workspace.yaml. In SDK 54 and later, Expo supports isolated installations, and the nodeLinker setting can be deleted to use isolated dependencies. For EAS, pnpm is supported by default if the project directory contains pnpm-lock.yaml.

Package manager migration in create-expo-app projects

If migrating from one package manager to another, the additional configuration required for the new package manager must be carried out manually in the project. If using EAS, any additional required steps must also be configured manually.

iOS bundle identifier format and definition

The ios.bundleIdentifier is a unique name for an app used by the Apple App Store to identify the app. The notation follows the format host.owner.app-name, for example com.owner.stickersmash where com.owner is the domain and stickersmash is the app name.

Create new Expo app with SDK 57

To create a new Expo app with the latest SDK, run `npx create-expo-app@latest --template default@sdk-57`. Without the `--template` flag, create-expo-app will prompt you to select an Expo SDK version. Select Latest (SDK 57) for most projects.

Expo Go SDK 54 for learning

Expo Go SDK 54 is available for learning and matches the versions available on Google Play Store and Apple App Store. Use `npx create-expo-app@latest --template default@sdk-54` to create a project with SDK 54 for learning purposes.

Give your agent this brain