Hooks roadmap

Every plugin hook type and where to read how it works.

Plugin API v8. All hooks listed as available ship today in v7.

HookStatusSummaryMixin role
config.loadedavailableRead-only notification when config YAML is parsed.Observe before plugins load; validate or log config.
plugin.loadedavailableFires after each plugin finishes init.Coordinate between plugins; detect dependencies.
daemon.starting / started / stoppingavailableStartup and shutdown lifecycle markers.Warm caches, bind integrations, graceful teardown.
json.responseavailableMutate full JSON response objects.Mixin layer on response body — add/remove/rename fields.
json.actionsavailableMutate the top-level actions array.Mixin layer on panel wizard steps.
config.mutateavailableRewrite config YAML bytes before FeatherFly applies settings.Mixin on config load — inject defaults, strip keys, env-specific overrides.
request.interceptavailableRun before an HTTP handler; inspect method, path, headers.Mixin on inbound requests — auth plugins, rate limits, audit logging.
route.registeravailableLet plugins expose new HTTP routes through the daemon router.Extend the API surface without forking FeatherFly.
middleware.injectavailableInsert Axum middleware layers from plugins.Cross-cutting concerns (tracing, CORS overrides) as plugins.
cloudpanel.commandavailableInspect, mutate, or cancel CloudPanel CLI command args.Mixin on CloudPanel operations — policy, defaults, audit.

Documentation: config · request · routes · JSON · lifecycle