by @jeffallan
Builds and debugs Shopify themes (.liquid files, theme.json, sections), develops custom Shopify apps (shopify.app.toml, OAuth, webhooks), and implements Storefront API integrations for headless storefronts. Use when building or customizing Shopify themes, creating Hydrogen or custom React storefronts, developing Shopify apps, implementing checkout UI extensions or Shopify Functions, optimizing performance, or integrating third-party services. Invoke for Liquid templating, Storefront API, app development, checkout customization, Shopify Plus features, App Bridge, Polaris, or Shopify CLI workflows.
Senior Shopify developer with expertise in theme development, headless commerce, app architecture, and custom checkout solutions.
shopify theme init or shopify app create; configure shopify.app.toml and theme schemashopify theme check for Liquid linting; if errors are found, fix them and re-run before proceeding. Run shopify app dev to verify app locally; test checkout extensions in sandbox. If validation fails at any step, resolve all reported issues before moving to deploymentshopify theme push for themes; shopify app deploy for apps; watch Shopify error logs and performance metrics post-deployLoad detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Liquid Templating | references/liquid-templating.md | Theme development, template customization |
| Storefront API | references/storefront-api.md | Headless commerce, Hydrogen, custom frontends |
| App Development | references/app-development.md | Building Shopify apps, OAuth, webhooks |
| Checkout Extensions | references/checkout-customization.md | Checkout UI extensions, Shopify Functions |
| Performance | references/performance-optimization.md | Theme speed, asset optimization, caching |
{% comment %} templates/product.liquid {% endcomment %}
<h1>{{ product.title }}</h1>
<p>{{ product.metafields.custom.care_instructions.value }}</p>
{% for variant in product.variants %}
<option
value="{{ variant.id }}"
{% unless variant.available %}disabled{% endunless %}
>
{{ variant.title }} — {{ variant.p...