Commit Graph
2 Commits
Author SHA1 Message Date
Tommy D. Rossi e892721f74 Add cargo-packager configs so a compiled GPUIX app gets a Dock icon.
A raw Mach-O has no icon. cargo-packager wraps the binary in a .app.
Pass an .icns, not a 1024 PNG. cargo-packager rejected a 1024 PNG with
No matching IconType.

examples/packager.json packs the Bun chat compile as one main binary.
hermes/packager.json lists gpuix-hermes as main and the .node as a
second binary, not a resource. Resources land in Contents/Resources.
Hermes dlopen looks next to the exe, which is Contents/MacOS.

README documents the flow: install cargo-packager, build AppIcon.icns
with sips + iconutil, then cargo packager --release --config packager.json.
formats is host OS only (app/dmg, nsis, appimage). On this machine the
Bun chat .app is 82 MB and the Hermes counter .app is 34 MB.

Ignore packager output: examples/bundle/, examples/AppIcon.icns,
hermes/bundle/, hermes/AppIcon.icns, and tmp-icons/. Do not track
generated hermes/chat.cjs.

Session: ses_f84b88b16ffePB3X7Fqzot47OY
2026-09-07 15:25:27 +02:00
Tommy D. Rossi 2d6e599c2b Document shipping a GPUIX app on hermes-node.
Add a Holocron guide at website/src/guides/hermes.mdx and link it from the
README. The page covers rebuilding hermes-node on macOS (the published
tarball dead-strips napi_*), bundling React to CJS with bun build, and the
measured ship set: 12 MB executable plus a 22 MB native sidecar.

A hermes/ prototype sits next to the docs so the same path can be rerun.

Session: ses_f84b88b16ffePB3X7Fqzot47OY
2026-09-07 14:18:43 +02:00