Skip to content

Repository files navigation

XFetch bannerAPI

Shared crates for the xfetch ecosystem.

Today this repository contains the public plugin SDK used by the core, official plugins, and third-party plugin authors.

Current Scope

  • crates/plugin-api: shared protocol crate for xfetch plugins.
  • crates/extension-api: shared protocol crate for xfetch extensions (config providers).
  • crates/effect-api: shared protocol crate for xfetch effects (intro animations over the info lines).
  • docs/: focused documentation for setup, protocol, SDK usage, and examples.

Main Crate

The first public crate in this repository is xfetch-plugin-api.

  • Defines the wire protocol used between xfetch and plugins.
  • Provides typed helpers for reading requests and writing responses.
  • Exposes a stable base for official and third-party plugin development.

Effect API

crates/effect-api (xfetch-effect-api) is the contract for effects: installable intro animations. The core renders the info lines and sends them to an effect binary (xfetch-effect-<name>); the effect returns a sequence of frames (delay + transformed lines) that the core plays before settling on the final content. Effect implementations are collected in the xfetch-cli/effects repository (the reference decrypt effect lives there).

  • Request carries the rendered lines plus style, duration_ms, fps and free-form args.
  • Response is a non-empty list of EffectFrame { delay_ms, lines }.
  • Effects are opt-in: a missing binary or invalid response simply skips the intro (no behavior change).

Documentation

Notes

  • This repository owns shared contracts, not end-user config files.
  • Official plugins are expected to use the same public SDK as external plugins.
  • Protocol changes should land here first and then be adopted by the core and plugin repos.

About

xfetch API, created for developers and plugins

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages