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

[@salesforce/b2c-tooling-sdk](../../modules.md) / [cli](../index.md) / CartridgeProvider

# Interface: CartridgeProvider

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts:45](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/9c8c448223735b087738106fca3bc4c8e812ceb7/packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts#L45)

Provider interface for custom cartridge discovery.

Plugins can implement this interface to provide cartridges from custom sources
such as remote Git repos, manifest files, or other locations.

## Example

```typescript
const manifestProvider: CartridgeProvider = {
  name: 'manifest-provider',
  priority: 'before',
  async findCartridges(options) {
    const manifest = JSON.parse(await fs.readFile('cartridges.json', 'utf-8'));
    return manifest.cartridges.map(c => ({
      name: c.name,
      src: path.resolve(c.path),
      dest: c.name,
    }));
  },
};
```

## Properties

### name

> `readonly` **name**: `string`

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts:47](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/9c8c448223735b087738106fca3bc4c8e812ceb7/packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts#L47)

Unique name for this provider (used for logging)

***

### priority

> `readonly` **priority**: `"before"` \| `"after"`

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts:54](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/9c8c448223735b087738106fca3bc4c8e812ceb7/packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts#L54)

Priority relative to default provider.
- 'before': Runs first, can provide cartridges that override defaults
- 'after': Runs after defaults, adds additional cartridges

## Methods

### findCartridges()

> **findCartridges**(`options`): `Promise`\<[`CartridgeMapping`](../../operations/code/interfaces/CartridgeMapping.md)[]\>

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts:62](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/9c8c448223735b087738106fca3bc4c8e812ceb7/packages/b2c-tooling-sdk/src/cli/cartridge-providers.ts#L62)

Find cartridges from this provider.

#### Parameters

##### options

[`CartridgeDiscoveryOptions`](CartridgeDiscoveryOptions.md)

Discovery options including directory, filters, and instance context

#### Returns

`Promise`\<[`CartridgeMapping`](../../operations/code/interfaces/CartridgeMapping.md)[]\>

Array of cartridge mappings, or empty array if no cartridges available
