# 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: ```text 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 ```bash corepack pnpm install corepack pnpm build:website WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke git diff --check ```