EN Instalar

Un módulo es un archivo.

Un módulo es una función nueva para MADRE, escrita en un solo archivo. No hay que compilar, instalar paquetes ni registrarse: escribes un .mjs —o se lo pides a tu IA—, lo copias a una carpeta y aparece en MADRE con su interruptor.

Basado en docs/SDK.md · MADRE 0.4.1

Empezar

De cero a tu comando, en tres pasos.

  1. Copia el archivo

    A ~/.pulse/modules/ para todas tus salas, o a .madre/modules/ dentro de un proyecto para ese proyecto nada más.

  2. Recarga

    En la sala, MODULES → RELOAD MODULES. Si algo falla, la tarjeta dice el archivo y la línea exacta.

  3. Úsalo

    Enciéndelo con su interruptor y escribe /tu-comando. Cambias el archivo, recargas y listo: sin reiniciar la sala.

hello.mjs
export default {
  id: 'hello',            // kebab-case
  name: 'HELLO',
  summary: 'Qué hace, en una frase.',
  settings: { enabled: false, greeting: 'hola' },
  async status(ctx) {
    return { status: { installed: Boolean(ctx.settings.enabled), detail: ctx.settings.enabled ? 'on' : 'off' } };
  },
  slash: [{
    name: 'hello',
    usage: '/hello [name]',
    summary: 'Saluda.',
    async execute(ctx, args) {
      return { ok: true, title: 'HELLO', text: `${ctx.settings.greeting}, ${args[0] ?? 'crew'}` };
    },
  }],
};
Un módulo completo. Un interruptor, un ajuste y el comando /hello. El ejemplo entero, comentado, está en el repositorio. Ver hello-module.mjs

Capacidades

Lo que un módulo puede hacer.

Declaras lo que necesitas y MADRE se encarga del resto.

  • Comandos en la sala. Tus comandos con / corren en el servidor y responden como tarjeta, que leen tú y los agentes.

  • Herramientas para los agentes. Dale a un agente herramientas extra (servidores MCP) solo durante su turno, aisladas del resto, y MADRE le explica qué recibió.

  • Ajustes sin dibujar nada. Declara selectores, interruptores y campos: MADRE los pinta en la ficha y los guarda en tu configuración.

  • Direcciones propias. Tu módulo puede responder en sus propias direcciones web (rutas HTTP), siempre bajo /api/x/tu-módulo/.

  • Escuchar la sala. Se entera de todo lo que pasa en la sala —cada mensaje, cada turno— y puede reaccionar.

  • Versiones al día. Si tu módulo usa un programa externo, MADRE vigila su versión y te muestra el comando para actualizarlo antes de ejecutarlo.

  • Diagnóstico. Enseña a MU/TH/UR a reconocer problemas nuevos y cómo resolverlos en cada sistema.

  • Compartirlo. Publica tu archivo: quien lo use recibe GET A NEWER FILE, y MADRE verifica la copia nueva antes de reemplazar la instalada.

La ficha

Tú declaras; MADRE arma la tarjeta.

Todas las fichas de MODULES tienen las mismas cinco partes, en el mismo orden. Por eso la de tu módulo se lee igual que las de los que vienen con MADRE.

  1. Quién es

    Nombre, estado ON u OFF, autor, versión y el botón para buscar una más nueva.

  2. Qué hace

    Una frase. No tres.

  3. Qué toca

    Lo que escribe y lo que necesita, plegado, con su número al lado.

  4. Ajustes

    Tus selectores, interruptores y campos.

  5. El interruptor

    Instalar, encender o apagar. Solo, y siempre abajo.

Con tu IA

Que la sala construya su propio módulo.

Con el permiso #2 CREATE o uno mayor, pídele a un agente el módulo que necesitas. Él lo escribe; tú decides si se instala.

  1. Lo pides

    «Crea un módulo que prepare mis correos para revisarlos.» El agente ya sabe dónde están la guía y el ejemplo.

  2. Lo escribe

    Un solo archivo, <id>.module.mjs, en su carpeta de borrador. Nunca en tus carpetas de módulos.

  3. Lo revisas

    MADRE lo reconoce y pone una tarjeta en la sala: INSTALL FOR EVERY ROOM o INSTALL FOR THIS PROJECT.

  4. Lo instalas

    Un clic. MADRE lo valida en una copia aparte y aparece en MODULES con la etiqueta DEV.

Reglas de la casa

Lo que hace a un buen módulo.

  • Nada sale solo. Si tu módulo habla con un servicio, lo dice en su ficha y lo hace solo cuando la persona lo pide.

  • Sin credenciales. Usa las sesiones que ya viven en la máquina; no guarda llaves.

  • No escribe en el proyecto. Para eso están los modos de los agentes. Si instala algo, enseña el comando antes de correrlo.

  • Falla suave. Un error nunca rompe el turno de un agente: la tarjeta lo dice y la sala sigue.

  • Habla como MADRE. Rótulos cortos en mayúsculas y notas que dicen qué no sale de la máquina.

  • Se quita igual de fácil. Un módulo tuyo se quita desde su tarjeta y se borra su archivo. Los que vienen con MADRE se apagan.

Dicho claro

Un módulo corre con tus permisos.

MADRE comprueba que cargue y que no se salga de su corral. Lo que el código pretende, solo lo puedes comprobar tú: instala solo lo que leíste.

Sus rutas viven bajo /api/x/<id>/.
Uno que intente otra no carga: ninguno suplanta una ruta de MADRE.
No toma el id de otro.
Ni de un módulo integrado ni de uno ya cargado.
No fabrica turnos ni mensajes.
El registro rechaza los tipos de evento reservados.
No recibe credenciales.
Igual que MADRE, usa las sesiones de la máquina.

Pruébala en un proyecto que ya conoces.

npx @jossuealcala/madre start

Volver a MADRE