CLI referenceEveryday pipeline

fetch

Download completed or selected outputs, validate complete PNG or GIF structure, write the manifest-authoritative destinations, populate the content cache, and update output hashes. --tag also pushes manifest tags after successful downloads when the provider supports tagging.

fetch --refresh re-downloads already-downloaded outputs from their durable provider reference and replaces the local file only when the object's bytes changed upstream, after editing it in the provider's own editor, for example. Unchanged objects are reported as such and left alone; a changed object replaces the local file only if that file still hashes to what PixelKiln wrote, so a local hand edit is never overwritten without --force. The lockfile then records the new bytes as this generation. A character's rotations and frames are re-resolved from the character itself first, since PixelLab stamps their URLs with the last edit time and a cache can keep serving an old stamp; a character deleted upstream fails its entry instead of silently keeping the old bytes. Objects with no durable reference (PixelLab pixflux images, for one) are not eligible; use pixelkiln edit for those.

When a style sets enforcePalette, fetch snaps each downloaded PNG to the style's palette before writing it and records the raw hash and the palette on the lock entry. Turning the flag on or off later makes plan report the style's generated entries as recoverable; the next fetch re-applies the rule to the files already on disk from the raw bytes in the content cache, contacting no provider. See Palette enforcement.

After a stale spec is deliberately regenerated, fetch replaces the prior file only if its hash still proves PixelKiln wrote it. A changed or untracked destination is refused; inspect it, then pass fetch --force only when the new provider result should take ownership. gen --force applies the same rule.