Introduction
Mitchell Hashimoto, creator of Ghostty, recounts how an AI-assisted workflow helped ship a practical UI feature: an unobtrusive macOS update notification that reports Sparkle-driven update states without stealing focus or spawning modal dialogs. The write-up blends a concise pre-AI plan, a sequence of agentic coding sessions, and a frank account of where manual intervention was essential. It’s a useful look at how small, iterative AI sessions can sit inside a developer’s normal workflow.
What was built
The feature surfaces update status inside the terminal window rather than interrupting the presenter with a modal prompt. Mitchell started from a manual plan—consulting Sparkle’s custom UI protocols and macOS titlebar accessory controllers—then used SwiftUI prototypes produced by agents to iterate on the visual design and behavior. After several cycles of cleanup, refactor, and a few failed attempts to resolve titlebar layout conflicts, a pragmatic pivot added an overlay mode that displays the notice in the bottom-right of the window for problematic titlebar styles.
The AI-driven workflow (high level)
- Planning first: an explicit planning stage guided agent output and reduced wasted work.
- Small, focused sessions: 16 separate agentic coding sessions were used rather than one large run.
- Iteration and cleanup: manual restructuring of the view model and targeted refactors improved downstream AI assistance.
- Simulation and polish: generated scenarios exercised edge cases before final hookup to Sparkle’s protocols.
Several practical tips are sprinkled through the post—scaffolding function stubs, adding documentation so future agents reason about code better, and keeping final manual review mandatory.
Cost, time, and availability
Mitchell reports roughly $15.98 in token spend across the sessions and about 8 hours of wall-clock time. The change is merged and available to nightly “tip” users now, and will ship in Ghostty 1.3 for tagged releases.
Read the full account, including all agentic sessions and the author’s step-by-step notes: https://mitchellh.com/writing/non-trivial-vibing?