Skip to main content

Marketing template

templates/marketing — a local-business marketing site starter (salon, trades, service, product), genericized from a real shipped client site.

Stack

A thin apps/web app built on the shared house style (Next.js 16 App Router, React 19, TypeScript, Tailwind v4, shadcn/ui), plus two internal primitives:

  • @template/ui — shared UI primitives.
  • @template/mock-data — the typed content-adapter seam: business data lives behind an interface so the source can later swap to Sanity or Supabase without touching components.

Section vocabulary

Nav, Hero, About, HowItWorks/Services, Packages, Testimonials, FAQ, FinalCTA, Contact, Footer — plus a SectionReveal scroll primitive used across sections.

Tokens

23 tokens control brand identity, contact info, and the full color/font system. The highlights:

TokenPromptDefault
__BRAND_NAME__Business nameAcme Studio
__BRAND_TAGLINE__Hero headlineBeautifully simple, done for you.
__PHONE__Business phone number(555) 010-2020
__EMAIL__Business contact emailhello@cates.works
__SERVICE_AREA__City/region servedSunnyvale, CA
__SITE_URL__Production site URLhttps://example.com
__FONT_SERIF__ / __FONT_SANS__Google Font identifiers for headings/bodyCormorant_Garamond / DM_Sans
__COLOR_PRIMARY__ and 12 related color tokensFull palette (body, surface, primary, text, accent, success, border)

Modules

All off by default except a basic contact form, which ships on:

ModuleDescriptionDefault
bookingMulti-step booking wizardoff
commerceProduct catalog + cartoff
sanitySanity CMS content sourceoff
campaignPromo/campaign engineoff

Scaffold

node bin/create-client.mjs acme-salon \
--template marketing \
--out ../acme/02-repos/acme-salon

See CLI Reference for the full flag list.