From saleor-commerce
Sets up Saleor dev environment: saleor-platform Docker Compose stack, CLI tooling, PostgreSQL/Redis prereqs, manage.py commands, env vars, project structure. For new Saleor projects.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin saleor-commerceThis skill is limited to using the following tools:
**Fetch live docs**:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Fetch live docs:
https://docs.saleor.io/docs/developer/getting-started/architecture for architecture overviewsite:docs.saleor.io saleor-platform docker compose setup for Docker-based quickstartsite:docs.saleor.io saleor CLI installation for CLI tooling and commandssite:docs.saleor.io environment variables configuration for .env referencesite:github.com saleor/saleor-platform docker-compose for latest Compose file| Software | Minimum Version | Purpose |
|---|---|---|
| Python | 3.12+ | Saleor core runtime |
| PostgreSQL | 14+ | Primary database |
| Redis | 6+ | Celery broker, caching |
| Node.js | 18+ | Dashboard and storefront apps |
| Docker & Docker Compose | latest | Recommended local environment |
| Git | any | Version control |
CREATE DATABASE saleor;postgres://user:password@localhost:5432/saleorredis://localhost:6379The saleor-platform repository bundles all Saleor services into a single Compose stack:
| Service | Container | Port |
|---|---|---|
| Saleor Core (API) | saleor-api | 8000 |
| Saleor Dashboard | saleor-dashboard | 9000 |
| Saleor Storefront | saleor-storefront | 3000 |
| PostgreSQL | saleor-db | 5432 |
| Redis | saleor-redis | 6379 |
| Celery Worker | saleor-worker | -- |
| Jaeger (tracing) | jaeger | 16686 |
| Mailpit (email) | mailpit | 8025 |
Clone the platform repository and start all services with docker compose up.
| Command | Purpose |
|---|---|
saleor login | Authenticate with Saleor Cloud |
saleor env list | List available environments |
saleor env create | Create a new Cloud environment |
saleor tunnel | Expose local app to Saleor for webhook delivery |
saleor app create | Scaffold a new Saleor App |
saleor app tunnel | Tunnel local app for development |
saleor storefront create | Scaffold a storefront project |
Install via npm i -g @saleor/cli -- fetch live docs for current CLI version.
| Directory | Purpose |
|---|---|
saleor/graphql/ | GraphQL schema, types, resolvers, mutations |
saleor/product/ | Product, category, collection models |
saleor/order/ | Order, fulfillment, draft order models |
saleor/checkout/ | Checkout models and calculations |
saleor/payment/ | Payment gateway interfaces |
saleor/warehouse/ | Stock, warehouse, allocation models |
saleor/plugins/ | Legacy plugin system (deprecated in favor of Apps) |
saleor/webhook/ | Webhook dispatch and event handling |
saleor/core/ | Shared utilities, permissions, base models |
| Root | manage.py, requirements.txt, setup.cfg, .env |
| Variable | Purpose |
|---|---|
DATABASE_URL | PostgreSQL connection string |
REDIS_URL | Redis connection for Celery and cache |
SECRET_KEY | Django secret key |
ALLOWED_HOSTS | Comma-separated allowed hostnames |
DEFAULT_FROM_EMAIL | Sender email address |
EMAIL_URL | SMTP connection string |
DASHBOARD_URL | Dashboard URL for CORS and redirects |
ALLOWED_CLIENT_HOSTS | Storefront hosts for CORS |
ENABLE_DEBUG_TOOLBAR | Enable Django Debug Toolbar |
JAEGER_AGENT_HOST | OpenTelemetry tracing endpoint |
Never hardcode secrets -- always use .env files excluded from version control.
| Command | Purpose |
|---|---|
python manage.py migrate | Apply database migrations |
python manage.py createsuperuser | Create admin staff account |
python manage.py populatedb | Seed sample data |
python manage.py collectstatic | Collect static files for production |
python manage.py create_thumbnails | Generate product image thumbnails |
Saleor uses Celery for asynchronous tasks (email sending, webhook dispatch, thumbnail generation):
| Mode | Command |
|---|---|
| Development | celery -A saleor worker --loglevel=info |
| Production | Use a process manager (systemd, supervisord) |
| Beat scheduler | celery -A saleor beat for periodic tasks |
| Issue | Resolution |
|---|---|
| Database connection refused | Verify PostgreSQL is running and DATABASE_URL is correct |
| Celery tasks not executing | Ensure Redis is running and REDIS_URL is correct |
| CORS errors from Dashboard | Check DASHBOARD_URL matches the actual Dashboard origin |
| CORS errors from Storefront | Check ALLOWED_CLIENT_HOSTS includes the storefront origin |
| Static files 404 | Run collectstatic or check STATIC_URL config |
| Docker Compose port conflict | Ensure ports 8000, 9000, 5432, 6379 are free |
saleor-platform Docker Compose for local development -- avoid manual dependency setuppython manage.py migrate after pulling changes with new migrations.env in .gitignore and provide .env.example for team memberspopulatedb to seed sample data for development and testingrequirements.txt to avoid unexpected breakagesaleor tunnel or saleor app tunnel when developing Apps that receive webhooksFetch the Saleor setup documentation for exact Docker Compose configuration, CLI flags, and latest environment variable reference before implementing.