Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Most scripts here are invoked from root package.json (bun run …). App and desktop dev entrypoints (dev-ui.mjs, dev-platform.mjs, run-node.mjs, desktop-build.mjs, etc.) live under eliza/packages/app-core/scripts/ so they ship with @elizaos/app-core. This README highlights the desktop dev orchestrator; deeper rationale lives in the docs site.
Desktop: dev-platform.mjs
npm script
Entry
bun run dev:desktop
bun eliza/packages/app-core/scripts/dev-platform.mjs
bun run dev:desktop:watch
ELIZA_DESKTOP_VITE_WATCH=1 + same
Why a dedicated script: Electrobun needs a renderer URL, often a running API, and (in dev) a root dist/ bundle. Starting each piece by hand drifts on ports and env vars; one orchestrator keeps startup and shutdown symmetric.
Full guide (WHYs for signals, detached, HMR vs Rollup watch, multiple bun PIDs):Desktop local development
Bun Version (Windows)
Recommended: Bun 1.3.x stable for dev:win flows.
Canary builds can change ESM/CJS interop behavior. dev-ui.mjs prints a startup advisory when it detects canary or non-1.3 Bun.
Cheap mtime check so vite build is skipped when apps/app/dist is still fresh — avoids redundant multi‑minute production builds on restart.
kill-ui-listen-port.mjs
Clears the UI port before Vite binds; Unix uses lsof, Windows uses netstat + taskkill because lsof is not standard there.
kill-process-tree.mjs
Kills only the PID tree rooted at each spawned child — avoids pkill bun style collateral damage to other workspaces.
Process supervision split
dev-ui.mjs, dev-platform.mjs, dev-all.mjs, and
packages/scripts/run-all-tests.mjs intentionally do not share one generic
child-process supervision helper. Their lifecycle contracts differ enough that a
shared helper would mostly be flags for incompatible behavior. The in-tree
rationale is tracked in
packages/scripts/process-supervision.md.