Repository navigation
Add commerce-pdp-management starter - #45
Merged
Merged
Conversation
Merchandiser-controlled PLP enrichment layer over Shopify: presence-based collectionEnrichment + shared productBadge vocabulary, Next.js 16 storefront with parallel fetch + merge, Sanity Functions push-sync to Shopify metaobjects, and a framework-agnostic @starter/commerce package (Shopify adapter, merge logic, metaobject contract). Dev Dashboard client-credentials Admin auth with a minted public Storefront token. Co-authored-by: Cursor <cursoragent@cursor.com>
- Restore store-agnostic default seed so `pnpm bootstrap` works for any store; preserve the fully-merchandised "Sanity Swag Store" demo as demo-swag-store.ndjson behind `pnpm seed:demo` - Add deploy.yml (Studio + blueprint deploy, frontend build guard) - Document Vercel storefront deploy (root dir, env vars, CORS) in the README - Fix collection PLP layout: no facet rail collapse and no grid card overlap Co-authored-by: Cursor <cursoragent@cursor.com>
Add the commerce-plp-management job to root CI (format, lint, typecheck, validate, functions build, manifest extract, bundle-size check) and list it in the root README starters table. Co-authored-by: Cursor <cursoragent@cursor.com>
The starter skill and CONTRIBUTING now spell out that a new starter needs its own job in the root ci.yml (the starter's own workflows don't run in this repo), plus the GitHub Environment vars/secrets. Correct the stale note about editing the husky hook — it auto-discovers starters. Co-authored-by: Cursor <cursoragent@cursor.com>
An editorial enrichment layer for Shopify product detail pages, built as a pull-only, presence-based Sanity overlay resolved and merged at render time. - Studio v5: attributeRule (tag-matched), controlPlane + brandVoice singletons, skuEnrichment, product picker, review queue + control-plane Structure - Next.js 16 + React 19 + Tailwind v4 storefront with resolver + merge - Sanity Functions: cache-revalidate (pull-only CDN invalidation) + review-stamp - Shared @starter/commerce: Shopify Storefront adapter, resolvePdp, mergePdp - Monorepo wiring: root CI job + README starters table row Co-authored-by: Cursor <cursoragent@cursor.com>
jarodreyes
temporarily deployed
to
commerce-pdp-management
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
ai-shopping-assistant
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
had a problem deploying
to
agentic-localization
July 17, 2026 16:03 — with
GitHub Actions
Failure
jarodreyes
had a problem deploying
to
agentic-localization
July 17, 2026 16:03 — with
GitHub Actions
Error
jarodreyes
temporarily deployed
to
commerce-plp-management
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
commerce-plp-management
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
commerce-pdp-management
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
knowledge-base
July 17, 2026 16:03 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
knowledge-base
July 17, 2026 16:03 — with
GitHub Actions
Inactive
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Retry transient Shopify failures (402 dev-store wake-ups, 429, 5xx) and cache storefront reads in Next's data cache so Studio edits and enrichment publishes no longer re-hit the live store on every re-render. Co-authored-by: Cursor <cursoragent@cursor.com>
jarodreyes
temporarily deployed
to
commerce-pdp-management
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
ai-shopping-assistant
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
knowledge-base
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
commerce-plp-management
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
had a problem deploying
to
agentic-localization
July 30, 2026 20:39 — with
GitHub Actions
Error
jarodreyes
temporarily deployed
to
commerce-plp-management
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
knowledge-base
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
had a problem deploying
to
agentic-localization
July 30, 2026 20:39 — with
GitHub Actions
Failure
jarodreyes
temporarily deployed
to
commerce-pdp-management
July 30, 2026 20:39 — with
GitHub Actions
Inactive
jarodreyes
had a problem deploying
to
agentic-localization
August 3, 2026 20:23 — with
GitHub Actions
Error
jarodreyes
temporarily deployed
to
commerce-pdp-management
August 3, 2026 20:23 — with
GitHub Actions
Inactive
jarodreyes
temporarily deployed
to
commerce-plp-management
August 3, 2026 20:23 — with
GitHub Actions
Inactive
jarodreyes
had a problem deploying
to
agentic-localization
August 3, 2026 20:23 — with
GitHub Actions
Failure
jarodreyes
temporarily deployed
to
knowledge-base
August 3, 2026 20:23 — with
GitHub Actions
Inactive
Replace the dismissive "Why not Sanity Connect?" section with a "Relationship to Sanity Connect" section that presents Connect as a complementary option for a richer authoring experience, while keeping the pull-only render-time model as the default. Addresses review feedback. Co-authored-by: Cursor <cursoragent@cursor.com>
jarodreyes
had a problem deploying
to
agentic-localization
August 23, 2026 05:11 — with
GitHub Actions
Failure
jarodreyes
had a problem deploying
to
agentic-localization
August 23, 2026 05:11 — with
GitHub Actions
Error
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Adds
commerce-pdp-management, a sibling tocommerce-plp-management(#44): an editorial enrichment layer for Shopify product detail pages, built as a pull-only, presence-based Sanity overlay that is resolved and merged at render time. If no rule matches and no SKU enrichment exists, the PDP renders as pure Shopify — every intervention is opt-in and the catalog never breaks. Nothing is ever written back to Shopify.What's included
attributeRule(tag-matched 1:many),controlPlane+brandVoicesingletons,skuEnrichment(1:1 by Shopify GID), a Shopify product picker, and a Structure with a Review queue + rules-by-category.frontend/lib/product.ts), draft mode, and an on-demand/api/revalidateendpoint.cache-revalidate(invalidate the storefront CDN on publish, pull-only) andreview-stamp(stampreviewedAton approval).@starter/commerce: Shopify Storefront adapter (getProductByHandle, recommendations, list),resolvePdp, andmergePdp, consumed by both the frontend and the Functions..github/workflows/ci.ymljob (commerce-pdp-management, Node 20/22, format/lint/typecheck/validate + functions build + manifest extract + bundle-size check) and a row in the root README starters table.Env / setup
Three gitignored
.envfiles (root / studio / frontend);.env.exampleprovided for each. Admin credentials live only in the root.envand are used solely to mint the public Storefront token — the starter never pushes to Shopify. A new GitHub Environmentcommerce-pdp-managementis required (SANITY_PROJECT_ID,SANITY_DATASET).Test plan
pnpm installpnpm validatepnpm typecheckpnpm lint/pnpm format:checkpnpm --filter @starter/functions build(+ bundle-size check)pnpm bootstrap(blueprint + schema + typegen + seed) thenpnpm dev— PDP renders merged enrichment; unmatched products render as pure Shopifycommerce-pdp-managementGitHub Environment so the new CI job can runMade with Cursor