Electron App Source Extractor
Unpacks an installed Electron app's app.asar and rebuilds the original source tree from .js.map files when available.
Dev & CodingIntermediate★ 24,749⑂ 2,764AI score 8/10Last updated: Jul 4, 2026
What it does
Extracts resources and JavaScript from any installed Electron desktop app (.asar bundle).
- Accepts an app name (e.g.
Codex) or an absolute path, auto-discovering bundles in/Applicationson macOS and%LOCALAPPDATA%\Programs,%PROGRAMFILES%on Windows. - When
.js.mapfiles embedsourcesContent, it reconstructs a readable source tree such asrestored/src/main.tsinstead of hashed placeholders. - Without maps, minified JS/CSS is formatted in place with Prettier.
- Always skips
node_modulesandwebpack/runtime/*; writes a summary toextract-report.json. - Practical flags:
--dry-run,--force,--json,--skip-format,--skip-restore, plus safety guards that refuse to write to/, your home dir, or the CWD.
Who it's for
- Frontend/desktop engineers studying how popular Electron apps are architected.
- Release engineers auditing whether their own builds accidentally ship source maps.
- Security reviewers and reverse engineers diffing bundles across app versions.
Examples
- "Extract the source of the Codex app" → the original TypeScript tree lands in
~/Downloads/Codex-electron-extract/restored/. - "Look inside /Applications/Visual Studio Code.app" → asar is unpacked and map-less files are Prettier-formatted under
extracted/. - "Check if our shipped build leaks source maps" → run with
--dry-runto confirm paths, then inspectwarningsinextract-report.json.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/baoyu-electron-extract folder from the GitHub repo JimLiu/baoyu-skills into my ~/.claude/skills/baoyu-electron-extract/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/JimLiu/baoyu-skills.git /tmp/baoyu-skills && mkdir -p ~/.claude/skills && cp -r /tmp/baoyu-skills/skills/baoyu-electron-extract ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Make sure you have
bun(preferred) or Node'snpxavailable: runbun --versionornpx --version. - Clone the repository:
git clone https://github.com/JimLiu/baoyu-skills.git - Copy the skill into your Claude skills folder:
mkdir -p ~/.claude/skills && cp -r baoyu-skills/skills/baoyu-electron-extract ~/.claude/skills/ - Restart Claude Code and confirm
baoyu-electron-extractappears in your skill list. - Trigger it with a request like "extract the source code of the Codex app". The first run is slower while npx caches
@electron/asarandprettier. - Results default to
~/Downloads/<AppName>-electron-extract/— open therestored/folder first, and only inspect apps you are legally allowed to.
View source on GitHub ↗License: MIT