---
title: Overview
hideTOC: true
description: An overview of bare React Native apps with Expo tools.
---
import { BoxLink } from '~/ui/components/BoxLink';
import { Terminal } from '~/ui/components/Snippet';
import { DEMI, CODE } from '~/ui/components/Text';
A bare React Native app is a project where developers make direct changes to their native **android** and **ios** project directories rather than continuously generating them on demand using [app config](/workflow/configuration/) and [prebuild](/workflow/prebuild). All tools and services offered by Expo including [EAS](/eas), Expo CLI, and the libraries in the Expo SDK, are built around bare React Native apps.
## Prerequisites
Before you get started with a React Native app, make sure you have set up your developer environment from [React Native](https://reactnative.dev/docs/environment-setup).
## Get started
To bootstrap a new React Native project, use `create-expo-app` and run the following command:
> If you have an existing project or want to bootstrap with `npx react-native init`, then you need to [install the `expo` package](/bare/installing-expo-modules) manually.
Navigate into your project directory, and run the following commands to build the app locally for each platform:
> Learn more about [compiling native apps](/more/expo-cli/#compiling).
## Next steps
If you have already initialized a React Native app without create-expo-app, learn
how to install the Expo module library.
>
}
href="/bare/installing-expo-modules"
/>
Automate your native directories using the app.json.
>
}
href="/guides/adopting-prebuild"
/>