[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation_en":3,"/docs/get-started/setup-data":144},[4,16,91,117,127],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting Started","/docs/get-started","docs/1.get-started/1.index",[9,11],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Setup","/docs/get-started/setup","docs/1.get-started/2.setup","mage:fast-forward-fill",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":90},"Features","ic:baseline-cable","/docs/features","docs/2.features",[22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86],{"title":23,"path":24,"stem":25},"Database","/docs/features/database","docs/2.features/01.database",{"title":27,"path":28,"stem":29},"Authentication","/docs/features/auth","docs/2.features/02.auth",{"title":31,"path":32,"stem":33},"Payments","/docs/features/payments","docs/2.features/03.payments",{"title":35,"path":36,"stem":37},"Admin Panel","/docs/features/admin-panel","docs/2.features/04.admin-panel",{"title":39,"path":40,"stem":41},"AI","/docs/features/ai","docs/2.features/05.ai",{"title":43,"path":44,"stem":45},"Customization","/docs/features/customization","docs/2.features/06.customization",{"title":47,"path":48,"stem":49},"Storage","/docs/features/storage","docs/2.features/07.storage",{"title":51,"path":52,"stem":53},"Email","/docs/features/email","docs/2.features/08.email",{"title":55,"path":56,"stem":57},"Languages","/docs/features/languages","docs/2.features/09.languages",{"title":59,"path":60,"stem":61},"SEO","/docs/features/seo","docs/2.features/10.seo",{"title":63,"path":64,"stem":65},"Blogs","/docs/features/blogs","docs/2.features/11.blogs",{"title":67,"path":68,"stem":69},"Documentation","/docs/features/documentation","docs/2.features/12.documentation",{"title":71,"path":72,"stem":73},"Cron Jobs","/docs/features/cron-jobs","docs/2.features/13.cron-jobs",{"title":75,"path":76,"stem":77},"Error Handling","/docs/features/error-handling","docs/2.features/14.error-handling",{"title":79,"path":80,"stem":81},"Analytics","/docs/features/analytics","docs/2.features/15.analytics",{"title":83,"path":84,"stem":85},"PWA","/docs/features/pwa","docs/2.features/15.pwa",{"title":87,"path":88,"stem":89},"Customer Support","/docs/features/customer-support","docs/2.features/16.customer-support",false,{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":90},"Tutorials","ic:baseline-library-books","/docs/tutorials","docs/3.tutorials",[97,101,105,109,113],{"title":98,"path":99,"stem":100},"Project Structure","/docs/tutorials/project-structure","docs/3.tutorials/1.project-structure",{"title":102,"path":103,"stem":104},"Page Routes","/docs/tutorials/page-routes","docs/3.tutorials/2.page-routes",{"title":106,"path":107,"stem":108},"API Calls","/docs/tutorials/api-calls","docs/3.tutorials/3.api-calls",{"title":110,"path":111,"stem":112},"State Management","/docs/tutorials/state-management","docs/3.tutorials/4.state-management",{"title":114,"path":115,"stem":116},"Legal Pages by GPT","/docs/tutorials/legal-pages-by-gpt","docs/3.tutorials/5.legal-pages-by-gpt",{"title":118,"icon":119,"path":120,"stem":121,"children":122,"page":90},"Formatting & Linting","ic:baseline-format-align-left","/docs/formatting-and-linting","docs/4.formatting-and-linting",[123],{"title":124,"path":125,"stem":126},"Overview","/docs/formatting-and-linting/overview","docs/4.formatting-and-linting/1.overview",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":90},"Deployment","ic:baseline-rocket-launch","/docs/deployment","docs/5.deployment",[133,136,140],{"title":124,"path":134,"stem":135},"/docs/deployment/overview","docs/5.deployment/1.overview",{"title":137,"path":138,"stem":139},"Vercel","/docs/deployment/vercel","docs/5.deployment/2.vercel",{"title":141,"path":142,"stem":143},"Cloudflare Workers","/docs/deployment/cloudflare","docs/5.deployment/3.cloudflare",{"page":145,"surround":369},{"id":146,"title":12,"body":147,"description":361,"extension":362,"head":363,"meta":364,"navigation":365,"ogImage":363,"path":13,"robots":363,"schemaOrg":363,"seo":366,"sitemap":367,"stem":14,"__hash__":368},"docs_en/docs/1.get-started/2.setup.md",{"type":148,"value":149,"toc":349},"minimark",[150,155,159,200,204,209,212,254,258,261,267,271,303,307,310,316,327,331,334,340],[151,152,154],"h2",{"id":153},"prerequisites","Prerequisites",[156,157,158],"p",{},"Make sure you have these installed:",[160,161,162,175,184],"ul",{},[163,164,165,174],"li",{},[166,167,168],"strong",{},[169,170,173],"a",{"href":171,"target":172},"https://nodejs.org/en/download/","_blank","Node.js"," – Version 22.x or higher (includes npm).",[163,176,177,183],{},[166,178,179],{},[169,180,182],{"href":181,"target":172},"https://git-scm.com/install/","Git"," – For version control.",[163,185,186,192,193,199],{},[166,187,188],{},[169,189,191],{"href":190,"target":172},"https://cursor.com","Cursor"," or ",[166,194,195],{},[169,196,198],{"href":197,"target":172},"https://code.visualstudio.com/","VSCode"," – For editing your code.",[151,201,203],{"id":202},"setup-in-5-minutes","Setup in 5 Minutes",[205,206,208],"h3",{"id":207},"_1-clone-the-repository","1. Clone the Repository",[156,210,211],{},"You have three ways to get a copy:",[213,214,215,233,243],"ol",{},[163,216,217,220,221],{},[166,218,219],{},"Fork + Clone","\nFork the repo on GitHub, then clone your fork:",[222,223,230],"pre",{"className":224,"code":226,"filename":227,"language":228,"meta":229},[225],"language-text","git clone https://github.com/your-username/shipahead-template.git your-project-name\n","Terminal","text","",[231,232,226],"code",{"__ignoreMap":229},[163,234,235,238,239,242],{},[166,236,237],{},"Use Template","\nClick ",[166,240,241],{},"Use this template"," on the ShipAhead repo to create a new repository, then clone it.",[163,244,245,248],{},[166,246,247],{},"Direct Clone",[222,249,252],{"className":250,"code":251,"filename":227,"language":228,"meta":229},[225],"git clone https://github.com/Tom-Han-Org/shipahead-template.git your-project-name\ncd your-project-name\n",[231,253,251],{"__ignoreMap":229},[205,255,257],{"id":256},"_2-install-dependencies","2. Install Dependencies",[156,259,260],{},"Run this to install everything the project needs:",[222,262,265],{"className":263,"code":264,"filename":227,"language":228,"meta":229},[225],"npm install\n",[231,266,264],{"__ignoreMap":229},[205,268,270],{"id":269},"_3-configure-your-project","3. Configure Your Project",[160,272,273,293],{},[163,274,275,278,279,285,288,289,292],{},[166,276,277],{},"Environment Variables","\nCopy the example file and update it with your settings (database URLs, API keys, etc.):",[222,280,283],{"className":281,"code":282,"filename":227,"language":228,"meta":229},[225],"mv .env.example .env\n",[231,284,282],{"__ignoreMap":229},[286,287],"br",{},"Open ",[231,290,291],{},".env"," in a text editor and fill in your values.",[163,294,295,298,299,302],{},[166,296,297],{},"App Configuration","\nCustomize your app name, feature toggles, and other settings in ",[231,300,301],{},"shared/config.ts",".",[205,304,306],{"id":305},"_4-run-the-development-server","4. Run the Development Server",[156,308,309],{},"Start your app locally:",[222,311,314],{"className":312,"code":313,"filename":227,"language":228,"meta":229},[225],"npm run dev\n",[231,315,313],{"__ignoreMap":229},[156,317,318,319,322,326],{},"Visit ",[169,320],{"href":321,"target":172},"http://localhost:3000",[169,323,321],{"href":321,"rel":324},[325],"nofollow"," – your app is live! 🎉",[151,328,330],{"id":329},"pull-updates","Pull Updates",[156,332,333],{},"Keep your project in sync with the latest ShipAhead changes:",[222,335,338],{"className":336,"code":337,"filename":227,"language":228,"meta":229},[225],"git remote add upstream https://github.com/Tom-Han-Org/shipahead-template.git\ngit fetch upstream\ngit merge upstream/main\n",[231,339,337],{"__ignoreMap":229},[341,342,343],"blockquote",{},[156,344,345,348],{},[166,346,347],{},"Tip",": If there are merge conflicts, review and resolve them manually.",{"title":229,"searchDepth":350,"depth":350,"links":351},2,[352,353,360],{"id":153,"depth":350,"text":154},{"id":202,"depth":350,"text":203,"children":354},[355,357,358,359],{"id":207,"depth":356,"text":208},3,{"id":256,"depth":356,"text":257},{"id":269,"depth":356,"text":270},{"id":305,"depth":356,"text":306},{"id":329,"depth":350,"text":330},"Get your app running in 5 minutes!","md",null,{},true,{"title":12,"description":361},{"loc":13},"OrJLKeJLvOtB-6MQmUlZl5N5XkTTEnvErVWK_GeqV00",[370,372],{"title":10,"path":6,"stem":7,"description":371,"children":-1},"Get a quick overview of ShipAhead and the tech powering it.",{"title":23,"path":24,"stem":25,"description":373,"children":-1},"Set up a PostgreSQL database in your app using Drizzle ORM to manage data like users and sessions."]