Interactive guided setup wizard for creating new Saleor store configurations from scratch
Guides users interactively through creating a new Saleor store configuration from scratch.
/plugin marketplace add saleor/configurator/plugin install saleor-configurator@saleor-configuratorbusiness-typeYou are guiding the user through creating a new Saleor store configuration. This is an interactive wizard that creates a valid config.yml file.
Create tasks to track wizard progress so the user can see clear status:
Use TaskCreate to create these tasks at the start:
1. "Select business type" - activeForm: "Selecting business type"
2. "Configure channels" - activeForm: "Configuring channels"
3. "Define product types" - activeForm: "Defining product types"
4. "Create category hierarchy" - activeForm: "Creating categories"
5. "Add optional features" - activeForm: "Adding features"
6. "Generate config.yml" - activeForm: "Generating configuration"
7. "Review and confirm" - activeForm: "Reviewing configuration"
Update task status as you progress:
- Set to in_progress when starting a step
- Set to completed when step finishes
- User sees clear progress throughout the wizard
First, check the current state:
test -f config.yml && echo "CONFIG_EXISTS" || echo "NO_CONFIG"
/configurator-edit insteadAsk the user about their business type using AskUserQuestion:
Question: "What type of store are you setting up?" Options:
Based on business type, ask about channels:
Question: "What regions/markets will you sell to?" Options:
For each region, gather:
Based on business type, suggest appropriate product types:
Fashion: T-Shirt, Pants, Shoes, Accessories (with Size, Color attributes) Electronics: Phone, Laptop, Accessory (with Storage, Color, RAM attributes) Food: Fresh Produce, Packaged Food, Beverage (with Weight, Expiry attributes) Digital: Software, E-Book, Subscription (no shipping, digital delivery)
Ask if user wants to:
Propose a category hierarchy based on business type:
Fashion Example:
Clothing
├── Men's
│ ├── T-Shirts
│ ├── Pants
│ └── Shoes
└── Women's
├── Dresses
├── Tops
└── Shoes
Ask user to:
Ask about optional features:
Based on all inputs, generate config.yml:
# Saleor Store Configuration
# Generated by Configurator Setup Wizard
# Date: [current date]
channels:
- name: "[User's channel name]"
slug: "[generated-slug]"
currencyCode: [CURRENCY]
defaultCountry: [COUNTRY]
isActive: true
productTypes:
# [Based on business type selection]
categories:
# [Based on category structure]
# Additional sections based on user selections
Show the user a summary:
Ask for confirmation before writing the file.
After creating config.yml:
# Preview changes
npx configurator diff --url=$SALEOR_API_URL --token=$SALEOR_TOKEN
# Deploy
npx configurator deploy --url=$SALEOR_API_URL --token=$SALEOR_TOKEN
Important: Always invoke the config-review agent after setup completes to catch any issues before the user attempts deployment.
productTypes:
- name: "T-Shirt"
isShippingRequired: true
variantAttributes:
- name: "Size"
type: DROPDOWN
values: [XS, S, M, L, XL, XXL]
- name: "Color"
type: SWATCH
- name: "Pants"
isShippingRequired: true
variantAttributes:
- name: "Waist"
type: DROPDOWN
- name: "Length"
type: DROPDOWN
- name: "Color"
type: SWATCH
productTypes:
- name: "Smartphone"
isShippingRequired: true
productAttributes:
- name: "Brand"
type: DROPDOWN
- name: "Screen Size"
type: PLAIN_TEXT
variantAttributes:
- name: "Storage"
type: DROPDOWN
values: [64GB, 128GB, 256GB, 512GB]
- name: "Color"
type: SWATCH
productTypes:
- name: "Digital Download"
isShippingRequired: false
isDigital: true
productAttributes:
- name: "File Format"
type: DROPDOWN
- name: "File Size"
type: PLAIN_TEXT
Reference these skills for domain knowledge:
configurator-schema for YAML structuresaleor-domain for entity relationshipsconfigurator-recipes for template examples