open-index/open-npm huggingface dataset:
npm package: @opencommerceprotocol/adapter-generic
Description: Open Commerce Protocol — Generic adapter for any platform via CLI
Latest version: 1.0.0

# @opencommerceprotocol/adapter-generic

Generic [Open Commerce Protocol](https://opencommerceprotocol.org) adapter for any e-commerce platform. Wraps the `@opencommerceprotocol/cli` tool as a standalone binary, providing a platform-agnostic way to generate and validate OCP files.

## Installation

```bash
npm install -g @opencommerceprotocol/adapter-generic
```

Or as a project dependency:

```bash
npm install @opencommerceprotocol/adapter-generic
```

## Quick Start

After installation, run the CLI:

```bash
ocp-generic
```

This launches the OCP CLI, which can generate OCP manifests (`ocp.json`), product feeds (`products.jsonl`), and store descriptions (`ocp.md`) for any e-commerce platform.

## Usage

The generic adapter re-exports the full `@opencommerceprotocol/cli` interface. Use it when your platform does not have a dedicated adapter (like Shopify or WooCommerce). It provides:

- **Manifest generation** -- create a `.well-known/ocp.json` file for your store
- **Product feed generation** -- export your catalog as JSONL
- **Validation** -- validate manifests and feeds against the OCP spec

This adapter serves as the base for building custom platform adapters. To create a new adapter, use `@opencommerceprotocol/adapter-generic` as a starting point and add platform-specific handler logic.

## Dependencies

- `@opencommerceprotocol/cli` -- CLI tool for generating and validating OCP files
- `@opencommerceprotocol/spec` -- OCP types and schemas
- `@opencommerceprotocol/validator` -- Runtime validation

## License

Apache-2.0
npm package: @opencommerceprotocol/adapter-shopify
Description: Open Commerce Protocol — Shopify Storefront API adapter
Latest version: 1.0.0

# @opencommerceprotocol/adapter-shopify

Shopify Storefront API adapter for the [Open Commerce Protocol](https://opencommerceprotocol.org). Maps OCP tool calls to Shopify's GraphQL Storefront API, making your Shopify store discoverable and shoppable by AI agents.

## Installation

```bash
npm install @opencommerceprotocol/adapter-shopify
```

## Quick Start

```typescript
import { OCP } from '@opencommerceprotocol/runtime';
import { createShopifyHandlers } from '@opencommerceprotocol/adapter-shopify';

OCP.init({
  handlers: createShopifyHandlers({
    storeUrl: 'https://mystore.myshopify.com',
    storefrontAccessToken: 'your-storefront-access-token',
  }),
});
```

## Configuration

`createShopifyHandlers` accepts a `ShopifyConfig` object:

| Option | Type | Required | Description |
|--------|------|----------|-------------|
| `storeUrl` | `string` | Yes | Your Shopify store URL (e.g. `https://mystore.myshopify.com`) |
| `storefrontAccessToken` | `string` | Yes | Shopify Storefront API access token |
| `apiVersion` | `string` | No | Storefront API version (defaults to `2024-01`) |

You can generate a Storefront access token in the Shopify Admin under **Settings > Apps and sales channels > Develop apps**.

## API Reference

The adapter implements the following OCP tool handlers:

| Handler | Description |
|---------|-------------|
| `search_products` | Search products via Shopify's GraphQL `products` query. Supports `query`, `category`, `in_stock`, and `limit` params. |
| `get_product` | Fetch full product details including images, variants, and `ocp.agent_notes` metafield. |
| `get_product_qa` | Answer questions about a product using its description and agent notes. |
| `compare_products` | Compare multiple products by fetching each and returning them together. |
| `add_to_cart` | Create a Shopify cart via the `cartCreate` mutation. |
| `get_cart` | Retrieve current cart contents. |
| `update_cart` | Update cart item quantities. |
| `begin_checkout` | Return a checkout URL for the store. |
| `check_availability` | Check whether a product is in stock. |

## Agent Notes via Metafields

The adapter reads the Shopify metafield `namespace: "ocp"`, `key: "agent_notes"` on each product. Use this to provide AI-optimized product descriptions that help agents make better recommendations.

## License

Apache-2.0