# Desktop installers (npm run desktop:dist): Linux AppImage + .deb, built by # the CI workflow in .github/workflows/desktop.yml. Windows is distributed # only through the Microsoft Store (npm run desktop:store, built by hand on a # Windows PC, see RELEASING.md); the win: section below exists only to give # that package an icon, not to build a Windows installer. appId: com.appblips.desktop productName: AppBlips copyright: Copyright © 2026 TechMitten directories: output: dist-desktop buildResources: build # The renderer is pre-bundled in dist/ and the main process (with the server # handlers and electron-updater) in dist-electron/ (scripts/build-electron.js), # so no node_modules ship in the app. files: - dist/** - dist-electron/** - electron/preload.cjs - build/icon.png - package.json - "!**/node_modules/**" npmRebuild: false nodeGypRebuild: false win: icon: build/icon.png # Microsoft Store package (npm run desktop:store, on a Windows PC). Never part # of npm run release or CI: it's built locally and uploaded to Partner Center # by hand, and the Store signs it, so it needs no certificate. # The tile images are build/appx/*.png, made from build/icon.svg (as is # build/icon.png) by scripts/appx-icons.sh (rerun it after changing the # icon). The identity # values come from Partner Center → the app → Product identity and must match # it exactly, or the upload is rejected. The package is unsigned (the Store # signs it), so Windows won't install the file directly; to test it, turn on # Developer Mode, unzip it and run # Add-AppxPackage -Register \AppxManifest.xml. appx: identityName: TechMitten.AppBlips # Package/Identity/Name publisher: CN=ADD5F838-06D7-4CA2-AAEB-75AF269F2969 # Package/Identity/Publisher publisherDisplayName: TechMitten # Package/Properties/PublisherDisplayName applicationId: AppBlips displayName: AppBlips # The icon's own background color, so Windows doesn't frame it in the accent color. backgroundColor: "#0A0A0A" languages: [en-US] # Electron needs Windows 10 1809 (build 17763) or later; electron-builder's # default (14316) would offer it to Windows versions it can't run on. minVersion: 10.0.17763.0 maxVersionTested: 10.0.26100.0 # Voice input records the microphone; without this Windows blocks it for # Store installs. capabilities: [microphone] artifactName: AppBlips-Store-${version}.${ext} linux: target: - target: AppImage arch: [x64] - target: deb arch: [x64] category: Development # Add a contact address ("Name ") before publishing .deb packages. maintainer: TechMitten syncDesktopName: true # One PNG per size (build/icons/NxN.png, made by scripts/appx-icons.sh). The # .deb installs each into /usr/share/icons/hicolor/NxN/apps/; given only the # 1024px icon it installs just a 1024x1024 one, a size the hicolor theme # doesn't have, so the launcher and taskbar fall back to a generic icon. icon: build/icons synopsis: Turn a text prompt into a working app, website or game. artifactName: AppBlips-${version}-${arch}.${ext} # The public key of the APT repository (apt-repo.yml), so the .deb can add # the package source offline when the user agrees (see deb: below). extraResources: - from: build/linux/appblips.gpg to: appblips.gpg # Installing the .deb asks whether to add the AppBlips apt source (a debconf # question: build/linux/templates + config), and after-install.tpl adds it on # yes. The two .tpl files are electron-builder's own after-install/after-remove # scripts (node_modules/app-builder-lib/templates/linux) plus the apt part, so # re-copy them when upgrading electron-builder. If the signing key is ever # replaced, replace build/linux/appblips.gpg with the new appblips.gpg from the # APT repository. deb: afterInstall: build/linux/after-install.tpl afterRemove: build/linux/after-remove.tpl fpm: - --deb-templates=build/linux/templates - --deb-config=build/linux/config - --depends=debconf (>= 0.5) | debconf-2.0 # Where electron-updater looks for new versions (Windows and AppImage builds # update themselves; see electron/updater.js). Builds never upload by # themselves (--publish never): the Desktop workflow attaches the installers # and latest*.yml files to a draft release, which updates go out from once # it is published. publish: provider: github owner: TechMitten repo: app-blips