By: Michael Lynch <git@mtlynch.io>
Move tinybeans package and file I/O logic into importers/ subtree Splits the 465-line cmd/import-from-tinybeans/main.go into focused packages so the binary is a thin CLI orchestrator: - importers/tinybeans/ (moved from tinybeans/): Tinybeans parse + convert logic; import paths updated throughout. - importers/media.go: MediaWriter interface, LocalWriter, Entry struct, ImportMedia(), and GIF-to-AVIF conversion helpers. - importers/images.go: GenerateAndWriteSquareThumbnail() and GenerateAndWriteResized(). - cmd/import-from-tinybeans/main.go: reduced to main(), parseAndConvert(), and writeMetadataToDB() (~175 lines, down from 465). Also removes the dead entryType/convertGIFToAnimatedAVIF fields from the old importEntry struct; ImportMedia now infers GIF conversion from ConvertedType == MediaTypePhotoAnimated directly. Also fixes a pre-existing staticcheck lint error in cmd/app/main.go (== false comparisons). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>