| chore(repo): convert ui/ into an npm workspace, unify install + add root \npm run dev\
A fresh checkout previously needed two installs (\npm install\ at the
repo root and again under \ui/\) plus a separate \cd ui\ to start the
dev stack. This commit folds the web UI / express bridge into a real
npm workspace so \npm install\ at the root provisions everything in
one pass, and a new root-level \npm run dev\ proxies to the workspace's
\concurrently\ orchestrator.
Changes:
- root \package.json\ declares \"workspaces": ["ui"]\ and adds a
\dev\ script that delegates to \npm --workspace ui run dev\.
- \ui/package-lock.json\ is removed in favour of the single root
lockfile produced by npm workspaces.
- \ui/scripts/fix-node-pty.js\ (postinstall) now resolves \node-pty\'s
install dir via \require.resolve('node-pty/package.json')\ instead of
hard-coding \ui/node_modules/node-pty\. Without this fix, hoisting
would silently skip the spawn-helper chmod and break the shell tab on
macOS.
Verified locally: clean install (\rm -rf node_modules ui/node_modules\
then \npm install\ from root) produces a 513 MB root \node_modules\
with \node-pty\ hoisted and spawn-helper chmod'd to 755; remaining
12 MB under \ui/node_modules\ is just react@18 / @types/react@18
and other deps that conflict with the root's react@19 (used by ink).
\npm run dev\ from the root brings up gateway (18789) + ui/server
(3001) + Vite (5173) and the bridge connects successfully.
New-onboard flow is now:
git clone .../PilotDeck.git && cd PilotDeck
npm install
npm run dev
# open http://localhost:5173 → Onboarding wizard configures the LLM
Co-authored-by: Cursor <cursoragent@cursor.com>
| 21 天前 |