From saleor-configurator
Documents Saleor Configurator's config.yml schema, entity structures (channels, products, etc.), slug/name identifiers, required fields, and validation rules. Use for config writing, reading, or error fixing.
npx claudepluginhub saleor/configuratorThis skill uses the workspace's default tool permissions.
Your store configuration lives in a single `config.yml` file. Each section defines a type of entity (channels, products, categories, etc.) using a declarative YAML format that Configurator syncs with your Saleor instance.
Defines schema, entity structures (slug/name identification), required fields, examples, and validation rules for Saleor Configurator's config.yml store configuration.
Manage Saleor catalog: products, variants, types, categories, collections, media, warehouse stock via GraphQL. Guides schema review, mutations, hierarchy for product data tasks.
Defines custom attributes on products/orders/customers, creates custom object types, and sets site preferences in Salesforce B2C Commerce via metadata XML. Use for site imports, archives, and Business Manager data model configs.
Share bugs, ideas, or general feedback.
Your store configuration lives in a single config.yml file. Each section defines a type of entity (channels, products, categories, etc.) using a declarative YAML format that Configurator syncs with your Saleor instance.
product-modeling instead# config.yml - Top-level structure
shop: # Store-wide settings (singleton)
channels: # Sales channels (slug-based)
productAttributes: # Standalone product attributes
contentAttributes: # Standalone content attributes
productTypes: # Product type definitions (name-based)
modelTypes: # Model type definitions (name-based) -- preferred over pageTypes
pageTypes: # Page type definitions (name-based) -- alias for modelTypes
categories: # Category hierarchy (slug-based)
collections: # Product collections (slug-based)
products: # Product definitions (slug-based)
models: # Content models/pages (slug-based)
taxClasses: # Tax classifications (name-based)
shippingZones: # Shipping zone definitions (name-based)
warehouses: # Warehouse definitions (slug-based)
menus: # Navigation menus (slug-based)
Configurator matches your local config to remote entities using an identifier field. This is either slug or name depending on entity type:
| Identifier | Entity Types |
|---|---|
| slug | channels, categories, collections, products, warehouses, menus, models |
| name | productTypes, modelTypes/pageTypes, taxClasses, shippingZones |
Important: Changing a slug or name creates a NEW entity instead of updating the existing one.
channels:
- name: "US Store"
slug: "us-store"
currencyCode: USD
defaultCountry: US
isActive: true
productTypes:
- name: "T-Shirt"
isShippingRequired: true
productAttributes:
- name: "Brand"
type: DROPDOWN
variantAttributes:
- name: "Size"
type: DROPDOWN
values: [{ name: "S" }, { name: "M" }, { name: "L" }]
- name: "Color"
type: SWATCH
products:
- name: "Classic T-Shirt"
slug: "classic-t-shirt"
productType: "T-Shirt"
category: "clothing/t-shirts"
variants:
- sku: "TSHIRT-S-RED"
attributes:
Size: "S"
Color: "Red"
channelListings:
- channel: "us-store"
price: 29.99
categories:
- name: "Electronics"
slug: "electronics"
subcategories:
- name: "Phones"
slug: "phones"
Saleor supports these attribute input types: DROPDOWN, MULTISELECT, SWATCH, BOOLEAN, PLAIN_TEXT, RICH_TEXT, NUMERIC, DATE, DATE_TIME, FILE, REFERENCE.
For detailed guidance on choosing the right type, see the product-modeling skill.
name, slug, currencyCode)productType must match a defined product type name)Entities depend on each other and must exist in the right order:
Level 0 (independent): shop, channels, productTypes, pageTypes, taxClasses, shippingZones
Level 1 (needs L0): categories, warehouses, attributes
Level 2 (needs L1): collections, pages
Level 3 (needs L2): products, menus
Configurator handles deployment order automatically, but understanding dependencies helps when troubleshooting validation errors.
| Mistake | Fix |
|---|---|
| Changing a slug or name to "rename" an entity | This creates a new entity. To rename, delete the old one and create new. |
| Duplicate slugs within an entity type | Each slug must be unique. Check for copy-paste errors. |
| Product references a nonexistent productType | The productType field must exactly match a name in your productTypes section. |
| Missing required fields | Check the error message -- it tells you which field is missing. |
| Products defined before their productType | Not a YAML order issue (Configurator handles order), but the referenced type must exist in the file. |
womens-summer-dresses not cat-123saleor-domain - Entity relationships and identifier rulesconfigurator-cli - CLI commands for deploying configurationsproduct-modeling - Product type design and attribute selection