home / skills / partme-ai / full-stack-skills / electron-egg

electron-egg skill

/skills/electron-egg

This skill guides you through installing, configuring, and building Electron EGG apps, enabling efficient IPC, window management, and packaging.

npx playbooks add skill partme-ai/full-stack-skills --skill electron-egg

Review the files below or copy the command above to add this skill to your agents.

Files (19)
SKILL.md
7.2 KB
---
name: electron-egg
description: Provides comprehensive guidance for Electron EGG framework including project structure, main/renderer processes, IPC, window management, and desktop app development. Use when the user asks about Electron EGG, needs to create Electron applications with EGG, or work with Electron EGG patterns.
license: Complete terms in LICENSE.txt
---

## When to use this skill

Use this skill whenever the user wants to:
- Install and set up Electron EGG in a project
- Create Electron desktop applications
- Use Electron EGG core features
- Configure Electron EGG
- Handle main process and renderer process communication
- Use Electron EGG API methods
- Build and package Electron applications
- Troubleshoot Electron EGG issues

## How to use this skill

This skill is organized to match the Electron EGG official documentation structure (https://www.kaka996.com/, https://www.kaka996.com/pages/987b1c/, https://www.kaka996.com/pages/a99b72/). When working with Electron EGG:

1. **Identify the topic** from the user's request:
   - Installation/安装 → `examples/guide/installation.md`
   - Quick Start/快速开始 → `examples/guide/quick-start.md`
   - Features/功能特性 → `examples/features/`
   - API/API 文档 → `api/`

2. **Load the appropriate example file** from the `examples/` directory:

   **Guide (使用文档)**:
   - `examples/guide/intro.md` - Introduction to Electron EGG
   - `examples/guide/installation.md` - Installation guide
   - `examples/guide/quick-start.md` - Quick start guide
   - `examples/guide/project-structure.md` - Project structure
   - `examples/guide/configuration.md` - Configuration
   - `examples/guide/build.md` - Build and package

   **Features (功能特性)**:
   - `examples/features/main-process.md` - Main process
   - `examples/features/renderer-process.md` - Renderer process
   - `examples/features/ipc-communication.md` - IPC communication
   - `examples/features/window-management.md` - Window management
   - `examples/features/menu.md` - Menu
   - `examples/features/tray.md` - System tray
   - `examples/features/auto-updater.md` - Auto updater
   - `examples/features/plugin-system.md` - Plugin system

3. **Follow the specific instructions** in that example file for syntax, structure, and best practices

   **Important Notes**:
   - Electron EGG is based on Electron and Egg.js
   - Main process and renderer process separation
   - IPC communication between processes
   - Each example file includes key concepts, code examples, and key points

4. **Reference API documentation** in the `api/` directory when needed:
   - `api/main-api.md` - Main process API
   - `api/renderer-api.md` - Renderer process API
   - `api/ipc-api.md` - IPC API
   - `api/window-api.md` - Window API
   - `api/config-api.md` - Configuration API

   **API Files:**
   - `api/main-api.md` - Application class, BrowserWindow, ipcMain, app methods
   - `api/renderer-api.md` - ipcRenderer, contextBridge, DOM APIs
   - `api/ipc-api.md` - IPC communication methods and events
   - `api/window-api.md` - Window creation and management
   - `api/config-api.md` - Configuration options and environment variables

5. **Use templates** from the `templates/` directory:
   - `templates/installation.md` - Installation templates
   - `templates/project-setup.md` - Project setup templates
   - `templates/configuration.md` - Configuration templates

### 1. Understanding Electron EGG

Electron EGG is a desktop application development framework based on Electron and Egg.js, providing a complete development toolchain and best practices.

**Key Concepts**:
- **Electron**: Cross-platform desktop application framework
- **Egg.js**: Node.js enterprise application framework
- **Main Process**: Main application process
- **Renderer Process**: UI rendering process
- **IPC**: Inter-process communication
- **Plugin System**: Extensible plugin architecture

### 2. Installation

**Using npm**:

```bash
npm install electron-egg
```

**Using yarn**:

```bash
yarn add electron-egg
```

**Using pnpm**:

```bash
pnpm add electron-egg
```

### 3. Basic Setup

```javascript
// main.js
const { Application } = require('electron-egg')

const app = new Application({
  // Configuration
})

app.start()
```


### Doc mapping (one-to-one with official documentation)

- `examples/` → https://www.kaka996.com/pages/987b1c/
- `api/` → https://www.kaka996.com/pages/a99b72/

## Examples and Templates

This skill includes detailed examples organized to match the official documentation structure. All examples are in the `examples/` directory (see mapping above).

**To use examples:**
- Identify the topic from the user's request
- Load the appropriate example file from the mapping above
- Follow the instructions, syntax, and best practices in that file
- Adapt the code examples to your specific use case

**To use templates:**
- Reference templates in `templates/` directory for common scaffolding
- Adapt templates to your specific needs and coding style

## API Reference

Detailed API documentation is available in the `api/` directory, organized to match the official Electron EGG API documentation structure (https://www.kaka996.com/pages/a99b72/):

### Main Process API (`api/main-api.md`)
- Application class and methods
- BrowserWindow creation and management
- ipcMain IPC handling
- Application lifecycle hooks

### Renderer Process API (`api/renderer-api.md`)
- ipcRenderer IPC communication
- contextBridge for secure API exposure
- DOM APIs available in renderer
- Event handling

### IPC API (`api/ipc-api.md`)
- IPC communication methods (ipcMain, ipcRenderer)
- Message sending and receiving
- Async and sync IPC
- Event handling and channels

### Window API (`api/window-api.md`)
- BrowserWindow creation and options
- Window management methods
- Window events
- Window lifecycle

### Configuration API (`api/config-api.md`)
- Configuration file structure
- App info configuration
- Window configuration
- Plugin configuration
- Environment variables

**To use API reference:**
1. Identify the API you need help with
2. Load the corresponding API file from the `api/` directory
3. Find the API signature, parameters, return type, and examples
4. Reference the linked example files for detailed usage patterns
5. All API files include links to relevant example files in the `examples/` directory

## Best Practices

1. **Separate processes**: Keep main process and renderer process code separate
2. **Use IPC**: Use IPC for inter-process communication
3. **Handle errors**: Properly handle errors in both processes
4. **Security**: Follow Electron security best practices
5. **Performance**: Optimize application performance
6. **Build configuration**: Configure build and package properly
7. **Plugin system**: Use plugin system for extensibility

## Resources

- **Official Documentation**: https://www.kaka996.com/
- **Usage Guide**: https://www.kaka996.com/pages/987b1c/
- **API Documentation**: https://www.kaka996.com/pages/a99b72/
- **Gitee Repository**: https://gitee.com/dromara/electron-egg

## Keywords

Electron EGG, electron-egg, Electron, Egg.js, desktop application, 桌面应用, 主进程, 渲染进程, IPC, 进程间通信, 窗口管理, 菜单, 系统托盘, 自动更新, 插件系统, main process, renderer process, inter-process communication, window management, menu, system tray, auto updater, plugin system

Overview

This skill provides comprehensive guidance for building Electron applications using the Electron EGG framework. It covers project structure, main/renderer process patterns, IPC, window management, configuration, building and packaging. Use it to follow pragmatic examples, templates, and API mappings aligned with Electron EGG best practices.

How this skill works

The skill maps user requests to targeted example and API files organized by topic (installation, quick start, features, APIs, templates). For a given task it points to the matching guide or API document, shows concrete code snippets (main.js, IPC handlers, BrowserWindow creation), and provides practical templates for common scaffolding. It also highlights security, error handling, and build configuration patterns specific to Electron EGG.

When to use it

  • When installing and setting up Electron EGG in a new project
  • When scaffolding a desktop app with separate main and renderer code
  • When implementing IPC between main and renderer processes
  • When configuring windows, menus, tray, or automatic updates
  • When preparing build and packaging settings for release
  • When troubleshooting Electron EGG runtime or build issues

Best practices

  • Keep main process and renderer process code strictly separated and use contextBridge for secure exposure
  • Use explicit IPC channels and prefer async messages to avoid blocking the renderer
  • Validate and handle errors in both processes; log lifecycle events for debugging
  • Follow Electron security guidelines: disable remote module, enable contextIsolation, and minimize nodeIntegration in renderer
  • Use the plugin system and templates for consistent, reusable app scaffolding
  • Test build outputs on all target platforms and configure environment-specific settings in config files

Example use cases

  • Quick-start: create a minimal Electron EGG app with Application.start and BrowserWindow configuration
  • IPC pattern: implement ipcMain handlers in main process and call them from renderer via ipcRenderer/contextBridge
  • Window management: create multiple windows, restore state, and manage window events and lifecycle
  • Packaging: configure build targets, customize app metadata, and test installers across platforms
  • Plugin extension: add a plugin to extend behavior (tray, auto-updater, custom menu) while keeping core logic modular

FAQ

How do I expose safe APIs from main to renderer?

Use contextBridge.exposeInMainWorld in a preload script to expose a minimal API surface and keep contextIsolation enabled for security.

Where do I find the API signatures and examples?

Reference the API files for main, renderer, IPC, window, and config; each file lists method signatures, parameters, and linked example usage.