mod.hello-world — Módulo de referencia¶
Community · Categoría example (desactivable)
Qué hace¶
Módulo de ejemplo y plantilla de partida para crear módulos nuevos. Demuestra los cuatro elementos del contrato:
- Un manifest válido parseado con
parseModuleManifestdel core-kernel. - Los cuatro lifecycle hooks (
onRegister,onEnable,onDisable,onUninstall), con comentarios de qué haría un módulo real en cada uno. - Un service de dominio (
HelloWorldService) que recibe elModuleContexty consumeeventBusei18n. - Una suite de tests de contrato que registra el módulo en un
ModuleRegistryreal y lo verifica end-to-end.
Cómo usarlo¶
El procedimiento para arrancar un módulo nuevo: copiar la carpeta, renombrar name/tablePrefix/apiNamespace/permisos, escribir el dominio, implementar el lifecycle y actualizar los tests — la guía completa está en Crear un módulo.
Las reglas de aislamiento que todo módulo respeta —no importar código de otro módulo, no tocar tablas ajenas con Prisma, no modificar el core para features propias y no emitir eventos sin declararlos— están recogidas en Crear un módulo → Las reglas de oro.
Configuración¶
Ninguna propia: ni variables de entorno, ni ajustes en el panel, ni capabilities Enterprise. Como módulo no-core (categoría example), viene registrado en la instancia y aparece con su interruptor en Administración → Marca y ajustes → Configuración, pestaña «Módulos» (/admin/configuracion?tab=modules), donde un admin puede activarlo o desactivarlo por tenant — su única superficie visible.
Uso paso a paso¶
Es una plantilla para desarrolladores; el flujo es de código, no de panel:
- Copia la carpeta
modules/hello-world/comomodules/<tu-slug>/. - En
src/manifest.ts, renombraname,displayName,tablePrefix,apiNamespacey los permisos. - Sustituye
HelloWorldServicepor tus services de dominio e implementa los cuatro lifecycle hooks desrc/index.tscon trabajo real (migraciones enonEnable, limpieza enonDisable…). - Actualiza
module.jsony adapta la suitetests/contract.test.tsa tu módulo. - Regístralo en el
registry.register([...])deapps/api/src/modules/module-registry.service.tsy sigue el resto de la guía Crear un módulo. - Para verlo en marcha, entra en
/admin/configuracion?tab=modules: «Hello World» aparece listado con su interruptor, igual que aparecerá tu módulo.

Datos, API y eventos¶
- Declara
tablePrefixpero no crea tablas (no las necesita). - Declara
apiNamespace /modules/hello-worldpero no expone endpoints reales. - Declara el evento
hello-world.greeting.requestedy el permisohello-world.greeting.readcomo ejemplo del contrato.