## 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
4.3 KiB
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/platformchanges, 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/websiteMUST 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_PORTconvention MUST remain compatible. - FR-004: The app MUST use the pinned ScrewFast reference
mearashadowfax/ScrewFast@10718e4c68eca7887d8d82e207d9b394d7346ad3as 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,/servicesto/platform - Not exposed in navigation: redirect aliases and
404
Testing / Runtime Impact
- Classification: Browser/static website.
- Validation commands:
corepack pnpm installcorepack pnpm build:websiteWEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smokegit 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.