electron-development

Provides patterns for Electron app development with Vite, Playwright E2E testing, and Windows platform fixes.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill electron-development-rubrical-works
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: electron-development
Source: https://github.com/rubrical-works/idpf-praxis-skills/tree/main/Skills/electron-development
Command: npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill electron-development-rubrical-works

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires electron-store, adm-zip, playwright, and includes references (resource) components.

What problem does it solve? Electron development involves recurring pitfalls: Vite output landing in the wrong directory, Playwright timing out against packaged apps, Windows processes locking build files, and IPC wiring that is easy to get wrong. This Skill is a problem/solution reference library that maps each symptom to a tested fix. ## Core Features & Use Cases - Build & Packaging Fixes: Correct Vite renderer output paths, no-space app naming, and Docker-based Linux .deb builds from Windows. - E2E Testing Guidance: Configure Electron fuses for Playwright CDP connections, test packaged executables instead of dev mode, and simulate fresh installs with environment variables. - Architecture Patterns: Three-layer contextBridge IPC, electron-store settings persistence, fail-safe file reading, GitHub API update checking, and download progress via IPC events. - Use Case: Your Playwright E2E test times out on electron.launch() even though the app opens manually. Consult the quick reference table, which points to the fuses resource explaining that EnableNodeCliInspectArguments must be enabled for CDP connections. ## Quick Start Ask the AI to read the electron-development SKILL.md quick reference table and load the resource file matching your current Electron problem.

Frequently Asked Questions about electron-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does Playwright electron.launch() time out on my packaged Electron app?▼

Playwright connects to Electron via Chrome DevTools Protocol, which requires the EnableNodeCliInspectArguments fuse to be true in forge.config.ts. If the fuse is disabled, Electron ignores the remote debugging port and Playwright can never connect, causing a timeout.

How do I fix a blank window in a packaged Electron Forge Vite app?▼

A blank window usually means renderer files are missing from the ASAR because Vite output went to the wrong directory. When root is set to a subdirectory like src/renderer, explicitly set build.outDir to an absolute path such as .vite/renderer/main_window.

Should I run Electron E2E tests in dev mode or against the packaged app?▼

Test the packaged executable rather than dev mode. Dev mode has unreliable Vite server startup timing and behaves differently from production, so package the app first and launch it via executablePath in Playwright.

How do I build a Linux .deb package from Windows with electron-builder?▼

Run electron-builder inside a Docker container since fpm is unavailable on Windows. Use MSYS_NO_PATHCONV=1 with docker run, bind-mount the project directory, and electron-builder auto-downloads fpm inside the Linux container.

Why do I get 'Device or resource busy' errors when rebuilding Electron on Windows?▼

Running Electron processes hold file locks on build outputs like app.asar. Kill them with PowerShell using single quotes (Stop-Process -Name electron -Force), wait briefly for handles to release, then remove build directories one at a time.

How do I persist settings in an Electron app across restarts?▼

Use the electron-store package in the main process with typed defaults, exposed to the renderer through contextBridge IPC handlers. Settings are stored as JSON in the platform's standard config directory such as %APPDATA% on Windows.