Configuration

Workspace Configuration

You can add optional configuration to a workspace in its package.json file in "bw" or in a separate bw.workspace.json file.

See workspace aliases and script execution order for more information on the fields available.

Examples:

1. Separate Config File

path/to/your/workspace/bw.workspace.json

{
  "alias": "myApp",
  "scripts": {
    "start": {
      "order": 10
    },
    "test": {
      "order": 20
    }
  }
}

2. Within package.json

path/to/your/workspace/package.json

The same configuration can be added to the workspace's package.json file in "bw".

{
  "name": "@my-organization/my-application",
  "version": "1.0.0",
  "description": "My app",
  "bw": {
    "alias": "myApp",
    "scripts": {
      "start": {
        "order": 10
      },
      "test": {
        "order": 20
      }
    }
  },
  "scripts": {
    "start": "bun run index.js",
    "test": "bun test"
  }
}

Note that if both package.json config and bw.workspace.json are present, bw.workspace.json will take precedence. It's recommended to only use one type of configuration within your project for consistency.

Config File (bw.json)

DEPRECATED: Use the new workspace configuration above instead to configure workspace aliases.

For the meantime, this configuration file will still take effect and merge aliases with the new configuration if present.

You can create a config file at bw.json in your project root, or you can pass a config file to the CLI with the --config-file (or -c) option.

Example config

In this config, "app-a" is an alias for package "@my-org/application-a" and "app-b" is an alias for package "@my-org/application-b".

The default log level can be set for the CLI as well.

{
  "project": {
    "workspaceAliases": {
      "appA": "@my-org/application-a",
      "appB": "@my-org/application-b"
    }
  },
  "cli": {
    "logLevel": "error"
  }
}

© 2026 Smorsic Labs, LLC. All rights reserved.