EIPC
Type-safe Electron IPC

Great IPC for Electron

Define your IPC schema once. Get type-safe handlers, automatic validation, React hooks, and secure context bridge exposure — all generated for you.

api.eipc
module MyApp

[RendererAPI]
[ContextBridge]
interface SystemAPI {
  getAppVersion() -> string
  showNotification(title: string, body: string)

  [Store]
  windowState() -> WindowState
}
Features

Everything you need for modern Electron IPC

EIPC eliminates the pain of Electron inter-process communication with a declarative schema-first approach.

Type Safety

End-to-end TypeScript types from schema to renderer. Catch errors at compile time, not runtime.

Learn more

Runtime Validation

Automatic validation of all IPC arguments and return values. Define once, validate everywhere.

Learn more

Security First

Origin validation, production-only APIs, and secure context bridge exposure built-in.

Learn more

Reactive Stores

Built-in state management with React hooks. Sync state between main and renderer effortlessly.

Learn more

Events & Sync

Support for async, sync, and event-based patterns. Choose the right tool for each use case.

Learn more

Zero Boilerplate

No manual IPC registration. Your schema generates handlers, types, and bridge code automatically.

Learn more
Quick Start

Get started in minutes

Install EIPC, define your schema, and start building type-safe IPC.

1
Install the package
$ npm install @electron-ipc/core
2
Define your schema api.eipc
module MyApp

[RendererAPI]
[ContextBridge]
interface AppSettings {
  getTheme() -> Theme
  setTheme(theme: Theme)
  getVersion() -> string
}
3
Use in your app renderer.ts
import { AppSettings } from './ipc/renderer/MyApp';

const theme = await AppSettings.getTheme();
100%
Type-safe
0
Boilerplate
<1kb
Runtime
MIT
Licensed