llama-farm/llamafarm

electron-skills

Electron patterns for LlamaFarm Desktop. Covers main/renderer processes, IPC, security, and packaging.

First seen Jan 22, 2026

Installation

$ npx skills add llama-farm/llamafarm --skill electron-skills

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from llama-farm/llamafarm · top by installs.

npx skills add llama-farm/llamafarm

Browse all from llama-farm/llamafarm

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 837
License LICENSE
Default branch main
Open issues 46
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Grep, Glob

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,261 B
  • docs SUMMARY.md 125 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 85 installs

SKILL.md

Electron Skills for LlamaFarm Desktop

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

Overview

This skill extends [typescript-skills](../typescript-skills/SKILL.md) with Electron-specific patterns for main/renderer process architecture, IPC communication, security, and performance.

Tech Stack

Component Technology Purpose
Framework Electron 28 Desktop application framework
Build electron-vite 2 Vite-based build for main/preload/renderer
Updates electron-updater Auto-update via GitHub releases
Packaging electron-builder Cross-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

  • [electron.md](./electron.md) - IPC patterns, main/renderer communication
  • [security.md](./security.md) - Context isolation, preload security, CSP
  • [performance.md](./performance.md) - Window management, memory, startup

Shared TypeScript Patterns

This skill inherits from [typescript-skills](../typescript-skills/SKILL.md):

  • [patterns.md](../typescript-skills/patterns.md) - Idiomatic TypeScript
  • [typing.md](../typescript-skills/typing.md) - Strict typing, generics
  • [security.md](../typescript-skills/security.md) - Input validation, XSS prevention

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

Category Critical High Medium Low
IPC 2 3 2 1
Security 4 3 2 1
Performance 1 3 3 2