---
title: App Configuration for Native Builds
description: Configure capawesome.config.json for monorepos, custom baseDir, and build commands for native iOS and Android builds in Capawesome Cloud.
---

# App Configuration

Capawesome Cloud allows you to optionally define your app configuration in a `capawesome.config.json` file for advanced use cases such as monorepos, subdirectory apps, or custom build commands. By default, Capawesome Cloud uses sensible defaults that work for standard project setups.

## Configuration File

The `capawesome.config.json` file should be placed in the root directory of your project. Below is an example configuration file:

```json
{
    "cloud": {
        "apps": [
            {
                "appId": "4e837195-e8d8-4ad1-8705-7a32e18a98cf",
                "baseDir": "apps/my-app",
                "dependencyInstallCommand": "npm install",
                "webBuildCommand": "npm run build"
            }
        ]
    }
}
```

The following configuration options are available:

- `cloud.apps`: An array of app configurations.
  - `appId`: The Capawesome Cloud App ID which can be found in the App Settings in Capawesome Cloud. This is required.
  - `baseDir`: The base directory of your app within the repository. This is the directory that Capawesome Cloud uses to build the app from. All commands including `dependencyInstallCommand` and `webBuildCommand` are called from this location. If left unset, Capawesome Cloud defaults to the root of the Git repository.
  - `dependencyInstallCommand`: The command to install dependencies for your app. Default is `npm install`. Skipped automatically for native iOS/Android-only projects without a JavaScript toolchain.
  - `webBuildCommand`: The command to build the web assets for your app. Default is `npm run build`. Skipped automatically for native iOS/Android-only projects without a JavaScript toolchain.

## Common setups

For step-by-step examples of the most common configurations, see:

- [Build from a monorepo](monorepo.md) — monorepos and subdirectory apps (`baseDir`)
- [Use pnpm, Yarn, or bun](package-managers.md) — alternative package managers (`dependencyInstallCommand`)
- [Configure the web build script](web-build-script.md) — control which script builds your web assets (`webBuildCommand`)
