TenantAtlas/specs/215-website-core-pages/quickstart.md
Ahmed Darrazi 27d520b4aa
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m10s
feat: implement website core pages IA
2026-04-19 12:16:45 +02:00

90 lines
3.6 KiB
Markdown

# Quickstart: Website Information Architecture / Core Pages
## Purpose
This quickstart describes the local workflow for implementing the Spec 215 public-route and navigation contract in `apps/website`.
## Prerequisites
- Node 20+ available through the repo workspace tooling
- Corepack-enabled pnpm
- Repo root at `wt-website`
## Local Development
Start the website from the repo root:
```bash
corepack pnpm dev:website
```
The website must continue to honor the existing `WEBSITE_PORT` contract.
## Expected Implementation Order
Implement the feature in this order:
1. Audit the current public-route truth in `apps/website/src/lib/site.ts`, `apps/website/src/types/site.ts`, `apps/website/src/content/pages`, and `apps/website/src/pages`.
2. Update the route and navigation contract so the canonical core is `/`, `/product`, `/trust`, `/changelog`, `/contact`, `/privacy`, and `/imprint`.
3. Add the missing core pages (`/changelog`, `/imprint`) and replace `/security-trust` as the canonical trust route with `/trust`.
4. Shrink header and footer navigation to the Spec 215 core, keeping only one primary conversion route, gating optional `Resources` links on actual content readiness, and leaving the `articles` collection unpublished.
5. Rationalize current non-core routes such as `/solutions`, `/integrations`, `/legal`, and `/terms` as retained secondary surfaces without giving them core-route prominence.
6. Update sitemap, canonical route generation, and smoke tests to reflect the new IA contract.
7. Re-run build and smoke validation.
## Working Constraints
The implementation must preserve all existing website working-contract guarantees:
- keep `@tenantatlas/website` unchanged
- keep `WEBSITE_PORT` unchanged
- keep root `dev:website` and `build:website` workflows working
- keep all IA changes local to `apps/website`
- do not introduce platform runtime coupling, shared auth, or shared DTO/API assumptions
- do not publish placeholder top-level routes
- keep Trust visible in primary navigation
- keep `/contact` as the one clear primary conversion path in the header
## Required Validation
Run the website build proof from the repo root:
```bash
corepack pnpm build:website
```
Run the browser smoke suite from the website app:
```bash
cd apps/website
corepack pnpm exec playwright test
```
If an Astro dev server is already running on `WEBSITE_PORT`, stop it before rerunning Playwright so the suite exercises a fresh server state.
## What Reviewers Should Verify
Reviewers should confirm that:
- the canonical core routes load correctly: `/`, `/product`, `/trust`, `/changelog`, `/contact`, `/privacy`, `/imprint`
- the brand still routes to `/`
- Trust is visible in top-level navigation
- Product, Trust, Changelog, and Contact are easier to discover than any optional or deferred surfaces
- `/resources` stays hidden unless substantive content exists, and the `articles` collection remains unpublished
- any retained compatibility paths are explicit and do not create duplicate canonical truth
- sitemap and canonical links reflect the canonical route set
- no `apps/platform` coupling is introduced
## Validation Status
- 2026-04-19: `corepack pnpm build:website` passed.
- 2026-04-19: `cd apps/website && corepack pnpm exec playwright test` passed with 13 smoke tests.
## Out of Scope for This Feature
- Hero or section composition
- Final production copy for the individual pages
- Resources activation or later editorial/blog implementation unless actual content is added as part of the same delivery
- Pricing, Docs, Customers, Compare, Careers, or Status surfaces
- Any `apps/platform` routing, theming, or auth behavior