Why I Stopped Using Screenshot GUIs
Every documentation workflow I've seen relies on at least three separate applications: a screenshot tool, an image editor for annotations, and an optimiser for web delivery. Switching between them breaks focus, loses version history, and produces inconsistent output depending on who's doing the capturing.
SnapForge replaces all three with shell commands that compose. Capture a region, pipe it to the annotator, output to WebP: `snapforge capture --region 100,200,800,600 | snapforge annotate --arrow 400,300,600,400 "click here" | snapforge export --format webp --quality 85 > docs/step-01.webp`. The pipeline is reproducible, scriptable, and version-controllable in shell history.
The annotation layer uses Cairo for vector rendering. Arrows are proper bezier curves with configurable arrowheads. Text labels have a drop shadow by default. The output is rasterised at the capture resolution — no DPI scaling surprises.
I wrote SnapForge because I was documenting an API at work and needed to capture 80 screenshots with consistent annotation style. Doing it with a GUI would have taken two days. The shell scripts I wrote around SnapForge ran in 20 minutes.