enable-shopify-menus
Enable Shopify Menus
By default, the storefront's nav renders an inline const items: MenuItem[] = [...] in Nav (components/nav/index.tsx), and the footer renders an empty const items: MenuItem[] = [] in Footer (components/footer/index.tsx). QuickLinks, MobileMenu, and Footer's FooterMenu already render MenuItem[] from lib/menu/types.ts, up to three levels deep in the nav and two in the footer.
This skill adds a cached Shopify menu read and points the selected components at it with the inline items as fallback. Shopify sends no webhook when a menu changes, so menus stay cached until the storefront's protected POST /api/revalidate endpoint is called with the menus tag.
Before you start
Ask the user two questions in order:
1. Which menus do you want to fetch from Shopify?
- Nav menu — replaces the hardcoded items used by the desktop quick links and mobile sheet.
- Footer menu — adds footer columns.
- Both
2. What are the Shopify menu handles?
Ask for each selected menu. Defaults: main-menu for nav, footer for footer. Every Shopify store starts with both.