ForgeNEX · Documentación
Módulos externos

manifest.json

El manifiesto describe qué es el módulo y qué superficies registra. Debe ser válido, legible y suficiente para que una persona pueda revisar el alcance antes de instalarlo.

El manifiesto describe qué es el módulo y qué superficies registra. Debe ser válido, legible y suficiente para que una persona pueda revisar el alcance antes de instalarlo.

Ejemplo mínimo ampliado

{
  "slug": "reservas_demo",
  "name": "Reservas Demo",
  "version": "1.0.0",
  "description": "Gestiona solicitudes de reserva relacionadas con clientes.",
  "icon": "calendar",
  "views": [
    {
      "id": "reservas.list",
      "title": "Reservas",
      "file": "views/list.php",
      "menu": "CRM",
      "order": 120,
      "permissions": ["reservas.read"]
    }
  ],
  "actions": [
    {
      "id": "reservas.create",
      "view": "reservas.list",
      "file": "actions/create.php",
      "permission": "reservas.write",
      "methods": ["POST"]
    }
  ],
  "mounts": ["client.profile.panels"],
  "depends_on": [],
  "conflicts_with": [],
  "suggests": [],
  "provides": ["reservas"],
  "consumes": ["clients", "calendar"],
  "automation_nodes": [],
  "agent_api": {
    "version": 1,
    "base_path": "/api/v1/agent/modules/reservas_demo/"
  }
}

Campos principales

CampoUso
slugIdentificador estable del paquete.
nameNombre visible para las personas.
versionVersión compatible con SemVer.
descriptionResumen breve de la responsabilidad del módulo.
iconIcono permitido por el catálogo del CRM.
viewsPantallas y sus permisos de lectura.
actionsOperaciones, vista de origen, archivo, permiso y métodos admitidos.
mountsPuntos del CRM donde se inyecta UI o contexto.
depends_onMódulos necesarios para funcionar.
conflicts_withMódulos que no pueden coexistir.
suggestsIntegraciones opcionales recomendadas.
provides / consumesCapacidades que ofrece o utiliza.
automation_nodesNodos que el módulo aporta al motor de automatización.
agent_apiContrato opcional para agentes autorizados.

Buenas prácticas

  • Declara solo permisos que realmente uses.
  • Mantén los identificadores estables entre versiones.
  • Evita dependencias circulares.
  • Explica en el README qué datos crea y qué servicios externos necesita.
  • No guardes secretos en el manifiesto.
  • Si cambias una vista, acción o mount, documenta la compatibilidad y el impacto.

En esta página