mcpField
E
electron-skills

electron-skills

github.com/llama-farmDevelopment83685 installsUpdated 21w ago
Repository

About electron-skills

A set of Electron-specific development guidelines for the LlamaFarm Desktop application. It helps developers apply patterns for process architecture, IPC, security, and performance.

Key features

  1. 01Main, preload, and renderer patterns
  2. 02Type-safe IPC guidance
  3. 03Context isolation and preload security
  4. 04Window and startup performance guidance

Use cases

  1. 01Design communication between Electron processes
  2. 02Review preload APIs and renderer security
  3. 03Optimize window management and startup

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/llama-farm/llamafarm --skill electron-skills

After installing, type/electron-skillsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

electron.md
performance.md
security.md

Details

From the project README

Electron Skills for LlamaFarm Desktop

Electron 28 + Electron Vite patterns for the LlamaFarm Desktop application.

Overview

This skill extends typescript-skills with Electron-specific patterns for main/renderer process architecture, IPC communication, security, and performance.

Tech Stack

ComponentTechnologyPurpose
FrameworkElectron 28Desktop application framework
Buildelectron-vite 2Vite-based build for main/preload/renderer
Updateselectron-updaterAuto-update via GitHub releases
Packagingelectron-builderCross-platform packaging (macOS/Win/Linux)

Architecture

electron-app/
  src/
    main/           # Main process (Node.js context)
      index.ts      # App entry, lifecycle, IPC handlers
      backend/      # CLI installer, model downloader
      window-manager.ts
      menu-manager.ts
      logger.ts
    preload/        # Preload scripts (bridge context)
      index.ts      # contextBridge API exposure
    renderer/       # Renderer process (browser context)
      index.html    # Main window
      splash.html   # Splash screen

Core Principles

  1. Process isolation - Main, preload, and renderer are separate contexts
  2. Context isolation - Always use contextBridge.exposeInMainWorld
  3. No Node in renderer - nodeIntegration: false always
  4. Type-safe IPC - Define channel types and payload schemas
  5. Secure by default - Minimize exposed APIs in preload

Related Documents

Shared TypeScript Patterns

This skill inherits from typescript-skills:

Quick Reference

IPC Handler Pattern (Main Process)
ipcMain.handle('cli:info', async () => {
  const isInstalled = await this.cliInstaller.isInstalled()
  return {
    isInstalled,
    path: isInstalled ? this.cliInstaller.getCLIPath() : null
  }
})
Preload Bridge Pattern
const api = {
  cli: {
    getInfo: () => ipcRenderer.invoke('cli:info')
  },
  platform: process.platform,
  version: process.versions.electron
}

contextBridge.exposeInMainWorld('llamafarm', api)
BrowserWindow Configuration
new BrowserWindow({
  webPreferences: {
    preload: path.join(__dirname, '../preload/index.js'),
    nodeIntegration: false,
    contextIsolation: true
  }
})

Checklist Summary

CategoryCriticalHighMediumLow
IPC2321
Security4321
Performance1332

Comments

Markdown supported