1--- 2title: Build configuration process 3sidebar_title: Configuration process 4description: Learn how EAS CLI configures a project for EAS Build. 5hideTOC: true 6--- 7 8import ImageSpotlight from '~/components/plugins/ImageSpotlight'; 9import { Step } from '~/ui/components/Step'; 10 11In this guide, you will learn what happens when EAS CLI configures your project with `eas build:configure` (or `eas build` - which runs this same process if the project is not yet configured). 12 13EAS CLI performs the following steps when configuring your project: 14 15<Step label="1"> 16## Ask you about the platform(s) to configure 17 18If you only want to use EAS Build for a single platform, that's fine. If you change your mind, you can come back and configure the other later. 19 20<ImageSpotlight 21 alt="Terminal running eas build command with platform Android and iOS options available" 22 src="/static/images/eas-build/configure/01-configure-platform.png" 23 containerStyle={{ paddingBottom: 0 }} 24/> 25 26</Step> 27 28<Step label="2"> 29## Create eas.json 30 31The command will create an **eas.json** file in the root directory with the default configuration. It looks something like this: 32 33```json eas.json 34{ 35 "build": { 36 "development": { 37 "developmentClient": true, 38 "distribution": "internal" 39 }, 40 "preview": { 41 "distribution": "internal" 42 }, 43 "production": {} 44 } 45} 46``` 47 48If you have a bare project, it will look a bit different. 49 50This is your EAS Build configuration. It defines three build profiles named `"development"`, `"preview"`, and `"production"` (you can have multiple build profiles like `"production"`, `"debug"`, `"testing"`, and so on) for each platform. If you want to learn more about **eas.json** see the [Configuration with **eas.json**](/build/eas-json) page. 51 52</Step> 53 54<Step label="3"> 55## Configure the project 56 57This step varies depending on the project type you have. 58 59<Step label="3.1"> 60### Managed project 61 62If you haven't configured your **app.json** with `android.package` and/or `ios.bundleIdentifier` yet, EAS CLI will prompt you to specify them. 63 64- `android.package` will be used as the Android application id which is used to identify your app on the Google Play Store 65- `ios.bundleIdentifier` will be used to identify you app on the Apple App Store 66 67<ImageSpotlight 68 alt="Application identifier prompts in eas build:configure" 69 src="/static/images/eas-build/configure/02-configure-app-ids.png" 70 containerStyle={{ paddingBottom: 0 }} 71/> 72 73In the example above, we defined exactly the same Android application id and iOS bundle identifier. However, they don't need to match. 74 75</Step> 76 77<Step label="3.2"> 78### Bare project 79 80There are no additional steps for bare workflow projects. 81 82</Step> 83 84</Step> 85 86<Step label="4"> 87## Next steps 88 89That's all there is to configuring a project to be compatible with EAS Build. 90There is one final step if you set `cli.requireCommit` to `true` in your **eas.json** — you'll be prompted to commit all the changes we made for you. You can choose to review them before committing, and you can either specify the git commit message or use a default message. 91 92<ImageSpotlight 93 alt="Application identifier prompts in eas build:configure" 94 src="/static/images/eas-build/configure/03-next-steps.png" 95 containerStyle={{ paddingBottom: 0 }} 96/> 97 98</Step> 99