configurator-recipes
Configurator Recipes
Overview
Recipes are ready-to-use config.yml templates for common store types. Pick one that matches your business, customize it, and deploy. They save you from building your store configuration from scratch.
When to Use
- "How do I set up a fashion store?"
- "Is there a template for electronics?"
- "Can I see an example config.yml?"
- "What's a good starting point for my store?"
- "How do I set up a subscription service?"
- When NOT looking for CLI commands -- use
configurator-cliinstead - When NOT designing custom product types -- use
product-modelinginstead
Available Recipes
| Recipe | Best For | Key Features |
|---|---|---|
| Fashion Store | Apparel, shoes, accessories | Size/color variants, seasonal collections, multi-currency |
| Electronics Store | Tech products, gadgets | Specs attributes, storage/RAM variants, warranty info |
| Subscription Service | Recurring products, SaaS | Plan tiers, billing cycles, add-on services |
For a blank starting point (correct structure, no business content), use the skeleton template.
Quick Start
# Copy a template directly
cp skills/configurator-recipes/templates/fashion-store.yml config.yml
# Customize and deploy
pnpm dlx @saleor/configurator deploy --url=$SALEOR_URL --token=$SALEOR_TOKEN
Recipe Details: Fashion Store
A complete configuration for apparel and fashion retail with two channels (US/EU), five product types, a full category tree, and curated collections.
Channels: US Store (USD), EU Store (EUR)
Product Types: T-Shirt, Pants, Dress, Shoes, Accessory -- each with appropriate size/color/material variants.
Categories:
Clothing -> Men's (T-Shirts, Pants, Shoes) / Women's (Dresses, Tops, Shoes) / Accessories (Bags, Jewelry)
Collections: New Arrivals, Best Sellers, Sale Items, Seasonal Collection
Attributes: Size (XS-XXL), Color (swatches), Material, Brand, Care Instructions
See templates/fashion-store.yml for the complete configuration.
Other Recipes
Electronics Store -- Single channel (USD), product types for Smartphones, Laptops, Tablets, Accessories, and Software. Attributes include Brand, Storage, RAM, Screen Size, and Warranty. See templates/electronics-store.yml.
Subscription Service -- Subscription portal channel, product types for Monthly/Annual subscriptions, One-Time Purchases, and Add-Ons. Attributes include Plan Tier, Billing Cycle, User Limit, and Storage Limit. See templates/subscription-service.yml.
Customization Tips
After copying a recipe:
- Rename channels to match your brand and regions
- Adjust currency and country codes for your markets
- Modify categories for your actual product catalog
- Add or remove product types you don't need
- Test on staging first before deploying to production
Common Mistakes
| Mistake | Fix |
|---|---|
| Using a recipe without customizing identifiers | Update all slugs and names to match your brand before deploying |
| Not adjusting currency/country codes | Change currencyCode and defaultCountry to your actual markets |
| Deploying a recipe straight to production | Always test on a staging instance first |
| Keeping entity types you don't need | Remove unused product types, categories, etc. to keep your config clean |
| Forgetting to update channel references | Products reference channels by slug -- make sure they match after renaming |
Creating Your Own Recipe
Template Structure
A recipe template should follow this structure:
# Recipe: [Business Type] Store
# Description: [What this recipe sets up]
# Customize: [List key things users should change]
channels:
- name: "Main Store" # <- User should rename
slug: "main" # <- User should update
currencyCode: USD # <- User should set region
defaultCountry: US
isActive: true
productTypes:
# Each type should have a comment explaining its purpose
- name: "[Type Name]"
isShippingRequired: true
productAttributes: [...]
variantAttributes: [...]
categories:
# Keep hierarchy to 3 levels max
- name: "[Root Category]"
slug: "[root-slug]"
subcategories: [...]
Required Sections
Every recipe must include:
- Header comment -- recipe name, description, customization checklist
- At least one channel -- with valid currency and country codes
- Product types -- with product and variant attributes defined
- Categories -- at least a basic hierarchy
- Comments -- explaining what each section does and what to customize
Testing Your Recipe
# 1. Deploy to a fresh Saleor instance
pnpm dlx @saleor/configurator deploy --url=$STAGING_URL --token=$STAGING_TOKEN
# 2. Verify idempotency (second deploy should show no changes)
pnpm dlx @saleor/configurator deploy --url=$STAGING_URL --token=$STAGING_TOKEN
# 3. Introspect and diff to confirm round-trip fidelity
pnpm dlx @saleor/configurator introspect --url=$STAGING_URL --token=$STAGING_TOKEN --config=introspected.yml
pnpm dlx @saleor/configurator diff --url=$STAGING_URL --token=$STAGING_TOKEN
Documentation Checklist
- Every section has comments explaining purpose
- All placeholder values are clearly marked for customization
- Currency/country codes use valid ISO standards
- Slugs are descriptive and follow lowercase-hyphen convention
- README or header documents what the recipe creates
See Also
Related Skills
configurator-schema- Config.yml structure and validation rulesproduct-modeling- Product type design and attribute selectionsaleor-domain- Entity relationships and Saleor concepts
More from saleor/configurator
creating-changesets
Creates changesets for semantic versioning. Use when adding changesets, preparing releases, determining version bumps (patch/minor/major), generating changelog entries, or documenting breaking changes.
66reviewing-typescript-code
Reviews TypeScript code for project-specific quality patterns. Use when writing entities, services, repositories, comparators, formatters, bootstrap methods, deployment stages, diff support, or reviewing PRs with functional patterns. Do NOT use for general TypeScript tutorials or non-Configurator projects.
38designing-zod-schemas
Designs Zod schemas following Zod-first development. Use when creating validation schemas, branded types, discriminated unions, transforms, refinements, or inferring TypeScript types with z.infer.
22understanding-saleor-domain
Explains Saleor e-commerce domain and Configurator business rules. Use when working with entity identification (slug vs name), YAML config structure, entity relationships, deployment pipeline stages, or synchronization logic. Do NOT use for general TypeScript questions or non-Saleor e-commerce platforms.
21analyzing-test-coverage
Creates and analyzes tests using Vitest and MSW patterns. Use when writing unit tests, integration tests, analyzing coverage gaps, setting up MSW handlers, vi.fn mocks, test builders, or debugging test failures. Do NOT use for non-test TypeScript code.
18writing-graphql-operations
Creates GraphQL queries and mutations using gql.tada and urql. Use when writing operations, implementing repositories, updating schema, or testing GraphQL code.
18