Menú

ecosistema de software modular · para humanos y agentes · contract-first

Siembra módulos, cosecha aplicaciones.

milpa: la parcela donde los cultivos crecen juntos

Una milpa no es un cultivo: es un sistema. Módulos que crecen juntos y se alimentan entre sí — sobre un núcleo determinista, con contratos que los protegen.

Explora getmilpa
publicado en Packagist + npm Apache-2.0 el campo está sembrado
la milpa germina al hacer scroll

el sistema

Policultivo, no monocultivo

Las tres hermanas — maíz, frijol y calabaza — crecen juntas y se alimentan entre sí. Agricultura determinista y cultivada: orden que produce abundancia. Eso es el framework.

maíz · el núcleo

Kernel determinista

El tallo que sostiene todo. Un core pequeño, predecible y aburrido a propósito: la abundancia crece encima de él, no adentro.

milpa/core · cero dependencias — solo contratos y primitivas

frijol · los módulos

Plugins que trepan el tallo

Módulos que se conectan por eventos y componen entre sí. Fijan nitrógeno: cada uno alimenta al sistema entero.

provides / requires en milpa.json — los proveedores cargan antes que los consumidores

calabaza · los contratos

Gobernanza que protege

Cubre el suelo: contratos legibles por máquina que validan cada pieza. Nada se siembra sin uno.

*.contract.json · validado al arrancar, gateado en CI

ninguna capa finge.

demo en vivo

Un átomo, tres puertas — pruébalo

La misma operación, proyectada a tres puertas distintas — coa, MCP, HTTP. Elige una y mira qué cambia.

Artifact 09 Ingeniería · inspeccionar

El átomo y sus puertas

Una operación se declara una vez. coa, MCP y HTTP son adaptadores del mismo handler — pero cambiar de puerta puede cambiar la política.

crear:tarea

  • mutating
  • requiresConfirmation
  • scopes: tarea:crear
  • handler: TaskService::create

Hueco de cobertura honesto: Esto no es una garantía deseable de HTTP. Es una radiografía de la implementación actual. MCP aplica scopes hoy; HTTP todavía no lee scopes de Operation. Este hueco debe cerrarse en runtime/policy antes de producción. Ver Radiografía del runtime. Fuente: Operation.php.

coa · CLI

coa crear:tarea --titulo=… --yes

resolver

validar

autorizar

ejecutar

auditar

Elige una puerta para proyectar.

MCP · agente

tools/call · crear:tarea

resolver

validar

autorizar

ejecutar

auditar

Elige una puerta para proyectar.

POST · HTTP

POST /crear/tarea

resolver

validar

autorizar

ejecutar

auditar

Elige una puerta para proyectar.

Garantías por superficie
SuperficieConfirmScopes aplicados
coaflag --yesno (local/confiable)
MCPgate heredado (tool-runtime) (PolicyGate)
POSTtoken 428→201no (pendiente · middleware)

El handler nunca cambió. Cambiaste de puerta y el framework sintetizó la invocación — pero la puerta puede cambiar la política, y hoy no todas aplican los mismos scopes.

Evidencia y alcance

Modelo didáctico sobre implementación auditada. Este artifact no afirma que HTTP aplique scopes ni que el token store in-memory sea de producción.

Fuentes auditadas

  • Contrato publicado milpa/command: getmilpa-command/src/Operation.php, CommandProvider.php, SurfaceProjector.php.
  • Proyectores de referencia (skeleton, ns App\Command, no parte del paquete): getmilpa-skeleton/src/Command/{CliProjector,McpProjector,HttpProjector}.php.
  • Stand-ins didácticos: ConfirmTokenStore.php (in-memory, single-process — no producción), SchemaCoercer.php.
  • Semilla junior: docs/GUION-WEBINAR-JUNIORS.md (Artifact 2).

→ la lección completa en la Academia

el ecosistema

Una milpa, cinco parcelas

Cada pieza del ecosistema tiene su terreno y su papel — y todas se alimentan entre sí. Ninguna promete de más: lo sembrado está publicado; lo que germina, lo dice.

el framework · getmilpa.com

Un campo que sigue creciendo

PHP modular para dos tipos de caller: humanos y agentes sobre la misma superficie declarada. Del core sin dependencias a las composiciones — runtime, tools, MCP, workflow, orquestación — y se siembran hileras nuevas todo el tiempo.

el design system · @milpa/design

La primera cosecha

68 piezas, cada una con su contrato legible por máquina; 193 pares WCAG AA verificados en CI; theming por contrato — hasta glass — sin tocar la estructura.

la herramienta · coa

El bastón plantador

La CLI con la que se siembra: inspecciona, valida, diagnostica y genera — determinista primero, con respuestas legibles por máquina, para que humanos y agentes trabajen sobre los mismos rieles.

el marketplace · milpahq.com

Germinando

Bundles de plugins que forman aplicaciones — compatibilidad por contrato, solo metadata. El registro llegará cuando el campo esté listo; primero se cimienta, después se escala.

la escuela · academy.milpa.lat

Donde el campo enseña

Artifacts interactivos de arquitectura, para humanos y agentes — código real corriendo en el navegador, no diapositivas.

la raíz

Por qué Milpa es Milpa

Yo no sé de computadoras — pero sí sé de carros. Si compras uno, vale la pena aprender a arreglarlo.

Mi papá, pagándome mi primer curso de ensamblaje agricultor · San Francisco del Mar, Oaxaca, México

Fue el primero de su región en apostarle al mango donde todos sembraban sorgo o se dedicaban a la pesca. Yo mismo sembré los primeros injertos, a los doce años, con una coa — el escarbahoyos: raíz dura abajo para aguantar más fruta, la rama que da injertada encima. Años después, el tiempo le dio la razón — veinte hectáreas de mango ataulfo y tommy.

Eso es este framework, si lo miras bien. Una raíz determinista que sostiene. Módulos injertados encima que dan el fruto. Una CLI con el nombre de la herramienta que sembró lo real. Y su lección como el contrato debajo de todo: lo que es tuyo, debes poder entenderlo y repararlo.

Milpa no promete ahorrarte pensar; promete enseñarte a pensar mientras construyes.

Él nunca vio este framework. El campo del que crece es suyo.

— Rodrigo Vicente · creador de Milpa

la primera siembra

Cosecha tu primera app

Un core PHP modular, módulos por eventos, contratos en la raíz — publicado en Packagist, Apache-2.0. Pre-1.0 y honesto: el campo está sembrado, y crece a la vista de todos.

$ composer create-project milpa/skeleton mi-app

cada error, un link a lo que rompiste · próximamente