Stremio is a full-featured media center designed to help you organize and stream your favorite videos, movies and TV series. It will notify you for new episodes / movies, and allow you to find new content through Discover.
Stremio allows, using its Add-ons system, to play movies, TV series and channels instantly.
stremio-core is a rust crate that's designed to contain all the reusable logic between Stremio versions.
types can be used by add-onsContext model to manage the user authentication/addons, using it as a backbone to the entire Stremio apptypesaddon_transport - handles communication with add-ons, implements legacy protocol adapterstate_types: types that describe application state; inspired by the Elm architectureruntime: helps using stremio-core in an application by handling the effects automaticallyenvironment: a trait describes the environment (fetch, storage)msg: messages: actions, eventsmodels: all stateful models, such as Context (handling user authentication, add-ons), Library, CatalogFiltered, etc.cargo clippy
cargo fmt
WASM output binary can get large, especially if we derive Serialize/Deserialize in places we don't need to
We can optimize it by running twiggy: twiggy top ..._bg.wasm and seeing what the biggest code size offenders are
Defining actions and what middleware requests they should trigger is defined in src/state_types/msg/actions
$ claude mcp add stremio-core \
-- python -m otcore.mcp_server <graph>