appId: app.niancode.desktop productName: Makelore copyright: Copyright © 2026 Makelore compression: maximum artifactName: ${productName}-${version}-${os}-${arch}.${ext} directories: output: release buildResources: resources files: - dist - dist-electron - package.json extraResources: - from: resources/ to: resources/ filter: - "**/*" - "!icons/*.md" - "!icons/*.svg" - "!bin/**" - "!screenshot/**" # opencode runtime bundled by scripts/bundle-opencode.mjs. - from: build/opencode-ai/ to: opencode-ai/ # Built-in course role templates copied when users create runtime subagents. - from: .opencode/agent/ to: course-agents/ filter: - "*.md" # Built-in course skills installed into the managed opencode config directory. - from: .opencode/skills/ to: course-skills/ filter: - "**/*" afterPack: ./scripts/after-pack.cjs asar: true asarUnpack: - "**/*.node" # lru-cache CJS/ESM interop: older CJS versions (v5, v6, v7) don't export # `LRUCache` as a named property, breaking `import { LRUCache }` in Node.js # 22+ (Electron 40+). Unpacking lets afterPack patch them in place. - "**/node_modules/lru-cache/**" # Native addons in the desktop package use prebuilt/N-API artifacts. # Keep rebuild disabled, but verify packaged msgpackr and @napi-rs/canvas loading # whenever the Electron runtime changes. npmRebuild: false # Generic release metadata remains available for the prerelease pipeline. # Stable runtime feed selection is owned by Electron Main. publish: - provider: generic url: https://oss.intelli-spectrum.com/latest useMultipleRangeRequest: false # macOS Configuration mac: extraResources: - from: resources/bin/darwin-${arch} to: bin - from: resources/python/darwin-${arch}/python to: python category: public.app-category.productivity icon: resources/icons/icon.icns target: - target: dmg arch: - x64 - arm64 - target: zip arch: - x64 - arm64 darkModeSupport: false hardenedRuntime: true gatekeeperAssess: false entitlements: entitlements.mac.plist entitlementsInherit: entitlements.mac.plist notarize: true extendInfo: NSMicrophoneUsageDescription: Makelore requires microphone access for voice features dmg: # Explicit volume size prevents dmg-builder@1.2.0 auto-calculation from # underestimating (causes "No space left on device" for large app bundles). # The final .dmg is bzip2-compressed, so this only affects the temp volume. size: 2g background: resources/dmg-background.png icon: resources/icons/icon.icns iconSize: 100 window: width: 540 height: 380 contents: - type: file x: 130 y: 220 - type: link path: /Applications x: 410 y: 220 # Windows Configuration win: # Skip update signature verification: we ship via OSS + GitHub without a # code-signing certificate, so verifying would always fail on the updater. verifyUpdateCodeSignature: false # Local unsigned builds should not require electron-builder's winCodeSign # toolchain, which is blocked in offline development environments. signAndEditExecutable: false extraResources: - from: resources/bin/win32-${arch} to: bin - from: resources/python/win32-${arch}/python to: python icon: resources/icons/icon.ico target: - target: nsis arch: x64 nsis: oneClick: false perMachine: false warningsAsErrors: false allowToChangeInstallationDirectory: true deleteAppDataOnUninstall: false differentialPackage: true createDesktopShortcut: true createStartMenuShortcut: true shortcutName: Makelore uninstallDisplayName: Makelore license: LICENSE include: scripts/installer.nsh installerIcon: resources/icons/icon.ico uninstallerIcon: resources/icons/icon.ico # Linux Configuration linux: extraResources: - from: resources/bin/linux-${arch} to: bin - from: resources/python/linux-${arch}/python to: python icon: resources/icons target: - target: AppImage arch: - x64 - arm64 - target: deb arch: - x64 - arm64 - target: rpm arch: - x64 category: Utility maintainer: Makelore Team vendor: Makelore synopsis: AI creation workspace description: Makelore is an AI creation workspace for code and visual making. desktop: entry: Name: Makelore Comment: AI creation workspace Categories: Utility;Network; Keywords: ai;assistant;automation;chat; StartupWMClass: niancode appImage: license: LICENSE deb: depends: # Use OR syntax to support both Ubuntu 22.04 and Ubuntu 24.04 (t64 transition). # Ubuntu 24.04 renamed many libraries with a t64 suffix (64-bit time_t ABI transition). - libgtk-3-0 | libgtk-3-0t64 - libnotify4 | libnotify4t64 - libnss3 - libxss1 | libxss1t64 - libxtst6 | libxtst6t64 - xdg-utils - libatspi2.0-0 | libatspi2.0-0t64 - libuuid1 afterInstall: scripts/linux/after-install.sh afterRemove: scripts/linux/after-remove.sh