Switched the project from npm to bun across scripts, docs, and lockfile, then proved it by building the full dmg with bun run dist.
The project ran on npm since day one. It now runs on bun: install, dev, build, preview, electron, and dist all go through bun, and package-lock is gone with bun.lock as the single source of truth.
What changed
Two lines in package.json so the chained scripts call bun instead of npm, the README command list switched to bun and bunx, and package-lock got deleted after bun install confirmed the lockfile matches. Small diff, no code changes.
The check that mattered
Tooling swaps are only done when the heaviest command still works. bun run dist rebuilt the full dmg, which mounted with the watcher code and relative paths intact, installed to Applications, and launched with its window up. electron-builder noted it cannot use a dependency tree CLI under bun and fell back to file traversal, plus some missing optional platform packages, and the dmg came out fine anyway.
Where it stands
Every command in the README is bun now. node_modules was left as-is since bun accepted it with no changes, which keeps this a tooling swap rather than a reinstall story.