Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By naporin0624
Type-safe IPC communication for Electron applications using Hono RPC, CQRS architecture, and reactive state management. Provides factory pattern with DI, Observable queries, ResultAsync commands, and Jotai hybrid atoms.
npx claudepluginhub naporin0624/claude-plugin-hono-electron --plugin hono-electron-ipcAdd a new Hono IPC route with Zod validation
---
Set up Hono-based type-safe IPC architecture for Electron
Orchestrate migration from traditional `ipcMain.handle()` / `ipcRenderer.invoke()` to Hono-based IPC architecture.
Create a new Jotai hybrid atom with IPC stream subscription and HTTP fallback.
Analyzes existing ipcMain/ipcRenderer usage in Electron codebase for migration to Hono IPC
Executes individual route migrations from traditional IPC to Hono
Plans Hono route structure based on IPC analysis for migration
---
Advanced patterns for Hono-based Electron IPC including Zod validation and error handling. Use when adding validation or handling errors in routes.
---
Set up Hono-based type-safe IPC for Electron. Use when implementing IPC or migrating from ipcRenderer to type-safe RPC.
---
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Desktop application scaffolding with Electron or Tauri
Build ultrafast web APIs and apps with Hono across any JavaScript runtime. Covers routing, Context API, 25+ built-in middleware (auth, CORS, caching, security), type-safe RPC client, Zod/Standard Schema validation, JSX rendering, streaming/SSE, WebSocket, cookie/JWT helpers, testing patterns, and deployment to Cloudflare Workers, Bun, Deno, Node.js, AWS Lambda, Vercel, Netlify, and more.
Type-safe Hono APIs with routing, middleware, RPC. Use for request validation, Zod/Valibot validators, or encountering middleware type inference, validation hook, RPC errors.
Tauri v2 desktop and mobile app development with Rust backend, IPC, capabilities, and security
Desktop App Dev subagent
Comprehensive Zustand state management skills for React applications with store patterns, middleware, and TypeScript integration.
Comprehensive SEO, WCAG 2.1 AA accessibility, web resource analysis, DevSecOps security testing, path discovery, CVE hunting, and bounty hunter agents
Claude Code plugin for Akai APC Mini MK2 MIDI controller development. Provides MIDI protocol lookup, LED mapping guides, color palette references, and TypeScript code samples for LED control.
Comprehensive SEO, WCAG 2.1 AA accessibility, web resource analysis, DevSecOps security testing, path discovery, CVE hunting, and bounty hunter agents
A Claude Code plugin for implementing type-safe IPC communication in Electron applications using Hono RPC, CQRS architecture, and reactive state management.
/plugin marketplace add napochaan/hono-electron-ipc
/plugin install hono-electron-ipc
claude --plugin-dir ./hono-electron-ipc
/hono-electron-ipc:init
This scaffolds the complete directory structure:
src/
├── shared/
│ └── callable/
│ ├── index.ts # Factory and app creation
│ └── types.d.ts # Type export for client
├── main/
│ └── callable/
│ └── index.ts # Service injection
└── renderer/
└── src/
└── adapters/
└── client.ts # Type-safe hc client
/hono-electron-ipc:add-route users
Creates a new route with Zod validation:
// src/shared/callable/users/index.ts
import { zValidator } from '@hono/zod-validator';
import { Hono } from 'hono';
import { z } from 'zod';
const app = new Hono<HonoEnv>();
export const routes = app
.get('/', (c) => c.json({ users: [] }))
.get('/:id', (c) => c.json({ id: c.req.param('id') }));
import { client } from '@adapters/client';
// Full autocomplete and type checking!
const res = await client.users[':id'].$get({ param: { id: 'usr_123' } });
const user = await res.json();
/hono-electron-ipc:new-service users
Creates a CQRS service:
export class UserServiceImpl implements UserService {
#notify = new BehaviorSubject(Date.now());
// Query: Observable for reactive data streams
list(): Observable<User[]> {
return concat(
from(this.#getUsers()),
this.#notify.pipe(mergeMap(() => this.#getUsers()))
);
}
// Command: ResultAsync for type-safe operations
create(data: CreateUserData): ResultAsync<void, Error> {
return this.#insertUser(data)
.andThen(() => {
this.#notify.next(Date.now());
return okAsync(void 0);
});
}
}
/hono-electron-ipc:new-hybrid-atom users
Creates a hybrid atom (stream + HTTP fallback):
// Stream atom (IPC subscription)
const streamUsersAtom = atom<{ value: User[] }>();
streamUsersAtom.onMount = (set) => {
const handler = debounce(async () => {
const data = await client.users.$get().then(r => r.json());
set({ value: data });
}, 300);
handler();
return usersSource.subscribe(handler);
};
// Hybrid selector
export const usersAtom = atom(async (get) => {
const stream = get(streamUsersAtom);
if (stream === undefined) return get(singleFetchAtom);
return stream.value;
});
/hono-electron-ipc:new-route users
Creates a route with CQRS service integration:
const route = new Hono()
.get('/', async (c) => {
const users = await firstValueFromResult(
c.var.services.users.list()
);
return users.match(
(data) => c.json(data, 200),
(error) => c.json({ error: error.message }, 500)
);
});
// Client: Full type inference
const users = await client.users.$get().then(r => r.json());
/hono-electron-ipc:migrate
This orchestrates a full migration from traditional IPC to Hono:
ipcMain.handle and ipcRenderer.invoke calls| Command | Description |
|---|---|
/hono-electron-ipc:init | Initialize Hono IPC architecture |
/hono-electron-ipc:add-route [name] | Add a basic route with validation |
/hono-electron-ipc:migrate | Migrate existing IPC to Hono |
| Command | Description |
|---|---|
/hono-electron-ipc:new-service [name] | Create CQRS service with Observable/ResultAsync |
/hono-electron-ipc:new-route [name] | Create route with CQRS integration |
/hono-electron-ipc:new-hybrid-atom [name] | Create Jotai hybrid atom with IPC subscription |
Auto-triggers when discussing IPC setup, Hono for Electron, or type-safe IPC.