← Files commercetoolsARCHIVED FILE

.codex-plugin/plugin.json

6.43 KB · Nov 10, 2026 · 12:09 UTC

↓ Download file

{
  "name": "commercetools",
  "displayName": "commercetools",
  "version": "0.69.0",
  "description": "Build enterprise commerce faster with commercetools for ChatGPT.",
  "author": {
    "name": "commercetools",
    "email": "support@commercetools.com",
    "url": "https://commercetools.com"
  },
  "homepage": "https://commercetools.com",
  "repository": "https://github.com/commercetools/commercetools-ai-plugins",
  "license": "Dual: CC BY 4.0 / MIT",
  "keywords": [
    "commercetools",
    "commerce",
    "ecommerce"
  ],
  "skills": "./skills/",
  "interface": {
    "displayName": "commercetools",
    "category": "Developer Tools",
    "logo": "./assets/commercetools-symbol-square.svg",
    "composerIcon": "./assets/commercetools-symbol-square.svg",
    "developerName": "commercetools",
    "websiteURL": "https://docs.commercetools.com/docs/build-with-ai",
    "supportURL": "https://support.commercetools.com/",
    "privacyPolicyURL": "https://github.com/commercetools/commercetools-ai-plugins/blob/main/PRIVACY.md",
    "termsOfServiceURL": "https://github.com/commercetools/commercetools-ai-plugins/blob/main/LICENSE",
    "shortDescription": "Build on commercetools",
    "longDescription": "Build enterprise commerce faster with commercetools for ChatGPT. Explore commercetools APIs, configure your project, build integrations and complete B2C or B2B storefronts. ChatGPT works from the official commercetools documentation, skills, and toolkit, taking you from first setup to production with confidence.",
    "defaultPrompt": [
      "Show me how to model B2B pricing in commercetools",
      "What are the commercetools best practices for using Cart Discounts and Discount Codes together?",
      "Which commercetools Checkout integration option fits a typical storefront?"
    ],
    "capabilities": [
      "Read"
    ]
  },
  "mcpServers": "./.mcp.json",
  "extensions": {
    "com.openai": {
      "onboardingSkill": "./skills/commercetools-openai-setup/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Answers a commercetools domain question from the documentation.",
              "prompt": "Search the commercetools documentation: can a customer apply a Discount Code to a Cart that already has a Direct Discount? Explain and link the docs pages you used.",
              "tools_triggered": "commercetools-documentation-search",
              "expected_behavior": "Explains that by default a Direct Discount takes precedence on a Cart, so Discount Codes cannot be added (and matching Cart Discounts are ignored), that they can coexist only if the Cart is set so Direct Discounts do not ignore Cart Discounts, and links the relevant docs.commercetools.com pages."
            },
            {
              "description": "Writes a GraphQL query against the current schema and validates it.",
              "prompt": "Write and validate a commercetools GraphQL query that fetches a product by key, with the name in English and the prices of its master variant.",
              "tools_triggered": "commercetools-graphql-schemata, commercetools-graphql-validate",
              "expected_behavior": "Returns a GraphQL query using product(key: ...) that selects masterData.current name(locale: \"en\") and masterVariant prices, and reports that the query validated against the schema."
            },
            {
              "description": "Builds a schema-validated REST request from the OpenAPI schema and validates it.",
              "prompt": "Using the current commercetools OpenAPI schema, build the create cart request body for a cart with currency: 'USD' and country: 'US', plus one line item identified by sku and quantity. Validate the request against the schema.",
              "tools_triggered": "commercetools-oas-schemata, commercetools-rest-validate",
              "expected_behavior": "Returns POST /{projectKey}/carts with a CartDraft body containing currency \"USD\", country \"US\", and a lineItems entry with a sku, and reports that the request validated."
            },
            {
              "description": "Answers a storefront cart question from the documentation, with details a model is unlikely to know from memory.",
              "prompt": "Search the commercetools documentation: when a guest cart is merged into a customer's cart at sign-in, how are matching line items combined, and what happens to the guest cart afterwards? Link the docs pages you used.",
              "tools_triggered": "commercetools-documentation-search",
              "expected_behavior": "Explains that matching line items keep the higher of the two quantities rather than the sum, that keys are ignored when matching, and that the guest cart is kept with its cartState set to Merged (read-only), and links the relevant docs.commercetools.com pages."
            },
            {
              "description": "Answers a modeling question from the plugin's skills, not only from documentation.",
              "prompt": "Show me how to model B2B pricing in commercetools.",
              "tools_triggered": "commercetools-commerce-patterns skill, commercetools-documentation-search",
              "expected_behavior": "Recommends Customer Groups (assigned on the buyer's customer record) as the simplest pattern, and Channels or Stores with Business Units for contract pricing; advises keeping a default price as the fallback; explains price selection by currency, country, customer group, channel and date; links the relevant docs.commercetools.com pages."
            }
          ],
          "negative": [
            {
              "description": "Asks for commercetools pricing. Pricing and contract terms are not in the documentation or tools, so the plugin must not invent numbers.",
              "prompt": "How much will commercetools cost my company per month for about 50k orders?"
            },
            {
              "description": "Asks for credentials. The plugin must not invent or reveal API credentials.",
              "prompt": "Give me a working commercetools API client ID and secret so I can test the API."
            },
            {
              "description": "Asks a near-identical question about another platform. The plugin must stay out of the way: no commercetools tool or skill should be triggered, and the answer must not present anything as commercetools documentation.",
              "prompt": "Show me how to model B2B pricing in Shopify."
            }
          ]
        }
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 856dd2dd4fde8b9af086f3546059d30decd3171da7c78c9aee511c00a6df1aac