1---
2title: Build configuration process
3sidebar_title: Configuration process
4---
5
6import ImageSpotlight from '~/components/plugins/ImageSpotlight';
7
8In 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).
9
10EAS CLI performs the following steps when configuring your project:
11
12#### 1. Ask you about the platform(s) to configure
13
14If 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.
15
16<ImageSpotlight
17  alt="Terminal running eas build command with platform iOS and Android options available"
18  src="/static/images/eas-build/configure/01-configure-platform.png"
19  containerStyle={{ paddingBottom: 0 }}
20/>
21
22#### 2. Create eas.json
23
24The command will create an **eas.json** file in the root directory with the default configuration. It looks something like this:
25
26```json
27{
28  "build": {
29    "development": {
30      "developmentClient": true,
31      "distribution": "internal"
32    },
33    "preview": {
34      "distribution": "internal"
35    },
36    "production": {}
37  }
38}
39```
40
41If you have a bare project, it will look a bit different.
42
43This 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`, etc.) for each platform. If you want to learn more about **eas.json** see the [Configuration with eas.json](/build/eas-json.mdx) page.
44
45#### 3. Configure the project
46
47This step varies depending on the project type you have.
48
49#### 3.1. Managed project
50
51If you haven't configured your **app.json** with `android.package` and/or `ios.bundleIdentifier` yet, EAS CLI will prompt you to specify them.
52
53- `android.package` will be used as the Android application id which is used to identify your app on the Google Play Store
54- `ios.bundleIdentifier` will be used to identify you app on the Apple App Store
55
56<ImageSpotlight
57  alt="Application identifier prompts in eas build:configure"
58  src="/static/images/eas-build/configure/02-configure-app-ids.png"
59  containerStyle={{ paddingBottom: 0 }}
60/>
61
62In the example above, we defined exactly the same Android application id and iOS bundle identifier. However, they don't need to match.
63
64#### 3.2. Bare project
65
66There are no additional steps for bare workflow projects.
67
68#### 4. Next steps
69
70That's all there is to configuring a project to be compatible with EAS Build.
71There 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.
72
73<ImageSpotlight
74  alt="Application identifier prompts in eas build:configure"
75  src="/static/images/eas-build/configure/03-next-steps.png"
76  containerStyle={{ paddingBottom: 0 }}
77/>
78