back to pipeline
view source

Shipping a Non-Trivial Feature with Agentic AI: Notes from Ghostty

$graph --tags
$cat ghostty-vibe-coding.md

Mitchell Hashimoto describes how he shipped Ghostty’s unobtrusive macOS update UI using agentic AI with deliberate human oversight. 

Plan before you prompt

Define the shape of the solution first. Hashimoto chose Sparkle’s custom UI path and a titlebar accessory concept, then used an agent to prototype UI states, not to “build everything.” Humans kept control of scope and taste. 

Iterate, then de-slop

Multiple cleanup passes moved code to sane places, added documentation, and elevated state to the app level. He emphasizes owning the code and performing a final manual review before shipping. 

Pivot when blocked, simulate to harden UX

When titlebar constraints fought the design, he pivoted to an in-window overlay and added simulation scenarios to exercise error and “no update” paths before wiring the backend. 

Outcome: 16 sessions, ~$15.98 token spend, ~8 hours of focused work. Live for tip users now and slated for Ghostty 1.3.

Source : https://mitchellh.com/writing/non-trivial-vibing