원클릭으로
new-ipc-channel
Scaffold a new IPC channel with proper TypeScript types
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scaffold a new IPC channel with proper TypeScript types
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Build and test the Electron app with proper worktree isolation
Audit translation completeness across all language files
Generate release notes from git history between tags
Create or review Qase-ready QA flows for Rocket.Chat Desktop PRs and branches.
| name | new-ipc-channel |
| description | Scaffold a new IPC channel with proper TypeScript types |
Add a new type-safe IPC channel to the Rocket.Chat Electron app. This scaffolds the channel definition, main process handler, and renderer invoke call.
name: Channel name using domain/action format (e.g., downloads/clear-all, notifications/dismiss)args: TypeScript argument types (e.g., (itemId: string) or () for no args)return: TypeScript return type (e.g., void, boolean, { success: boolean })Edit src/ipc/channels.ts and add the new channel to the ChannelToArgsMap type:
type ChannelToArgsMap = {
// ... existing channels ...
'<name>': (<args>) => <return>;
};
Add any needed imports at the top of the file if the types reference domain-specific types.
Identify the correct main process file based on the channel domain:
downloads/* → src/downloads/main.tsnotifications/* → src/notifications/main.tsservers/* → src/servers/main.tsvideo-call-window/* → src/videoCallWindow/main.tsoutlook-calendar/* → src/outlookCalendar/main.tsdocument-viewer/* → src/documentViewer/main.tsAdd the handler using the existing pattern in that file. Look at sibling handlers for the correct pattern - they use ipcMain.handle or the project's handle wrapper from src/ipc/main.ts.
If this channel is called from the renderer process, add the invoke call in the appropriate renderer file or in src/ipc/renderer.ts following the existing pattern.
Run type checking to ensure the new channel compiles:
npx tsc --noEmit
The IPC system uses a centralized type map (ChannelToArgsMap) that enforces type safety between main and renderer processes. The Channel and Handler types are derived from this map:
export type Channel = keyof ChannelToArgsMap;
export type Handler<N extends Channel> = ChannelToArgsMap[N];
All 71+ existing channels follow the 'domain/action' naming convention.