一键导入
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 页面并帮你完成安装。
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.
基于 SOC 职业分类
| 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.