TenantAtlas/specs/402-screwfast-website-rebuild/plan.md
ahmido eeb5c98450 feat: rebuild website on ScrewFast foundation (#393)
## Summary
- rebuild `apps/website` on the pinned ScrewFast Astro foundation
- replace the legacy page/content/component structure with the new section and UI architecture
- add Starlight-based docs and the new public route set for platform, pricing, trust, legal, and guides
- refresh website tooling, dependencies, and Playwright smoke coverage for the new site shell

## Scope
- touches `apps/website` and the matching spec artifacts for feature 402
- does not modify `apps/platform`

## Testing
- not run in this step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #393
2026-05-20 21:36:29 +00:00

3.5 KiB

Implementation Plan: Tenantial ScrewFast Website Rebuild

Branch: 402-screwfast-website-rebuild
Date: 2026-05-20
Spec: specs/402-screwfast-website-rebuild/spec.md

Summary

Delete apps/website and vendor the pinned ScrewFast application directly into that path. ScrewFast itself is the Astro app foundation. Adapt it in place only for Tenantial public content and monorepo contracts.

File-Level Structure

The recreated apps/website keeps the ScrewFast app shape:

apps/website/
├── astro.config.mjs
├── package.json
├── process-html.mjs
├── public/
├── src/
│   ├── assets/
│   ├── components/
│   │   ├── sections/
│   │   └── ui/
│   ├── content/
│   │   └── docs/
│   ├── data_files/
│   ├── images/
│   ├── layouts/
│   ├── pages/
│   └── utils/
├── tests/smoke/
└── tsconfig.json

ScrewFast Source Areas Ported

  • Full pinned project from mearashadowfax/ScrewFast@10718e4c68eca7887d8d82e207d9b394d7346ad3.
  • src/layouts/MainLayout.astro with metadata, navbar/footer, Preline initialization, dark-mode bootstrap, and Lenis script loading.
  • src/components/sections/navbar&footer/Navbar.astro and FooterSection.astro with Preline collapse behavior and theme toggle placement.
  • src/components/ThemeIcon.astro with ScrewFast light/dark toggle behavior.
  • ScrewFast section/component families for hero, feature tabs, pricing, FAQ, contact, platform sections, Starlight docs, cards, buttons, hover states, focus-visible states, and responsive behavior.
  • src/assets/styles/global.css, lenis.css, starlight.css, and starlight_main.css with Tailwind v4, Preline, typography/forms plugins, dark handling, and motion behavior.

Public Routes

  • Render: /, /platform, /pricing, /contact, /trust, /legal, /privacy, /terms, /imprint, /welcome-to-docs/, /guides/*, /platform/evidence-review/
  • Redirect intentionally: /product, /products, /services, /blog, /insights to /platform
  • Static/generated: /robots.txt, /manifest.json, /favicon.ico, /sitemap-index.xml
  • Hidden/not exposed in navigation: localized routes and unready product/blog/insight detail families

Dependencies Required

Retained from ScrewFast unless there is a concrete incompatibility:

  • astro, @astrojs/check, @astrojs/mdx, @astrojs/sitemap, @astrojs/starlight: ScrewFast Astro app and docs foundation.
  • @tailwindcss/vite, tailwindcss, @tailwindcss/forms, @tailwindcss/typography: ScrewFast Tailwind v4 styling stack.
  • preline: ScrewFast navigation, accordion, modal/collapse behavior.
  • lenis: ScrewFast smooth scrolling.
  • gsap: retained because the vendored foundation includes it.
  • astro-vtbot: retained for Starlight view-transition behavior.
  • clipboard, globby, html-minifier-terser, sharp, sharp-ico, rimraf, prettier, and Prettier plugins: retained from ScrewFast build/tooling.
  • @playwright/test: added for required website smoke validation.

Confirmed Boundary

apps/platform will not be touched. The website does not import platform code and does not run Laravel, Filament, Livewire, Blade, migrations, policies, providers, queues, jobs, database, tenant/workspace/RBAC, or Microsoft Graph code.

Validation

corepack pnpm install
corepack pnpm build:website
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke
git diff --check