Files
Rental-operations-platform/README 2.md
T
2026-06-25 19:06:59 -04:00

3.5 KiB

RentalDriveGo Web

Phase 11 production foundation for the multilingual RentalDriveGo marketing website.

Implemented scope

  • English, French, and Arabic locale-prefixed routes
  • server-rendered lang and document-level direction
  • immutable Phase 9 tokens plus a documented component-facing token layer
  • light, dark, and system themes
  • nonce-based CSP-compatible pre-paint theme bootstrap
  • CSS-only system-theme fallback
  • locale-aware formatters and bidi primitives
  • responsive layout primitives
  • accessible sticky header and native-dialog mobile navigation
  • localized footer
  • loading, error, not-found, and pending-destination shells
  • localized canonical, reciprocal hreflang, Open Graph, and robots foundations
  • unit, browser, accessibility, responsive, and visual test definitions

The complete production homepage, demo form, CRM, analytics, pricing, customer evidence, final legal content, login integration, final logo, and external destinations remain outside this phase or explicitly gated.

Runtime

  • Node.js 24.17.0
  • pnpm 11.9.0
  • Next.js 16.2.9
  • React 19.2.7

Use the exact versions in .node-version, .nvmrc, package.json, and pnpm-lock.yaml.

Local setup

corepack enable
corepack prepare pnpm@11.9.0 --activate
pnpm install --frozen-lockfile
cp .env.example .env.local
pnpm dev

Development routes:

  • /en
  • /fr
  • /ar

Root / redirects using the locale cookie, then Accept-Language, then English.

Required checks

pnpm validate
pnpm validate:package
pnpm format:check
pnpm lint
pnpm typecheck
pnpm test:unit
SITE_ORIGIN=http://127.0.0.1:3000 PUBLIC_RELEASE_APPROVED=false pnpm build
pnpm test:e2e

Generate reviewed visual baselines only in the pinned browser environment:

pnpm test:visual:update --project=chromium

Do not approve snapshots merely because the pixels repeat reliably. Computers can preserve a mistake with extraordinary discipline.

Release safety

PUBLIC_RELEASE_APPROVED defaults to false. While false, pages emit noindex and robots.txt disallows crawling.

Do not enable public release until the updated issue register has no blocking release issues. Unapproved login and legal routes render explicit pending shells. Demo and contact actions remain disabled rather than pointing at invented integrations.

Documentation

  • Phase 11 report: docs/PHASE_11_IMPLEMENTATION_REPORT_v1.0.md
  • Phase 12 handoff: docs/PHASE_12_HANDOFF_v1.0.md
  • Phase 11 architecture: docs/architecture/ADR-0002_PHASE_11_FOUNDATIONS.md
  • Token implementation: docs/TOKEN_IMPLEMENTATION_v1.0.md
  • Updated issue register: docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv
  • Validation evidence: docs/quality/PHASE_11_VALIDATION_RESULTS_v1.0.md
  • Manual QA: docs/quality/MANUAL_QA_RESULTS_v1.0.csv
  • Visual status: docs/quality/VISUAL_REGRESSION_RESULTS_v1.0.json
  • Contribution rules: CONTRIBUTING.md
  • Immutable Phase 9 package: contracts/phase9
  • Phase 11 package manifest: PHASE_11_PACKAGE_MANIFEST_v1.0.json

Phase 12 component system

The repository now contains the reusable RentalDriveGo component system and a guarded component workbench at /{locale}/component-lab. Enable it only for development or tests with COMPONENT_FIXTURES_ENABLED=true.

Key records:

  • docs/PHASE_12_IMPLEMENTATION_REPORT_v1.0.md
  • docs/PHASE_13_HANDOFF_v1.0.md
  • docs/phase12/COMPONENT_CATALOG_v1.0.md
  • docs/phase12/COMPONENT_INVENTORY_v1.0.json
  • docs/quality/PHASE_12_VALIDATION_RESULTS_v1.0.md

Formal acceptance remains gated by the cumulative issue register.