## 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
78 lines
3.5 KiB
Markdown
78 lines
3.5 KiB
Markdown
# 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
|
|
```
|