Local catalogue
Catalogue queries separated from network operations
assetguy library reads the configured database. assetguy sync refreshes it; assetguy search queries Fab’s public catalogue; assetguy download fetches files. This makes each action’s cost explicit. assetguy add requires cached files and, when they are missing, names the download command instead of silently transferring gigabytes.
Thumbnail URLs arrive with metadata, but image files are optional because a terminal does not draw them and a large library can contain gigabytes of pictures. The interface is a CLI first so the underlying behaviour can stabilise before a GUI depends on it.
The catalogue can become stale between synchronisations. I accepted that tradeoff to make query cost predictable and independent of marketplace availability. Missing metadata remains visible: an empty listing does not prove there are no compatible assets.