Anatomía del template¶
Recorrido archivo por archivo de plugins/_template/.
pyproject.toml¶
- Nombre del paquete:
cortex-plugin-template - Entry point:
template = "cortex_plugin_template:create_plugin" - Dependencias:
cortex-core,cortex-framework,fastapi
cortex_plugin_template/__init__.py¶
Reexporta lo que el loader invoca:
from cortex_plugin_template.plugin import create_plugin
from cortex_plugin_template.resources import register_resources
__all__ = ["create_plugin", "register_resources"]
plugin.py¶
| Pieza | Valor en el template |
|---|---|
plugin_id | template |
| Prefijo REST | /api/v1/template |
| Rutas | GET /info, GET /items, GET /items/{id} |
stateless | True (fixtures en memoria) |
store.py¶
Carga fixtures y expone list_items() / get_item(). Sustituir por persistencia PostgreSQL + Alembic en plugins reales.
resources.py¶
Registra un módulo en el namespace operations:
panelId:operationsmoduleId:template- Dashboard
template-listcon tabla apuntando aGET /api/v1/template/items
El framework llama a ensure_panel("operations") al registrar.
tests/¶
Pruebas con create_test_app(enabled_plugins="template"). Ver Checklist CI/TDD.
Crear tu plugin desde aquí¶
- Copia el repo
cortex-plugin-template→cortex-plugin-{id}. - Renombra el paquete Python y el entry point.
- Añade submódulo en
cortex-hive/plugins/{id}. - Completa
docs/con dominio propio.
Flujo git: Repositorios y submódulos.