05Plugins
A versioned manifest contract, one interface to implement, and a directory to drop the result into. Nothing more.
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
-
01
Implement LifecycleInterface
The interface lives in phlix-shared, the Composer package that carries the shared interfaces, DTOs and event types.
-
02
Ship a manifest
The manifest declares the schema version the plugin was written against, so the loader can refuse an incompatible one instead of failing at runtime.
-
03
Drop it in the plugins directory
The loader picks it up. See the developer documentation for the hook reference.