---
description: Configure capawesome.config.json for monorepos, custom baseDir, and build commands for native iOS and Android builds in Capawesome Cloud.
title: App Configuration for Native Builds - Capawesome
image: https://capawesome.io/docs/assets/images/social/cloud/native-builds/configuration.png
---

[ Skip to content](#app-configuration) 

[ 🎉 Introducing **Capawesome Platform** — one platform for Live Updates, Native Builds, App Store Publishing, and Insider SDKs.](https://capawesome.io) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  Grafana Faro ](/docs/plugins/grafana-faro/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  Navigation Bar ](/docs/plugins/navigation-bar/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* Configuration [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* [  Assist ](/docs/cloud/assist/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

# App Configuration[¶](#app-configuration "Permanent link")

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[¶](#configuration-file "Permanent link")

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

`[](#%5F%5Fcodelineno-0-1){
[](#%5F%5Fcodelineno-0-2)    "cloud": {
[](#%5F%5Fcodelineno-0-3)        "apps": [
[](#%5F%5Fcodelineno-0-4)            {
[](#%5F%5Fcodelineno-0-5)                "appId": "4e837195-e8d8-4ad1-8705-7a32e18a98cf",
[](#%5F%5Fcodelineno-0-6)                "baseDir": "apps/my-app",
[](#%5F%5Fcodelineno-0-7)                "dependencyInstallCommand": "npm install",
[](#%5F%5Fcodelineno-0-8)                "webBuildCommand": "npm run build"
[](#%5F%5Fcodelineno-0-9)            }
[](#%5F%5Fcodelineno-0-10)        ]
[](#%5F%5Fcodelineno-0-11)    }
[](#%5F%5Fcodelineno-0-12)}
`

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.

## Examples[¶](#examples "Permanent link")

### Subdirectory App[¶](#subdirectory-app "Permanent link")

This example shows how to configure multiple apps located in subdirectories:

`[](#%5F%5Fcodelineno-1-1)├─ apps/
[](#%5F%5Fcodelineno-1-2)│  ├─ my-app1/
[](#%5F%5Fcodelineno-1-3)│  └─ my-app2/
[](#%5F%5Fcodelineno-1-4)└─ capawesome.config.json
`

The corresponding `capawesome.config.json` would look like this:

`[](#%5F%5Fcodelineno-2-1){
[](#%5F%5Fcodelineno-2-2)    "cloud": {
[](#%5F%5Fcodelineno-2-3)        "apps": [
[](#%5F%5Fcodelineno-2-4)            {
[](#%5F%5Fcodelineno-2-5)                "appId": "your-app-id-1",
[](#%5F%5Fcodelineno-2-6)                "baseDir": "apps/my-app1"
[](#%5F%5Fcodelineno-2-7)            },
[](#%5F%5Fcodelineno-2-8)            {
[](#%5F%5Fcodelineno-2-9)                "appId": "your-app-id-2",
[](#%5F%5Fcodelineno-2-10)                "baseDir": "apps/my-app2"
[](#%5F%5Fcodelineno-2-11)            }
[](#%5F%5Fcodelineno-2-12)        ]
[](#%5F%5Fcodelineno-2-13)    }
[](#%5F%5Fcodelineno-2-14)}
`

### Monorepo[¶](#monorepo "Permanent link")

For monorepos, you can specify the `baseDir` for each app accordingly:

`[](#%5F%5Fcodelineno-3-1){
[](#%5F%5Fcodelineno-3-2)    "cloud": {
[](#%5F%5Fcodelineno-3-3)        "apps": [
[](#%5F%5Fcodelineno-3-4)            {
[](#%5F%5Fcodelineno-3-5)                "appId": "your-app-id-1",
[](#%5F%5Fcodelineno-3-6)                "baseDir": "packages/app1",
[](#%5F%5Fcodelineno-3-7)                "dependencyInstallCommand": "cd ../.. && npm install",
[](#%5F%5Fcodelineno-3-8)                "webBuildCommand": "cd ../.. && npm run build --workspace=app1"
[](#%5F%5Fcodelineno-3-9)            },
[](#%5F%5Fcodelineno-3-10)            {
[](#%5F%5Fcodelineno-3-11)                "appId": "your-app-id-2",
[](#%5F%5Fcodelineno-3-12)                "baseDir": "packages/app2",
[](#%5F%5Fcodelineno-3-13)                "dependencyInstallCommand": "cd ../.. && npm install",
[](#%5F%5Fcodelineno-3-14)                "webBuildCommand": "cd ../.. && npm run build --workspace=app2"
[](#%5F%5Fcodelineno-3-15)            }
[](#%5F%5Fcodelineno-3-16)        ]
[](#%5F%5Fcodelineno-3-17)    }
[](#%5F%5Fcodelineno-3-18)}
`

### pnpm[¶](#pnpm "Permanent link")

If you are using pnpm as your package manager, you must install pnpm before running `pnpm install`:

`[](#%5F%5Fcodelineno-4-1){
[](#%5F%5Fcodelineno-4-2)    "cloud": {
[](#%5F%5Fcodelineno-4-3)        "apps": [
[](#%5F%5Fcodelineno-4-4)            {
[](#%5F%5Fcodelineno-4-5)                "appId": "your-app-id",
[](#%5F%5Fcodelineno-4-6)                "dependencyInstallCommand": "npm install -g pnpm && pnpm install",
[](#%5F%5Fcodelineno-4-7)                "webBuildCommand": "pnpm build"
[](#%5F%5Fcodelineno-4-8)            }
[](#%5F%5Fcodelineno-4-9)        ]
[](#%5F%5Fcodelineno-4-10)    }
[](#%5F%5Fcodelineno-4-11)}
`

### Yarn[¶](#yarn "Permanent link")

If you are using Yarn as your package manager, you must install Yarn before running `yarn install`:

`[](#%5F%5Fcodelineno-5-1){
[](#%5F%5Fcodelineno-5-2)    "cloud": {
[](#%5F%5Fcodelineno-5-3)        "apps": [
[](#%5F%5Fcodelineno-5-4)            {
[](#%5F%5Fcodelineno-5-5)                "appId": "your-app-id",
[](#%5F%5Fcodelineno-5-6)                "dependencyInstallCommand": "npm install -g yarn && yarn install",
[](#%5F%5Fcodelineno-5-7)                "webBuildCommand": "yarn build"
[](#%5F%5Fcodelineno-5-8)            }
[](#%5F%5Fcodelineno-5-9)        ]
[](#%5F%5Fcodelineno-5-10)    }
[](#%5F%5Fcodelineno-5-11)}
`

May 7, 2026 

 Back to top 