# Create and Start a project

{% stepper %}
{% step %}

### Create a project

{% tabs %}
{% tab title="npm" %}
{% code fullWidth="false" %}

```shellscript
npx create-expo-app@latest
```

{% endcode %}
{% endtab %}

{% tab title="yarn" %}

```shellscript
yarn create expo-app
```

{% endtab %}

{% tab title="bun" %}

```shellscript
bun create expo
```

{% endtab %}

{% tab title="pnpm" %}

```shellscript
pnpm create expo-app
```

{% endtab %}
{% endtabs %}

| Template                                                                                              | Description                                                                                                                                                                           |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`default`](https://github.com/expo/expo/tree/main/templates/expo-template-default)                   | Default template. Designed to build multi-screen apps. Includes recommended tools such as Expo CLI, Expo Router library and TypeScript configuration enabled. Suitable for most apps. |
| [`blank`](https://github.com/expo/expo/tree/main/templates/expo-template-blank)                       | Installs minimum required npm dependencies without configuring navigation.                                                                                                            |
| [`blank-typescript`](https://github.com/expo/expo/tree/main/templates/expo-template-blank-typescript) | A Blank template with TypeScript enabled.                                                                                                                                             |
| [`tabs`](https://github.com/expo/expo/tree/main/templates/expo-template-tabs)                         | Installs and configures file-based routing with Expo Router and TypeScript enabled.                                                                                                   |
| [`bare-minimum`](https://github.com/expo/expo/tree/main/templates/expo-template-bare-minimum)         | A Blank template with native directories (android and ios) generated. Runs [`npx expo prebuild`](https://docs.expo.dev/workflow/prebuild/) during the setup.                          |

{% endstep %}

{% step %}

### Config app.json

```json
{
  "expo": {
    "name": "name",
    "slug": "slug",
    "version": "1.0.0",
    "orientation": "portrait",
    "userInterfaceStyle": "automatic",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splashscreen_logo.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "ios": {
      "bundleIdentifier": "com.name",
      "infoPlist": {
        "SKAdNetworkItems": [
        ],
        "NSUserTrackingUsageDescription": "ATT_Privacy_Description"
      },
      "supportsTablet": false,
      "deploymentTarget": "15.0",
      "buildNumber": "1.0.0",
      "privacyManifests": {
        "NSPrivacyAccessedAPITypes": [
          {
            "NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryUserDefaults",
            "NSPrivacyAccessedAPITypeReasons": ["CA92.1"]
          }
        ]
      }
    },
    "android": {
      "package": "com.name",
      "versionCode": 1,
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      },
      "minSdkVersion": 24,
      "targetSdkVersion": 36
    },
    "plugins": [
      "expo-font",
      "expo-dev-client",
      [
        "react-native-google-mobile-ads",
        {
          "android_app_id": "ca-app-pub-xxx~xxx",
          "ios_app_id": "ca-app-pub-xxx~xxx",
          "androidAppId": "ca-app-pub-xxx~xxx",
          "iosAppId": "ca-app-pub-xxx~xxx"
        }
      ]
    ],
    "extra": {
      "eas": {
        "projectId": "xxxxx"
      }
    }
  }
}

```

{% endstep %}

{% step %}

### Run

{% tabs %}
{% tab title="android" %}
{% code fullWidth="false" %}

```shellscript
npx expo run:android
```

{% endcode %}
{% endtab %}

{% tab title="ios" %}

```shellscript
npx expo run:ios
```

{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}
