Covers standard Shopify page types including home, product, collection, search, cart, blog, policy pages, landing pages, and 404
headless-shopify-nextjs-starter — Next.js Ecommerce Template
By giorgioliapakis
A Shopify headless storefront starter built on Next.js and React, covering all standard page types, a themeable design system, and a demo mode that runs without a Shopify account.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Provides a demo mode that runs the full storefront with generated data without a Shopify account, and can be deployed directly to Vercel
Cart supports line items, quantities, discounts, notes, and selling plans, with an accessible drawer and optimistic updates; add-to-cart still works with JavaScript disabled
Design system is centrally managed with semantic tokens, supports light and dark modes, and validates WCAG contrast at configuration time
Pages are assembled from a typed server-rendered section registry, and the home page and landing pages can reuse the same set of sections
Built-in robots.txt, sharded sitemap, llms.txt, dynamic OG images, and markdown representations for products, collections, and search
Template Details
This is a starter template for a Shopify headless storefront, built with the Next.js App Router and React, communicating with the Shopify Storefront API through Shopify's Hydrogen SDK. The template covers standard page types including home, product, collection, collection list, search, cart, blog, article, content pages, policy pages, landing pages, and 404, and provides metadata, JSON-LD structured data, and error and empty state handling for each page.
For the conversion path, the template includes a cart with line items, quantities, discounts, notes, and selling plans, as well as an accessible drawer cart with optimistic updates, Shop Pay, predictive search, and Shopify-hosted checkout; add-to-cart still works with JavaScript disabled. The design system is centrally managed through semantic tokens (color, typography, spacing, radius, motion), supports light and dark modes, validates WCAG contrast at configuration time, and the theme can be adjusted in a single configuration file.
Pages are assembled from a composable, typed server-rendered section registry, and both the home page and landing pages are built on that registry. The template also provides robots.txt, a sharded sitemap, llms.txt, dynamic OG images, and markdown representations for products, collections, and search. On quality, the repository runs Storefront query budgets, bundle size budgets, Lighthouse, Playwright, and axe checks in CI (covering desktop, mobile, and JavaScript-disabled scenarios), and unifies type, lint, unit and contract tests, and supply chain audits through pnpm check.
Limitations to note: checkout, payments, and customer accounts are intentionally left to Shopify hosting; the template does not touch card data or rebuild authentication. Third-party app features such as reviews, loyalty, wishlists, and subscription portals require writing your own adapter layer. The project describes itself as young but usable, and the API surface of shop.config.ts and the section schema may still change before 1.0; the Hydrogen SDK is pinned to a preview version with a dated review exception note.
Is it right for your project?
Use Cases
- Building a headless frontend for a Shopify store and wanting ready-made page types and conversion paths
- Previewing and evaluating the storefront structure and design system with demo data before connecting a real Shopify account
- Quickly customizing brand appearance by centrally adjusting theme, navigation, and page recipes through shop.config.ts
- Letting coding agents extend pages or sections based on the repository's AGENTS.md and pinned skill packages
- Introducing query budgets, bundle size, Lighthouse, and accessibility checks as quality gates in CI
Suitable For
- Developers or teams needing a starting point for a Shopify headless storefront frontend
- Projects that want to validate the design system and page structure first using demo mode
- Developers accustomed to the Next.js App Router and React server components
- Workflows planning to use coding agents for page assembly and further development
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run pnpm install, then pnpm dev:demo to browse the demo storefront without credentials
- 2
To connect a real store, install the Headless sales channel in the Shopify admin and create a storefront, then obtain a public Storefront API access token
- 3
Copy .env.example to .env.local, set PUBLIC_STORE_DOMAIN and PUBLIC_STOREFRONT_API_TOKEN, then run pnpm storefront:doctor to verify the connection
- 4
Store name, navigation, theme, and page recipes are modified centrally in shop.config.ts
- 5
Run pnpm check before committing; this command unifies type, lint, unit and contract tests, and supply chain audits
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Checkout, payments, and customer account features are not implemented in the template but are left to Shopify hosting; using these capabilities requires relying on the Shopify platform and its hosted pages.
- Third-party app features such as reviews, loyalty, wishlists, and subscription portals are not provided with the template and require writing your own adapter layer.
- Connecting a real store requires installing the Headless sales channel in the Shopify admin and creating a storefront, which are external platform account and configuration requirements.
- Connecting a real store requires configuring the Shopify Storefront API domain and a public access token, i.e., external service credentials.
- The Hydrogen SDK the template depends on is pinned to a preview version, which is a non-stable dependency and may bring compatibility changes in future upgrades.
- The project has not yet reached 1.0, and the API surface of shop.config.ts and the section schema may still change before 1.0.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone cannot be used to judge them.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Deliberately handed off to Shopify: **checkout**, **payments** and **customer accounts**.
Original README
Third-party apps (reviews, loyalty, wishlists, subscriptions portals) need their own adapters
Original README
In Shopify admin, install the **Headless** sales channel and create a storefront.
Original README
Set `PUBLIC_STORE_DOMAIN` to `your-store.myshopify.com` and `PUBLIC_STOREFRONT_API_TOKEN` to the public token.
Original README
The Hydrogen SDK is pinned to a preview build under a dated, reviewed exception
Original README
https://github.com/giorgioliapakis/headless-shopify-nextjs-starter/blob/main/LICENSEhttps://github.com/giorgioliapakis/headless-shopify-nextjs-starter/blob/main/README.mdExpect the API surface of `shop.config.ts` and the section schema to still move before a 1.0.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 85 / 100
- Technologies
- Next.js · React
- Website type
- E-commerce · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-14
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 0eb311034e026613d6796c92b825655717b5518f85205da09538cca84c66f588
2026-10-02T07:35:05.290Z
Source file / repository# Headless Shopify Next.js Starter A production-shaped headless Shopify storefront on Next.js 16 — every standard page type, a themed design system, and a demo mode that runs without a Shopify account. Point it at your store, or hand it to a coding agent and let it build. **[Browse the live demo →](https://headless-shopify-nextjs-starter.vercel.app)**  ```bash git clone https://github.com/giorgioliapakis/headless-shopify-nextjs-starter cd headless-shopify-nextjs-starter pnpm install pnpm dev:demo ``` That runs the full storefront on generated demo data — no credentials, no Shopify account. Open [localhost:3000](http://localhost:3000) to browse it, and `/styleguide` to see the design system. Or deploy the same credential-free demo straight to Vercel — set the four demo values from [`.env.example`](.env.example) when prompted: [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fgiorgioliapakis%2Fheadless-shopify-nextjs-starter&env=SHOPIFY_STOREFRONT_FIXTURE,PUBLIC_STORE_DOMAIN,PUBLIC_STOREFRONT_API_TOKEN,SHOPIFY_API_VERSION&envDescription=Demo%20fixture%20values%20from%20.env.example%20boot%20a%20credential-free%20demo%20store&envLink=https%3A%2F%2Fgithub.com%2Fgiorgioliapakis%2Fheadless-shopify-nextjs-starter%2Fblob%2Fmain%2F.env.example) ## What you get - **Every Shopify page type**: home, product, collection, collection list, search, cart, blog, article, content pages, policies, landing pages, 404 — each with metadata, JSON-LD, error and empty states. - **A real conversion path**: a cart with lines, quantities, discounts, notes and selling plans, an accessible drawer with optimistic updates, Shop Pay, predictive search with Shopify attribution, and hosted Shopify checkout. Adding to cart works with JavaScript disabled. - **A design system you can retheme from one file** — semantic tokens for colour, type, spacing, radius and motion, with light and dark mode and WCAG contrast validated at config time. - **Composable page sections** — a registry of typed, server-rendered sections that home and landing pages are built from, so an agent can assemble pages without inventing markup. - **SEO and agent surfaces** — `robots.txt`, sharded sitemaps, `llms.txt`, dynamic OG images, and markdown representations of products, collections and search. - **Performance and accessibility enforced, not aspired to** — Storefront query budgets, bundle budgets, Lighthouse runs, and Playwright + axe across desktop, mobile and JavaScript-disabled, all failing CI when they slip; types, lint, unit and contract tests and supply-chain audits ride the same `pnpm check` gate. - **Pinned agent skills** for Hydrogen, React performance and shadcn, in `.agents/skills/`. Built on Next.js 16 (App Router, Server Components, Cache Components), React 19, Tailwind CSS 4, shadcn source-owned components on Base UI, and Shopify's framework-agnostic Hydrogen SDK. ## Connect your Shopify store 1. In Shopify admin, install the **Headless** sales channel and create a storefront. Copy the public Storefront API access token. 2. Configure the environment: ```bash cp .env.example .env.local ``` Set `PUBLIC_STORE_DOMAIN` to `your-store.myshopify.com` and `PUBLIC_STOREFRONT_API_TOKEN` to the public token. The public token is safe in the browser by design. 3. Verify the connection. The report is redacted and never prints your token: ```bash pnpm storefront:doctor ``` 4. Run it: ```bash pnpm dev ``` Then edit `shop.config.ts` — that's the one file that holds your store's name, navigation, theme and page recipes. Full walkthrough: [docs/getting-started.md](docs/getting-started.md). ## Customize | I want to… | Go to | | ---------------------------------------- | ------------------------------------------------------------------------------------ | | Change colours, type, spacing, dark mode | `shop.config.ts` → `theme`, see [design tokens](docs/customization/design-tokens.md) | | Rearrange the homepage | `shop.config.ts` → `recipes.home`, see [sections](docs/customization/sections.md) | | Add a landing page | `shop.config.ts` → `recipes.landing` | | Change navigation | `shop.config.ts` → `navigation`, or let it read your Shopify menus | | Add a UI primitive | `components/ui/` — source-owned, edit in place | | Add a Storefront query | `lib/shopify/operations/` | ## What's supported The [storefront capability contract](docs/compatibility/storefront-capabilities.md) lists every route and capability with an honest status. Deliberately handed off to Shopify: **checkout**, **payments** and **customer accounts**. This starter never touches card data, and links out to Shopify's hosted account pages rather than rebuilding authentication. Third-party apps (reviews, loyalty, wishlists, subscriptions portals) need their own adapters — the starter does not ship fake provider-neutral UI that silently drops those contracts. ## Working with coding agents `AGENTS.md` is the instruction source, and it is read automatically by Claude Code, Codex and other agent hosts. It describes the architecture, the invariants, and where things live. `.agents/skills/` carries pinned Shopify Hydrogen, React and shadcn skills so an agent gets current, version-matched guidance instead of guessing. The practical loop: run `pnpm dev:demo`, point your agent at the repo, and ask for what you want. `pnpm check` is the gate it should pass before it claims to be done. ## Project status Young but real. The storefront runtime, design system, demo mode and quality gates work today and are covered by CI. Expect the API surface of `shop.config.ts` and the section schema to still move before a 1.0. The Hydrogen SDK is pinned to a preview build under a dated, reviewed exception — see [ADR 0002](docs/adr/0002-hydrogen-preview-adoption.md). ## Documentation Start at [docs/README.md](docs/README.md). ## Contributing [`CONTRIBUTING.md`](CONTRIBUTING.md). The one hard rule: nothing store-specific ever enters the repository — no real merchant names, product data, imagery or credentials. `pnpm check` enforces it. ## License MIT — see [`LICENSE`](LICENSE). Derived from and bundling MIT-licensed work by Vercel, Shopify and shadcn; attribution in [`NOTICE`](NOTICE).
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
