TenantAtlas/specs/402-screwfast-website-rebuild/spec.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

4.3 KiB

Feature Specification: Tenantial ScrewFast Website Rebuild

Feature Branch: 402-screwfast-website-rebuild
Created: 2026-05-20
Status: Draft
Input: Restart Spec 402 from a clean base by deleting and recreating apps/website as a Tenantial public website using the pinned ScrewFast reference as the implementation substrate.

Spec Candidate Check

  • Problem: Prior website implementation attempts should not define the new public site foundation.
  • Today's failure: Incremental cleanup would preserve old route files, components, design tokens, and content assumptions that the user explicitly rejected.
  • User-visible improvement: Visitors see a coherent Tenantial public website with intentional homepage, platform, pricing, contact, trust, and legal routes.
  • Smallest enterprise-capable version: Recreate only apps/website, preserve monorepo website contracts, keep static/demo product previews, and validate with website build plus smoke tests.
  • Explicit non-goals: No apps/platform changes, no Laravel, Filament, Livewire, Blade, migrations, policies, providers, queues, jobs, database, tenant/workspace/RBAC, or Microsoft Graph code.
  • Permanent complexity imported: Website-local Astro structure, Tailwind theme, public navigation, static product preview components, and Playwright smoke coverage.
  • Why now: The user requested a clean restart of Spec 402 and a full public website replacement.
  • Approval class: Core Enterprise
  • Score: Nutzen 2 | Dringlichkeit 2 | Scope 2 | Komplexitaet 1 | Produktnaehe 2 | Wiederverwendung 2 | Gesamt: 11/12
  • Decision: approve

Scope

This feature owns only the public Astro website at apps/website. In this feature, "platform" means the public website route /platform.

The feature must not touch apps/platform and must not import from it.

Requirements

  • FR-001: apps/website MUST be deleted and recreated from a clean base.
  • FR-002: The recreated app MUST keep package name @tenantatlas/website.
  • FR-003: Root website scripts and the WEBSITE_PORT convention MUST remain compatible.
  • FR-004: The app MUST use the pinned ScrewFast reference mearashadowfax/ScrewFast@10718e4c68eca7887d8d82e207d9b394d7346ad3 as the website substrate.
  • FR-005: ScrewFast-derived structure MUST cover layout, navigation, mobile navigation, theme toggle, light/dark handling, backgrounds, surfaces, cards, buttons, hover states, focus-visible states, responsive behavior, and reduced-motion behavior.
  • FR-006: Public copy and metadata MUST use Tenantial branding only.
  • FR-007: Public pages MUST NOT expose ScrewFast, construction, hardware, template, open-source, TenantPilot, TenantCTRL, or unsupported proof claims.
  • FR-008: Public product previews MUST be static/demo content and MUST NOT imply live tenant data or authenticated platform behavior.
  • FR-009: Pricing, contact, trust, and legal copy MUST stay conservative and avoid fake customers, endorsements, external assurance proof, uptime commitments, or restore/compliance promises.
  • FR-010: Public routes MUST render intentionally, redirect intentionally, or stay out of navigation.

Public Routes

  • Render: /, /platform, /pricing, /contact, /trust, /legal, /privacy, /terms, /imprint
  • Static: /robots.txt, /sitemap-index.xml
  • Redirect: /product, /products, /services to /platform
  • Not exposed in navigation: redirect aliases and 404

Testing / Runtime Impact

  • Classification: Browser/static website.
  • Validation commands:
    • corepack pnpm install
    • corepack pnpm build:website
    • WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke
    • git diff --check
  • Platform impact: None. No Laravel or product runtime lane is in scope.

Proportionality Review

  • New source of truth: Website-local public route/content structure only.
  • New persisted entity/table/artifact: No product runtime persistence.
  • New abstraction: No product abstraction. Website presentation components are local to apps/website.
  • New enum/status family: No.
  • New cross-domain UI framework/taxonomy: No.
  • Narrowest correct implementation: Delete/recreate only apps/website, keep root contracts, and prove with website smoke checks.