#Project Setup

This guide covers the full setup flow for a new project created from this template.

#Prerequisites

  • Node.js LTS 18 or newer
  • Yarn (project uses yarn.lock)

#1. Create your repository from the template

  1. Click Use this template in GitHub.
  2. Create your own repository.
  3. Clone it locally.

#2. Install dependencies

yarn install

#3. Configure environment variables

Copy .env.local.example to .env.local and set values:

NEXT_PUBLIC_SITE_URL=http://localhost:3000
GOOGLE_INDEXING_URL=https://your-domain.com
NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION=YOUR_GOOGLE_SITE_VERIFICATION_CODE

Notes:

  • NEXT_PUBLIC_SITE_URL is used for canonical URLs, sitemap, and metadata.
  • GOOGLE_INDEXING_URL is used by the Google indexing script.
  • NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION is used for Search Console verification meta tags.

#4. Copy starter content

cp -r examples/public/* public/

Then update:

  • public/products/[slug]/ for product configs, locales, screenshots, legal docs, and icons.
  • public/site/ for developer and site-level data.

#5. Run locally

yarn dev

#6. Build and preview

yarn build
yarn start

#7. Deploy

  • Static export output is generated by Next.js build (served from out/).
  • Deploy to Vercel or any static host (Netlify, S3/CloudFront, Cloudflare Pages) using the build output.

#8. Verify key routes after deploy

  • /{locale}
  • /{locale}/{product}
  • /{defaultLocale}/{product}/privacy-policy
  • /{defaultLocale}/{product}/terms-of-use
  • /{locale}/blogs

#9. Optional MCP setup

  • Pabal Store API MCP: Configure Credentials
  • Pabal Resource MCP: run init-project to bootstrap local ASO/public data

#10. Sync with upstream template

git remote add upstream https://github.com/quartz-labs-dev/pabal-web.git
git fetch upstream
git merge upstream/main --allow-unrelated-histories
git push origin main