Provides detailed documentation of the Saleor Configurator config.yml schema and structure. This skill should be invoked when the user needs help with YAML configuration structure, entity schemas, validation rules, field requirements, or understanding the difference between slug-based and name-based entity identification. Covers all entity types including channels, products, categories, and attributes.
View on GitHubsaleor/configurator
saleor-configurator
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/saleor/configurator/blob/main/plugin/skills/configurator-schema/SKILL.md -a claude-code --skill configurator-schemaInstallation paths:
.claude/skills/configurator-schema/# Configurator Schema
The `config.yml` file defines your Saleor store configuration in a declarative YAML format.
## File Structure
```yaml
# config.yml - Top-level structure
shop:
# Store-wide settings (singleton)
channels:
# Sales channels (slug-based)
productTypes:
# Product type definitions (name-based)
attributes:
# Attribute definitions (name-based)
categories:
# Category hierarchy (slug-based)
collections:
# Product collections (slug-based)
products:
# Product definitions (slug-based)
taxClasses:
# Tax classifications (name-based)
shippingZones:
# Shipping zone definitions (name-based)
warehouses:
# Warehouse definitions (slug-based)
menus:
# Navigation menus (slug-based)
pageTypes:
# Page type definitions (name-based)
pages:
# Content pages (slug-based)
```
## Entity Identification
Entities are identified by either `slug` or `name`:
| Identifier | Entity Types |
|------------|-------------|
| **slug** | channels, categories, collections, products, warehouses, menus, pages |
| **name** | productTypes, pageTypes, attributes, taxClasses, shippingZones |
**Important**: The identifier field is how Configurator matches local config to remote entities. Changing a slug/name creates a new entity.
## Common Entity Patterns
### Channel (slug-based)
```yaml
channels:
- name: "US Store"
slug: "us-store"
currencyCode: USD
defaultCountry: US
isActive: true
```
### Product Type (name-based)
```yaml
productTypes:
- name: "T-Shirt"
isShippingRequired: true
productAttributes:
- name: "Brand"
type: DROPDOWN
values:
- name: "Nike"
- name: "Adidas"
variantAttributes:
- name: "Size"
type: DROPDOWN
values:
- name: "S"
- name: "M"
- name: "L"
- name: "Color"
type: SWATCH
```
### Category (slug-based, hierarchical)
```yaml
categories:
- name: "Electronics"
slug: "electronics"
children: