---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [config](../index.md) / NormalizedConfig

# Interface: NormalizedConfig

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:48](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L48)

Normalized B2C configuration with camelCase fields.

This is the canonical intermediate format that all configuration sources
map to. It provides a consistent interface regardless of the source format
(dw.json uses kebab-case, env vars use SCREAMING_SNAKE_CASE, etc.).

## Properties

### accountManagerHost?

> `optional` **accountManagerHost**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:73](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L73)

Account Manager hostname for OAuth (default: account.demandware.com)

***

### assetQuery?

> `optional` **assetQuery**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:145](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L145)

JSON dot-paths for asset extraction from component data during
content library parsing. Used by `content export` and the VS Code
content library browser. Defaults to `['image.path']` when unset.

***

### authMethods?

> `optional` **authMethods**: [`AuthMethod`](../../auth/type-aliases/AuthMethod.md)[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:71](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L71)

Allowed authentication methods in priority order

***

### autoUpload?

> `optional` **autoUpload**: `boolean`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:115](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L115)

Whether to auto-start code upload/sync in IDE extensions

***

### cartridges?

> `optional` **cartridges**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:119](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L119)

Cartridge names to include in deploy/watch operations

***

### catalogs?

> `optional` **catalogs**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:126](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L126)

Catalog IDs for WebDAV browsing

***

### certificate?

> `optional` **certificate**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:177](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L177)

Path to PKCS12 certificate file for client mTLS (two-factor auth)

***

### certificatePassphrase?

> `optional` **certificatePassphrase**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:179](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L179)

Passphrase for the certificate

***

### cipHost?

> `optional` **cipHost**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:149](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L149)

Optional CIP analytics host override

***

### clientId?

> `optional` **clientId**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:65](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L65)

OAuth client ID

***

### clientSecret?

> `optional` **clientSecret**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:67](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L67)

OAuth client secret

***

### codeVersion?

> `optional` **codeVersion**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:55](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L55)

Code version for deployments

***

### contentLibrary?

> `optional` **contentLibrary**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:123](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L123)

Default content library ID for content export/list commands

***

### docsCategories?

> `optional` **docsCategories**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:165](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L165)

Allowlist of documentation categories to expose from the `docs` search/read
surface (CLI `b2c docs`, MCP docs tools). When set, bounds the entire
available corpus to these categories; unset means no restriction (full
corpus). Category names are validated by `resolveEnabledCategories` in the
docs module (unknown names are dropped with a warning).

Sourced from `docs-categories` (dw.json), `SFCC_DOCS_CATEGORIES` (env), or
`docsCategories` (package.json). A CLI `--topics` / MCP `--docs-topics` flag,
when provided, overrides this config value.

#### Example

```ts
["script-api", "job-step", "help-admin", "tooling"]
```

***

### hostname?

> `optional` **hostname**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:51](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L51)

B2C instance hostname

***

### instanceName?

> `optional` **instanceName**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:169](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L169)

Instance name (from multi-config supporting sources)

***

### jwtCertPath?

> `optional` **jwtCertPath**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:77](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L77)

Path to JWT certificate file (cert.pem) for JWT authentication

***

### jwtKeyPath?

> `optional` **jwtKeyPath**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:79](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L79)

Path to JWT private key file (key.pem) for JWT authentication

***

### jwtPassphrase?

> `optional` **jwtPassphrase**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:81](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L81)

Optional passphrase for encrypted JWT private key

***

### libraries?

> `optional` **libraries**: (`string` \| [`LibraryEntry`](LibraryEntry.md))[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:138](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L138)

Library IDs for WebDAV browsing and the Content Libraries tree.

Accepts either a string array (all treated as shared libraries) or an
array of [LibraryEntry](LibraryEntry.md) objects that can mark individual libraries
as site-private. Both forms can be mixed in the same array.

#### Example

```ts
["RefArch", { id: "homepage", siteLibrary: true }]
```

***

### mrtApiKey?

> `optional` **mrtApiKey**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:109](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L109)

MRT API key

***

### mrtEnvironment?

> `optional` **mrtEnvironment**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:107](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L107)

MRT environment name (e.g., staging, production)

***

### mrtOrigin?

> `optional` **mrtOrigin**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:111](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L111)

MRT API origin URL override

***

### mrtProject?

> `optional` **mrtProject**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:105](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L105)

MRT project slug

***

### password?

> `optional` **password**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:61](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L61)

Password/access-key for Basic auth (WebDAV)

***

### projectDirectory?

> `optional` **projectDirectory**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:171](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L171)

Starting directory for config file search and project-relative operations

***

### realm?

> `optional` **realm**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:101](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L101)

Default ODS realm for sandbox operations

***

### safety?

> `optional` **safety**: `object`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:185](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L185)

Safety configuration for this instance

#### confirm?

> `optional` **confirm**: `boolean`

When true, level-blocked operations require confirmation instead of hard-blocking

#### level?

> `optional` **level**: [`SafetyLevel`](../../safety/type-aliases/SafetyLevel.md)

Safety level

#### rules?

> `optional` **rules**: [`SafetyRule`](../../safety/interfaces/SafetyRule.md)[]

Ordered safety rules. First matching rule wins.

***

### sandboxApiHost?

> `optional` **sandboxApiHost**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:99](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L99)

ODS API hostname

***

### scopes?

> `optional` **scopes**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:69](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L69)

OAuth scopes

***

### selfSigned?

> `optional` **selfSigned**: `boolean`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:181](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L181)

Whether to skip SSL/TLS certificate verification (self-signed certs)

***

### shortCode?

> `optional` **shortCode**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:93](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L93)

SCAPI short code

***

### siteId?

> `optional` **siteId**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:89](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L89)

B2C Commerce site/channel ID

***

### slasClientId?

> `optional` **slasClientId**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:85](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L85)

SLAS client ID for shopper authentication

***

### slasClientSecret?

> `optional` **slasClientSecret**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:87](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L87)

SLAS client secret for private shopper clients

***

### tenantId?

> `optional` **tenantId**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:95](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L95)

Tenant/Organization ID for SCAPI

***

### username?

> `optional` **username**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:59](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L59)

Username for Basic auth (WebDAV)

***

### webdavHostname?

> `optional` **webdavHostname**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:53](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L53)

Separate hostname for WebDAV operations (if different from main hostname)

***

### ~~workingDirectory?~~

> `optional` **workingDirectory**: `string`

Defined in: [packages/b2c-tooling-sdk/src/config/types.ts:173](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/config/types.ts#L173)

#### Deprecated

Use projectDirectory instead
