A native desktop wrapper around SchemaForge, built with Electron.
main.js— the Electron main process (creates the app window, loadssrc/index.html)src/index.html— your SchemaForge app, unmodifiedpackage.json— has theelectron-builderconfig for Windows (.exeinstaller), macOS (.dmg), and Linux (.AppImage).github/workflows/build.yml— a GitHub Actions workflow that builds all three platforms automatically
npm install
npm startYou can only reliably build for the OS you're building the DMG/EXE for macOS/Windows-specific signing tools without extra setup, so the easiest path is:
- Push this folder to a new GitHub repo.
- Push a tag:
git tag v1.0.0 && git push --tags(or just run the workflow manually from the Actions tab — it's set toworkflow_dispatchtoo). - GitHub Actions will build on real Windows, macOS, and Linux runners and upload the installers as workflow artifacts — download them from the Actions run page.
On a Windows machine:
npm install
npm run dist:win # → release/SchemaForge Setup 1.0.0.exeOn a Mac:
npm install
npm run dist:mac # → release/SchemaForge-1.0.0.dmgOn Linux:
npm install
npm run dist:linux # → release/SchemaForge-1.0.0.AppImagerelease/SchemaForge-1.0.0.AppImage in this package was already built and verified to launch
correctly. Just:
chmod +x SchemaForge-1.0.0.AppImage
./SchemaForge-1.0.0.AppImage(Needs FUSE installed on the host — most desktop Linux distros have this already. If not:
sudo apt install libfuse2 on Debian/Ubuntu.)
Right now the app uses Electron's default icon. To brand it:
- Make a 512×512 PNG logo.
- Convert it to
.ico(Windows) and.icns(macOS) — e.g. with https://cloudconvert.com or theelectron-icon-buildernpm package. - Put them at
build/icon.ico,build/icon.icns,build/icon.pngand uncomment theiconlines inpackage.json'sbuildsection and inmain.js.