Prompt #138
Back to promptsYoga Plugin PLUGIN Dict Registration
- Variables
- plugin_id, plugin_display_name, trigger_signal
- Tags
- stack-aware,yoga,plugin,eda,tenant-isolation
- Source
- research-2026-05-01-stack-aware
- Use count
- 0
- Created
- 2026-05-01T18:30:48.776731+00:00
- Updated
- 2026-05-01T18:30:48.776731+00:00
Content
Create a new yoga plugin using the PLUGIN dict pattern (not TOML).
Yoga plugins use Python dicts, not manifest.toml. Plugin ID format: yoga.{plugin_id}.
Provide:
```python
PLUGIN = {{
"id": "yoga.{plugin_id}",
"name": "{plugin_display_name}",
"version": "1.0.0",
"default_enabled": False,
"signal_subscriptions": {{
"{trigger_signal}": "handlers:on_{trigger_signal}",
}},
"blueprints": ["routes:bp"],
"admin_nav": [{{"label": "{plugin_display_name}", "icon": "extension", "href": "/admin/{plugin_id}"}}],
"db_migrations": {{"v1": "CREATE TABLE plugin_{plugin_id}_data(id INTEGER PRIMARY KEY, ...)"}},
"settings_schema": [{{"key": "plugin.{plugin_id}.enabled", "label": "Enabled", "type": "boolean"}}],
}}
```
Include routes.py and handlers.py stubs. Explain: why `plugin._bootstrap_done` must be checked
before auto-activate to prevent tenant-isolation leakage across containers.