01The contract

LifecycleInterface + manifest schema. Drop a plugin in, the loader picks it up. See phlix-plugin-example.

A plugin is two things: a class implementing LifecycleInterface and a manifest that declares its schema version. The loader reads the manifest, resolves the class, and calls the lifecycle hooks. There is no registry to sign up to and no build step.

Interface
LifecycleInterface — the hooks the loader calls
Manifest
Declares the schema version the plugin was written against

02Reference implementation

phlix-plugin-example is a reference metadata-provider plugin and the smallest working starter. Copy it, rename it, replace the provider.

The reference plugin is a metadata provider. Phlix already ships TMDB, TVDB, Fanart.tv and local NFO support with a 24-hour cache, so a new provider slots into an existing pipeline rather than inventing one.

03Write your own

Get the server, then the starter.

The plugin loader is part of phlix-server. Install it, then clone the example.