{"repo":"ZUnfurl/zunfurl","free":true,"listed":false,"github":"https://github.com/ZUnfurl/zunfurl","clone":"git clone https://github.com/ZUnfurl/zunfurl.git","description":"Static-first Astro framework for brand sites, Sanity CMS, and read-only Shopify retail catalogs. 0.x preview.","language":"JavaScript","stars":45,"topics":["astro","brand-site","cloudflare-workers","headless-cms","product-catalog","sanity","shopify","site-framework","static-site","typescript"],"license":"Apache-2.0","category":"ecommerce","readme_excerpt":"ZUnfurl 0.x Preview： 公共契约仍可能发生 breaking change。当前仓库提供可验证的源码基础，不承诺生产 SLA，也不把 Roadmap 能力描述成已交付。 ZUnfurl 是一套静态优先的品牌站点基础框架：帮助品牌建立更清晰、可维护的数字呈现，并按 A1/A2/B/C 四种交付形态启动品牌官网或 C 零售目录与内容运营基础框架（C Retail Catalog & Content Foundation） 。 仓库机器名与内部 package 暂时保留 gcss-v3-site-framework / gcss- ，避免在首个 Preview 引入没有迁移价值的破坏性改名。 核心组合： - Astro：前台页面与静态构建。 - Sanity Studio：可选内容 CMS 和商品内容工作台。 - Shopify Storefront API：仅 C 方案启用，提供商品目录和媒体事实的只读映射。 - Cloudflare Worker：承载静态资源、健康检查、轻量 Contact 表单和 webhook 入口。 - A2/B/C Worker 使用 SQLite-backed Durable Object 协调原子 Contact 额度或短期 webhook 事件 claim；它抑制同一事件 ID 的重复 dispatch attempt，但不宣称跨 GitHub 外部系统 exactly-once。 - GitHub Actions：自动执行验证和构建检查；生产部署只允许从 main 人工触发，并受 production Environment 与显式 arming 边界约束。 A/B/C 交付方案 方案 Profile 内容 CMS 商品 CMS Shopify 适用场景 --- --- --- --- --- --- A1 纯静态品牌官网 static-brand 否 否 否 无后台、无真实表单 API，内容由维护方更新 A2 静态官网 + 表单 static-brand 否 否 否 静态页面 + 最小 Contact Worker B 可自维护品牌官网 cms-brand 是 否 否 客户通过 Sanity 维护页面内容和表单文案 C 零售目录与内容运营基础框架 retail 是 是 只读目录映射 客户通过 Sanity 维护商品内容，并从 Shopify 映射目录和媒体事实 模板默认 profile 是 cms-brand 。这是更安全的新项目默认值：不会无意要求 Shopify、商品工作台、webhook 或目录权限。需要商品目录、商品故事和多语言内容运营时，再显式切换到 retail 。 C 不包含 Cart、Checkout、支付、订单、税务、配送、履约，也不提供实时价格或实时库存。 retail 是为兼容现有项目契约而保留的机器值，不代表本仓库已经实现线上交易闭环。 Authenticated Editorial/Draft Preview、生产 Backup 和灾难 Restore 尚未交付，统一列入 Roadmap。本地 astro preview 与 PR CI 构建检查都不是 draft-aware 内容预览。 外部账户边界 Profile GitHub / Cloudflare Sanity Shopify Resend / Turnstile --- --- --- --- --- A1 客户自有 不创建 不创建 不创建 A2 客户自有 不创建 不创建 启用 Contact 时由客户自有 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ZUnfurl","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ZUnfurl/zunfurl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}