openquack

SPEC-010 — App shell

Status: ratified — task 1 (shell + menu bar + About) shipped 2026-04-26 via SwiftPM target rather than .xcodeproj (see implementation note below) Owner: apps/OpenQuack/ Last updated: 2026-04-26

Goal

The minimum viable Xcode app target: a menu-bar app that owns the dictation lifecycle, consumes OpenQuackKit, and survives long-running sessions without leaks. Boots into a sane idle state on first launch.

Non-goals

Surface

Behaviour

Quality gates

Implementation note (2026-04-26)

Settled the Xcode-project question by going SwiftPM-only for the app target:

Trade-off accepted: no SwiftUI Previews from the SwiftPM target (the #Preview macro requires the Xcode plugin). That’s a per-developer ergonomic loss; for the menu-bar surface, we use the running app to iterate.

Open questions

References