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
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.
el sistema
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
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
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
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
La misma operación, proyectada a tres puertas distintas —
coa, MCP, HTTP. Elige una y mira qué cambia.
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
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 crear:tarea --titulo=… --yes
Elige una puerta para proyectar.
tools/call · crear:tarea
Elige una puerta para proyectar.
POST /crear/tarea
Elige una puerta para proyectar.
| Superficie | Confirm | Scopes aplicados |
|---|---|---|
| coa | flag --yes | no (local/confiable) |
| MCP | gate heredado (tool-runtime) | sí (PolicyGate) |
| POST | token 428→201 | no (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.
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.
milpa/command: getmilpa-command/src/Operation.php, CommandProvider.php, SurfaceProjector.php.skeleton, ns App\Command, no parte del paquete): getmilpa-skeleton/src/Command/{CliProjector,McpProjector,HttpProjector}.php.ConfirmTokenStore.php (in-memory, single-process — no producción), SchemaCoercer.php.docs/GUION-WEBINAR-JUNIORS.md (Artifact 2).el ecosistema
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
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
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
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
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
Artifacts interactivos de arquitectura, para humanos y agentes — código real corriendo en el navegador, no diapositivas.
la raíz
Yo no sé de computadoras — pero sí sé de carros. Si compras uno, vale la pena aprender a arreglarlo.
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
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