[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"docs-nav-en":3,"landing-footer-friend-links":59,"docs-nav-zh":62,"docs-page-en-skills-and-vibe-coding":98,"docs-page-zh-skills-and-vibe-coding":302},[4,10,16,22,27,32,37,42,48,53],{"path":5,"title":6,"label":7,"description":8,"order":9},"/docs/introduction","web-nuxt template overview","Introduction","What the Nuxt template already ships today, and where to customize it.","1",{"path":11,"title":12,"label":13,"description":14,"order":15},"/docs/quick-start","Quick start for web-nuxt","Quick start","Go from first visit to live demo, dashboard activation, and launch-ready trust surfaces.","2",{"path":17,"title":18,"label":19,"description":20,"order":21},"/docs/billing-and-credits","Billing and credits","Billing","How pricing, credits, subscriptions, and order history fit together in the Nuxt template.","3",{"path":23,"title":24,"label":25,"description":26,"order":21},"/docs/skills-and-vibe-coding","Skills and vibe coding for web-nuxt","Skills & vibe coding","Use repo skills to customize apps/web-nuxt with prompt-driven edits instead of starting from a blank spec.",{"path":28,"title":29,"label":29,"description":30,"order":31},"/docs/auth-and-guest-mode","Auth and guest mode","Understand login, guest access, account conversion, and where each path should lead users.","4",{"path":33,"title":34,"label":34,"description":35,"order":36},"/docs/ai-playground","AI workspace","The user-facing Chat, Image Agent, Studio, and Usage surfaces in web-nuxt.","5",{"path":38,"title":39,"label":39,"description":40,"order":41},"/docs/support-and-refund","Support and refund","Where users should go for help, how refunds are handled, and what to expose on the public site.","6",{"path":43,"title":44,"label":45,"description":46,"order":47},"/docs/analytics","Analytics providers in web-nuxt","Analytics","Optional analytics support for GA4, Plausible, and Microsoft Clarity.","7",{"path":49,"title":50,"label":50,"description":51,"order":52},"/docs/footer-configuration","Footer configuration","Configure footer brand copy, contact email, social links, navigation columns, legal text, and copyright from zship.app.json.","8",{"path":54,"title":55,"label":56,"description":57,"order":58},"/docs/docs-system","How the built-in docs work","Docs system","The Nuxt Content docs setup inside web-nuxt and how to extend it.","9",{"code":60,"data":61},200,[],[63,67,71,74,78,81,84,87,91,94],{"path":5,"title":64,"label":65,"description":66,"order":9},"web-nuxt 模板概览","模板概览","说明 web-nuxt 当前已经具备什么，以及主要改动入口在哪里。",{"path":11,"title":68,"label":69,"description":70,"order":15},"web-nuxt 快速开始","快速开始","从首次访问到真实演示、仪表盘激活路径与对外发布前检查清单。",{"path":17,"title":72,"label":72,"description":73,"order":21},"计费与积分","说明定价、积分、订阅与订单历史在 Nuxt 模板中的关系。",{"path":23,"title":75,"label":76,"description":77,"order":21},"web-nuxt 的 Skills 与 vibe coding","Skills 与 vibe coding","通过 repo 里的 skills，用自然语言驱动方式修改和自定义 apps/web-nuxt。",{"path":28,"title":79,"label":79,"description":80,"order":31},"登录与访客模式","说明登录、访客访问、账户升级以及这些路径应该把用户带到哪里。",{"path":33,"title":82,"label":82,"description":83,"order":36},"AI 工作区","说明 web-nuxt 面向用户的 Chat、Image Agent、Studio 与 Usage 产品面。",{"path":38,"title":85,"label":85,"description":86,"order":41},"支持与退款","说明用户应该去哪里求助、退款如何处理，以及公开站点应暴露哪些信任入口。",{"path":43,"title":88,"label":89,"description":90,"order":47},"web-nuxt 的 Analytics 支持","数据分析","说明 web-nuxt 目前如何接入 GA4、Plausible 和 Clarity。",{"path":49,"title":92,"label":92,"description":93,"order":52},"Footer 配置","通过 zship.app.json 配置 Footer 的品牌文案、联系邮箱、社交链接、导航栏目、法律声明与版权信息。",{"path":54,"title":95,"label":96,"description":97,"order":58},"内置 Docs 系统说明","Docs 系统","说明 web-nuxt 当前基于 Nuxt Content 的站内文档能力，以及如何继续扩展。",{"id":99,"title":24,"body":100,"description":26,"extension":296,"label":25,"meta":297,"navigation":298,"order":21,"path":23,"seo":299,"stem":300,"__hash__":301},"docsEn/docs/skills-and-vibe-coding.md",{"type":101,"value":102,"toc":287},"minimark",[103,111,116,163,167,176,181,185,217,228,232,259,263,281],[104,105,106,110],"p",{},[107,108,109],"code",{},"web-nuxt"," now has a dedicated skills entry for prompt-driven customization. The goal is simple: let a builder describe the product change in natural language, then let Codex map that request onto the right files and shared layers.",[112,113,115],"h2",{"id":114},"recommended-skill-stack","Recommended skill stack",[117,118,119,126,136,145,151,157],"ul",{},[120,121,122,125],"li",{},[107,123,124],{},"$onboard","\nUse first when you need the repo map or want to confirm which layer owns a feature.",[120,127,128,131,132,135],{},[107,129,130],{},"$customize-web-nuxt","\nUse when you are editing ",[107,133,134],{},"apps/web-nuxt"," directly: landing hero, pricing, docs, auth, guest-demo, dashboard entry flow, or app-level proxy routes.",[120,137,138,141,142,144],{},[107,139,140],{},"$create-app","\nUse when you want a separate frontend copied from ",[107,143,134],{}," instead of modifying the template in place.",[120,146,147,150],{},[107,148,149],{},"$customize-brand","\nUse after copying the app, or when the change is mostly manifest-driven branding and SEO.",[120,152,153,156],{},[107,154,155],{},"$add-page","\nUse when the new product surface needs its own route.",[120,158,159,162],{},[107,160,161],{},"$add-dashboard","\nUse when the user dashboard needs a new feature tab or activation area.",[112,164,166],{"id":165},"in-place-editing-vs-copied-app","In-place editing vs copied app",[104,168,169,170,172,173,175],{},"Use ",[107,171,130],{}," when ",[107,174,134],{}," itself is the working frontend.",[104,177,169,178,180],{},[107,179,140],{}," first if you want tenant isolation, a new package name, or a product frontend with its own release cadence. After that, use the other skills against the copied app.",[112,182,184],{"id":183},"main-edit-surfaces","Main edit surfaces",[117,186,187,193,199,205,211],{},[120,188,189,192],{},[107,190,191],{},"apps/web-nuxt/zship.app.json","\nBrand identity, SEO, footer, analytics, dashboard feature flags.",[120,194,195,198],{},[107,196,197],{},"apps/web-nuxt/app/components/LandingPage.vue","\nHero, CTA flow, marketing sections, testimonials, closing CTA.",[120,200,201,204],{},[107,202,203],{},"apps/web-nuxt/app/pages/pricing.vue","\nPricing layout, comparison table, sales CTA.",[120,206,207,210],{},[107,208,209],{},"apps/web-nuxt/content/docs/*","\nUser-facing docs content in English and Simplified Chinese.",[120,212,213,216],{},[107,214,215],{},"apps/web-nuxt/server/api/*","\nPublic-page server proxies.",[104,218,219,220,223,224,227],{},"When a request clearly belongs to ",[107,221,222],{},"packages/nuxt-common-layer"," or ",[107,225,226],{},"packages/nuxt-ai-layer",", Codex should explain that boundary before turning a local page tweak into a shared-platform change.",[112,229,231],{"id":230},"example-prompts","Example prompts",[117,233,234,239,244,249,254],{},[120,235,236],{},[107,237,238],{},"Use $customize-web-nuxt to turn the landing hero into a waitlist-first launch page for an AI video tool.",[120,240,241],{},[107,242,243],{},"Use $customize-web-nuxt to simplify the dashboard home so the primary action is opening AI Playground.",[120,245,246],{},[107,247,248],{},"Use $customize-web-nuxt to add a docs page about API keys and link it in the existing docs list.",[120,250,251],{},[107,252,253],{},"Use $customize-web-nuxt to adjust pricing for annual plans only and update the CTA language across the landing page.",[120,255,256],{},[107,257,258],{},"Use $create-app NAME=my-product to fork web-nuxt, then use $customize-brand APP=apps/my-product to replace the default branding.",[112,260,262],{"id":261},"practical-workflow","Practical workflow",[264,265,266,269,272,275,278],"ol",{},[120,267,268],{},"Start from the repo root.",[120,270,271],{},"Invoke the skill explicitly in your prompt.",[120,273,274],{},"Describe the product change, not just the file name.",[120,276,277],{},"Let Codex inspect the current implementation before patching.",[120,279,280],{},"Ask for verification on the affected route after the change lands.",[104,282,283,284,286],{},"That approach keeps the work close to the real codebase and makes ",[107,285,109],{}," feel like a modifiable product surface instead of a frozen template.",{"title":288,"searchDepth":289,"depth":289,"links":290},"",2,[291,292,293,294,295],{"id":114,"depth":289,"text":115},{"id":165,"depth":289,"text":166},{"id":183,"depth":289,"text":184},{"id":230,"depth":289,"text":231},{"id":261,"depth":289,"text":262},"md",{},true,{"title":24,"description":26},"docs/skills-and-vibe-coding","b9q_zWx8bQT-S-0raPzZQsCM588PgRjXbhql6rspo0g",{"id":303,"title":75,"body":304,"description":77,"extension":296,"label":76,"meta":469,"navigation":298,"order":21,"path":23,"seo":470,"stem":300,"__hash__":471},"docsZh/docs/skills-and-vibe-coding.md",{"type":101,"value":305,"toc":462},[306,311,315,353,357,366,372,375,402,411,414,436,439,456],[104,307,308,310],{},[107,309,109],{}," 现在补了一套更适合 prompt 驱动改造的 skills 入口。目标很直接：让使用者先描述产品改动，再由 Codex 把请求映射到正确的页面、配置文件和共享层，而不是从一堆文件名开始猜。",[112,312,314],{"id":313},"推荐的-skills-组合","推荐的 skills 组合",[117,316,317,322,330,338,343,348],{},[120,318,319,321],{},[107,320,124],{},"\n先看仓库分层、确认某个功能到底归哪个 layer。",[120,323,324,326,327,329],{},[107,325,130],{},"\n当你就是要直接修改 ",[107,328,134],{}," 本体时使用。适合 landing hero、pricing、docs、auth、guest-demo、dashboard 激活路径、前台代理路由等改动。",[120,331,332,334,335,337],{},[107,333,140],{},"\n当你不想继续直接改模板，而是希望先从 ",[107,336,134],{}," 复制出一个独立前台时使用。",[120,339,340,342],{},[107,341,149],{},"\n适合复制出独立 app 之后做品牌、SEO、footer、manifest 级配置。",[120,344,345,347],{},[107,346,155],{},"\n适合新增独立页面和路由。",[120,349,350,352],{},[107,351,161],{},"\n适合给用户仪表盘增加新的功能页或新入口。",[112,354,356],{"id":355},"什么时候直接改模板什么时候先复制","什么时候直接改模板，什么时候先复制",[104,358,359,360,362,363,365],{},"如果当前工作对象就是 ",[107,361,134],{},"，直接用 ",[107,364,130],{},"。",[104,367,368,369,371],{},"如果你需要租户隔离、独立包名，或者希望产品前台拥有自己的发布节奏，就先用 ",[107,370,140],{}," 复制，再对复制出来的 app 使用其它 skills。",[112,373,374],{"id":374},"最常见的改动面",[117,376,377,382,387,392,397],{},[120,378,379,381],{},[107,380,191],{},"\n品牌信息、SEO、footer、analytics、dashboard feature 开关。",[120,383,384,386],{},[107,385,197],{},"\n首页 hero、CTA、营销区块、社证内容、尾部 CTA。",[120,388,389,391],{},[107,390,203],{},"\n定价页结构、对比表、销售 CTA。",[120,393,394,396],{},[107,395,209],{},"\n中英文站内文档内容。",[120,398,399,401],{},[107,400,215],{},"\n前台页面用到的服务端代理。",[104,403,404,405,407,408,410],{},"如果某个改动明显属于 ",[107,406,222],{}," 或 ",[107,409,226],{},"，Codex 应该先说明边界，而不是把一个局部页面需求直接扩散成共享层大改。",[112,412,413],{"id":413},"示例提示词",[117,415,416,420,424,428,432],{},[120,417,418],{},[107,419,238],{},[120,421,422],{},[107,423,243],{},[120,425,426],{},[107,427,248],{},[120,429,430],{},[107,431,253],{},[120,433,434],{},[107,435,258],{},[112,437,438],{"id":438},"实际使用方式",[264,440,441,444,447,450,453],{},[120,442,443],{},"从仓库根目录开始。",[120,445,446],{},"在提示词里显式写出 skill 名称。",[120,448,449],{},"先描述产品改动目标，不要只丢一个文件名。",[120,451,452],{},"让 Codex 先读现有实现，再补丁。",[120,454,455],{},"改完后要求它在对应路由上做验证。",[104,457,458,459,461],{},"这样做的效果是：",[107,460,109],{}," 会更像一个可以持续“边聊边改”的产品前台，而不是一个只能手工拆解的静态模板。",{"title":288,"searchDepth":289,"depth":289,"links":463},[464,465,466,467,468],{"id":313,"depth":289,"text":314},{"id":355,"depth":289,"text":356},{"id":374,"depth":289,"text":374},{"id":413,"depth":289,"text":413},{"id":438,"depth":289,"text":438},{},{"title":75,"description":77},"BBlg1Bg2L9iXGkQMbnuaPgbdaHwefPwqpcOxKWSfy0M",1791531549893]