Litestar Plugins
Use this skill for plugin composition, first-party plugin setup, plugin protocol authoring, and app startup wiring.
Code Style Rules
- Prefer first-party Litestar plugins where they exist.
- Keep plugin configuration near app setup or settings modules.
- Use
InitPluginfor reusable app initialization; keep protocol names for legacy code and non-init hooks. - Keep domain routes and plugin lifecycle concerns separated.
Quick Reference
- Plugin patterns: plugins.md
- Pair with litestar-autowire for domain-package controller and listener discovery.
- Pair with focused first-party plugin skills when available.
Workflow
- Identify whether the task is app composition or plugin authoring.
- Use existing first-party plugins before custom glue.
- Register plugins in app setup with settings-backed config.
- Test startup, shutdown, CLI, or schema behavior touched by the plugin.
Guardrails
- Do not hide route logic inside plugin setup.
- Do not add a custom plugin where a plain provider or middleware is enough.
- Do not scatter plugin config across unrelated modules.
- Do not bypass first-party plugins for common integrations.
Validation Checkpoint
- Plugin config is settings-backed when environment-specific.
- Startup and shutdown behavior are covered.
- Plugin protocols match the integration point.
- App setup remains readable.
Example
from litestar import Litestar
from litestar_autowire import AutowireConfig, AutowirePlugin
app = Litestar(
plugins=[
AutowirePlugin(
AutowireConfig(domain_packages=["app.domain"]),
)
],
)
References Index
- plugins.md
Official References
- https://docs.litestar.dev/ - Litestar documentation
- https://docs.litestar.dev/latest/reference/ - Litestar API reference