85 lines
2.5 KiB
Markdown
85 lines
2.5 KiB
Markdown
# 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 |