chore: migrate workspace from npm to pnpm

Merged
DA
2mo ago
+2270-3843

Summary

  • Replace the npm workspace and lockfile with pnpm 9.15.0, following the ReviewStage/stage workspace pattern.
  • Update package scripts, bootstrap tooling, CI caching, Husky, documentation, and Conductor commands for pnpm.
  • Resolve Electron from the desktop package's pnpm-local binary path so macOS launch and evidence workflows continue to work.

Evidence

  • Platform-independent checks: ./scripts/check.sh passed in the Linux cloud workspace and on macOS.
  • macOS Electron verification (./scripts/verify.sh): passed on the synced Apple Silicon Mac; packaging and all three deterministic fixture captures completed.
  • Landing page: pnpm --filter @luke/web dev --host 127.0.0.1 --port 4173 rendered successfully in headless Chrome at 1440×1000.

Automated visual evidence

Download the deterministic macOS evidence · workflow run

  • Commit: 04e226b4ad7e382f1cb0cd2c226d180c0bbd7715
  • Scenario: smoke
  • Physical-notch check: not performed by CI

Test screenshots

macOS desktop app

Captured from the packaged deterministic fixture during ./scripts/verify.sh on the synced Apple Silicon Mac.

Luke macOS app expanded fixture

Landing page

Captured from the pnpm-driven Vite dev server in headless Chrome at 1440×1000.

Luke landing page rendered from the Vite dev server

Physical-device evidence

  • Screenshot or screen recording: deterministic macOS fixture screenshot attached below.
  • Physical-notch check: not performed; this is a package-manager-only change with no UI behavior changes.
  • Device/display configuration: Apple Silicon Mac (arm64) for the Electron capture; Linux Chrome at 1440×1000 for the landing page.

Notes

  • The pnpm lockfile preserves every dependency version from package-lock.json.
  • Blockers or follow-up verification: None.