Two gaps every desktop craft app will re-fill by hand:
No Settings… menu item. The default App menu (
macos.zig:6157-6162, post-#35) has About/Hide/Quit but no "Settings… ⌘,", which every Mac app has. Suggest: a default item that emits a documented event into the page (craft:menu:actionwith a well-known id, or a dedicatedcraft:settings), so an app only has to listen. Apps that callcraft.menu.set()keep full control as today.No preferences storage.
storage.zighas an NSUserDefaults suite implementation that is commented out (:234) and unexposed. Apps currently choose betweencraft.fs.appDataDir()(hand-rolled JSON) andcraft.keychain(wrong tool for non-secrets). A tinycraft.prefs.get/set/deleteover NSUserDefaults — the platform's actual preferences mechanism, with its freedefaults readdebuggability — would cover the 90% case.
Context: stacksjs/harness built both halves itself (menu item + event routing + localStorage), and localStorage is the wrong place the moment the same app runs against a remote server from two windows.
🤖 Generated with Claude Code