@clefairy/create-electron-app
v0.1.6
Published
An easy way to create desktop software based on electron, vite and vue3
Readme
@clefairy/create-electron-app
CLI scaffolder for an Electron 40 + electron-vite 5 + Vite 7 + Vue 3.5 + TypeScript 5.9 desktop app. It copies the base template, optionally injects device demo pages, and rewrites configs so a fresh project can run immediately.
Requirements
- Node.js 20.19+ or 22.12+ with npm/yarn/pnpm.
- On Windows/macOS/Linux; Electron binaries are downloaded during install (use the mirror toggle if needed).
Quick start
npm create @clefairy/electron-app@latest my-app
# or
npx @clefairy/create-electron-app my-appRunning from a local clone:
npm install
npm run build # bundles to outfile.cjs
node outfile.cjs demo # scaffolds into ./demoWhat the CLI asks
- Project name & target directory (clears non-empty dirs only if you confirm).
package.jsonname (validated to be npm-safe).- Device demo pages to include: Monitor, Keyboard, Mouse, Headset. Selected modules are copied into
src/renderer/views/devices/<module>and the router (src/renderer/router/index.ts) is regenerated accordingly. - Electron download mirror toggle: writes
.npmrcandelectron-builder.yml.electronDownloadwhen enabled. - When not run via
npm create, it also seedssrc/api/serverandsrc/main/modulesfromwhale_resources/.
What gets generated
- Base Electron 40 + electron-vite 5 + Vite 7 + Vue 3.5 + TS 5.9 template with ESLint 9, Prettier 3, and electron-builder config.
_gitignoreis renamed to.gitignore,electron-builder.yml.productNameandpackage.json.nameare set to your project name, andscripts/inspect_blockmap.pyis patched with the name when present.- Suggested next steps printed after scaffolding match your package manager (
npm,yarn, orpnpm).
Working inside the generated app
- Install deps:
npm install - Dev server:
npm run serve(ACC env),npm run serve:acc(Dev),npm run serve:prod(Prod) - Preview build:
npm run start - Build installers:
npm run build(prod),npm run build:dev,npm run build:acc, plusnpm run build:mac/npm run build:linux - Quality:
npm run lint,npm run format,npm run typecheck
Developing this CLI
- Build bundle:
npm run build - Manual QA:
node outfile.cjs <project-name>and then run the generated app’s scripts above. npm testis a placeholder that exits with an error.
License
MIT
