chore: migrate workspace from npm to pnpm
Merged
DA
2mo ago+2270+2270+0123456789012345678901234567890123456789-3843-3843-0123456789012345678901234567890123456789
Summary
- Replace the npm workspace and lockfile with pnpm 9.15.0, following the
ReviewStage/stageworkspace 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.shpassed 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 4173rendered 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.

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

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.