What problem does it solve?
This Skill helps you implement and extend an Electron-based desktop application by providing a clear blueprint for wiring IPC handlers, renderer services, controllers, menus, and window management without breaking the app’s security model.
Core Features & Use Cases
- Electron main/renderer architecture guidance: Defines how controllers (IPC handlers) connect to renderer services and where preload scripts expose safe APIs.
- IPC-driven feature implementation: Shows how to add new desktop features by creating controllers, defining IPC types, implementing service calls, and updating store actions.
- Desktop UX and maintainability practices: Covers menu configuration, window creation/state persistence, multi-window coordination, and best practices for security, performance, error handling, and UX feedback.
- Use Case: Add a new desktop capability (e.g., notification display or local file operations) by implementing an IPC handler in the main process, calling it from renderer code, and integrating the result into application state.
Quick Start
In your Electron desktop codebase, create a new controller under apps/desktop/src/main/controllers/, define the IPC parameter/result types in packages/electron-client-ipc/src/types.ts, and then call the controller from a renderer service to connect it to a store action.