xfetch-effect-api provides the public types and helpers that
effect authors are expected to use.
EffectArgsEffectFrameEffectRequestEffectResponse
read_effect_request()write_effect_frames()
The crate exposes EffectApiError for invalid protocol versions,
unexpected effect kinds, invalid typed arguments, and empty frame
responses.
Effects should write these errors to stderr and exit with a
non-zero code.
- The crate owns the shared wire protocol, not end-user config files.
- Higher-level helpers validate requests before effect logic runs.
- Effects must keep ANSI escape sequences intact when transforming lines (see
xfetch-effects-libin the effects repository).
Official effects live in xfetch-cli/effects:
decrypt and glitch, both built on
xfetch-effect-api.