dist/codex/magento2-commerce/skills/magento-setup/SKILL.md
Set up a Magento 2 Open Source project — installation, Composer setup, system requirements verification, and initial configuration. Use when starting a new Magento project or setting up a development environment.
npx skillsauth add orcaqubits/agentic-commerce-claude-plugins magento-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
https://experienceleague.adobe.com/en/docs/commerce-operations/installation-guide/system-requirements for current PHP, MySQL, OpenSearch, Redis, and Varnish versionssite:experienceleague.adobe.com commerce installation guide for step-by-step setupmagento open source latest version release for the current GA releaseGuides through complete Magento 2 environment setup:
composer create-project from repo.magento.combin/magento setup:install with all required parametersmemory_limit >= 2GB, and extensions: bcmath, ctype, curl, dom, gd, hash, iconv, intl, mbstring, openssl, pdo_mysql, simplexml, soap, spl, xsl, zip, sodium, sockets.
# 1. Create project
composer create-project --repository-url=https://repo.magento.com/ \
magento/project-community-edition <install-dir>
# 2. Install (with all services configured)
bin/magento setup:install \
--base-url=<url> \
--db-host=<host> --db-name=<name> --db-user=<user> --db-password=<pass> \
--search-engine=opensearch --opensearch-host=<host> --opensearch-port=9200 \
--session-save=redis --session-save-redis-host=<host> \
--cache-backend=redis --cache-backend-redis-server=<host> \
--admin-firstname=<first> --admin-lastname=<last> \
--admin-email=<email> --admin-user=<user> --admin-password=<pass>
# 3. Post-install
bin/magento deploy:mode:set developer
bin/magento cron:install
bin/magento setup:upgrade
bin/magento cache:flush
Fetch the installation guide for exact CLI flags, service configuration, and file permission setup before proceeding.
development
Build with Spree's headless Next.js storefront — the official `spree/storefront` repo (Next.js 16 App Router with Server Actions and Turbopack, React 19 Server Components, Tailwind CSS 4, TypeScript 5, `@spree/sdk`, Sentry), server-only auth (httpOnly JWT cookies + publishable key), MeiliSearch faceted catalog, one-page checkout with Apple/Google Pay/Klarna/Affirm/SEPA, multi-region market routing, GA4 + JSON-LD SEO, and Vercel/Docker deployment. Use when forking or customizing the storefront, or evaluating headless adoption.
tools
Build Spree extensions as Rails engines — gem scaffolding, `bin/rails g spree:extension`, mounting routes/migrations/assets, the modern `prepend` decorator pattern (`*_decorator.rb` with `self.prepended(base)`), generators (`spree:model_decorator`, `spree:controller_decorator`), the four customization surfaces in preference order (Events > Webhooks > Dependencies > Decorators), Spree::Dependencies for swapping service objects, gem release/versioning, and the deprecated Deface engine. Use when building a reusable Spree extension or adding non-trivial customization to an app.
development
Build with Spree's event bus and Webhooks 2.0 — `Spree::Events` publication, `Spree::Subscriber` DSL with `subscribes_to` and `on`, wildcard matching, lifecycle events (`{model}.created/.updated/.deleted` via `publishes_lifecycle_events`), the canonical event catalog (order.*, payment.*, shipment.*, product.*), Webhooks 2.0 endpoints, HMAC-SHA256 signing (`X-Spree-Webhook-Signature`), exponential-backoff retries, and Sidekiq job orchestration. Use when wiring event-driven business logic, building webhook consumers, or replacing ActiveSupport callback chains.
tools
Cross-cutting Spree development patterns — the customization preference hierarchy (Events > Webhooks > Dependencies > Decorators), `Spree::Dependencies` service-object swapping, the `_decorator.rb` + `prepend` + `self.prepended` idiom, idempotent subscribers and webhook receivers, multi-store scoping discipline, prefixed IDs, calculator polymorphism (shipping/promotion/tax share the base), service-object composition with `dry-monads` or simple results, why to avoid `class_eval` reopening and Deface, and Spree-on-Rails idioms (Hotwire/Turbo Stimulus, ActiveStorage, Action Cable, Sidekiq). Use when designing the architecture of a Spree extension or solving cross-cutting concerns.