# Quickstart: Initial Website Foundation & v0 Product Site ## Purpose This quickstart describes the expected local workflow for implementing and validating the v0 TenantAtlas public website inside `apps/website`. ## Prerequisites - Node 20+ available via the repo workspace tooling - Corepack-enabled pnpm - Repo root at `wt-website` ## Local Development Start the website development server from the repo root: ```bash corepack pnpm dev:website ``` The website must continue to honor the existing `WEBSITE_PORT` convention. ## Expected Foundation Work Implement the feature in this order: 1. Add explicit TypeScript setup inside `apps/website`. 2. Add Tailwind CSS v4 using the CSS-first model and migrate styling toward shared tokens and reusable utilities. 3. Build shared layout, primitive, section, and content helpers. 4. Assemble the published core routes: Home, Product, Solutions, Security & Trust, Integrations, Contact, Legal, Privacy, Terms. 5. Add SEO/discovery basics and a lightweight Playwright browser smoke suite. ## Build Validation Run the required website build proof from the repo root: ```bash corepack pnpm build:website ``` Success means the Astro site builds cleanly without breaking root workspace contracts. ## Required Final Validation Before considering the feature complete, run both proof commands: ```bash corepack pnpm build:website cd apps/website && corepack pnpm exec playwright test ``` ## Browser Smoke Validation After the Playwright smoke suite is added to `apps/website`, run: ```bash cd apps/website corepack pnpm exec playwright test ``` The smoke suite should remain intentionally small and verify: - core public routes load successfully - primary and footer navigation have no dead ends - core CTAs remain reachable - mobile navigation remains usable ## Content / Launch Review Before calling the feature complete, confirm: - every public claim is substantiated - Product and Solutions stay distinct - Security & Trust contains no speculative promises - Integrations contains no wishlist-only entries presented as live truth - Privacy and Terms are present and linked from footer and contact flow - any required jurisdiction-specific public legal notice is present through the Legal hub or a linked dedicated notice page ## Out of Scope for This Feature - product-app runtime coupling - internal CRM / billing / customer portal logic - a public docs/blog/changelog launch - a required React layer - an internal contact submission backend