Saltar a contenido

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: operations
  • moduleId: template
  • Dashboard template-list con tabla apuntando a GET /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í

  1. Copia el repo cortex-plugin-templatecortex-plugin-{id}.
  2. Renombra el paquete Python y el entry point.
  3. Añade submódulo en cortex-hive/plugins/{id}.
  4. Completa docs/ con dominio propio.

Flujo git: Repositorios y submódulos.