Thanks for helping improve Funplay. The project is still moving quickly, so small, focused changes are easiest to review and safest to merge.
npm install
npm run devnpm run dev rebuilds the native Electron dependency ABI before starting the Electron Vite dev server.
Run the core verification commands:
npm run build
npm run test:runtimeFor UI or desktop shell changes, also run:
npm run ui:smoke
npm run ui:electron-smoke
npm run ui:maturity-gateFor release packaging changes, also run:
npm run release:audit
npm run release:gateFunplay uses better-sqlite3, which must match either the Node.js ABI or Electron ABI. Prefer the npm scripts in package.json.
After running a single test file manually, restore the Electron ABI:
npm run rebuild:native:forceelectron/main/owns main-process services, IPC handlers, persistence, and agent runtimes.electron/preload/owns the secure context bridge.src/owns the React renderer UI.shared/owns cross-process types and shared logic.
Renderer code must not import from electron/main/. Main-process code must not import from src/.
When adding or changing IPC, update:
shared/types.tsor the relevantshared/types/*fileelectron/preload/index.ts- the main-process handler
electron/main/ipc-validation.ts
Please include:
- What changed and why
- Screenshots or smoke artifact paths for UI changes
- The verification commands you ran
- Any known risks or follow-up work
Keep unrelated refactors out of feature and bugfix PRs.