Cohete Skeleton: lo que tienes al clonar en 2026


17 de marzo de 2026

Si tuvieras que empezar un proyecto web hoy, que necesitas?

Un servidor HTTP. Una API. Una base de datos. Un bus de mensajes para domain events. Un frontend. Y en 2026, que tu agente de IA pueda hablar con tu app directamente.

Cohete Skeleton te da todo eso con composer install y php src/bootstrap.php. Un proceso. Un event loop. Cero configuracion.

Que es Cohete

Un framework PHP async construido sobre ReactPHP. No es Laravel. No es Symfony. No hay PHP-FPM, no hay Apache, no hay request lifecycle. Es un proceso PHP que no se apaga. Sirve HTTP, habla con MySQL, escucha RabbitMQ y expone MCP – todo en el mismo event loop.

Si vienes de Node.js, esto te resulta familiar. Si vienes de PHP tradicional, esto cambia las reglas.

Que viene en el skeleton

Clonas, instalas, arrancas. Esto es lo que tienes:

API REST completa

Un CRUD de Todos con 6 endpoints. No es un ejemplo trivial – usa DDD real:

Cada controller devuelve PromiseInterface. No hay bloqueo. La base de datos responde cuando puede, y el server sigue sirviendo otras requests mientras tanto.

Infraestructura intercambiable

Sin archivo .env: todo corre in-memory. Zero dependencias externas.

Con MYSQL_HOST en .env: cambia a MySQL async via react/mysql. Misma interfaz, mismo dominio, diferente almacenamiento.

Con RABBITMQ_HOST en .env: los domain events viajan por AMQP en vez de en memoria. Multiples consumers, persistencia, procesamiento distribuido.

El dominio no cambia. Solo se sobreescribe la implementacion en el container DI. En bootstrap.php:

if ($useRabbit) {
    $definitions[MessageBus::class] = static fn () => new BunnieMessageBus([...]);
}
// Sin RABBITMQ_HOST: ReactMessageBus in-memory (framework default)

Tres lineas. Infraestructura intercambiable.

Frontend con Web Components

El skeleton incluye un frontend funcional. No React. No Vue. No build step. No webpack.

Dos Web Components nativos con Shadow DOM y ES modules:

El middleware de static files del framework sirve public/ automaticamente. Un <script type"module">= y listo.

MCP: tu agente habla con tu app

Esto es lo que diferencia a Cohete en 2026.

El skeleton viene con MCP (Model Context Protocol) integrado. Dos transportes:

stdio (desarrollo local)

Tu agente (Claude Code, Cursor) ejecuta php src/mcp-server.php como subproceso. Acceso directo al dominio via stdin/stdout.

SSE/HTTP (integrado en el server)

El mismo servidor HTTP que sirve la API y el frontend tambien sirve MCP via Server-Sent Events. GET /mcp/sse abre el stream, POST /mcp/message recibe los comandos JSON-RPC.

Conectar Claude Code:

claude mcp add my-app --transport sse http://localhost:8080/mcp/sse

Una vez conectado, el agente tiene 5 tools:

Tool Que hace
list_todos Lista todos los todos
get_todo Busca por UUID
create_todo Crea un nuevo todo
update_todo Actualiza titulo/completado
delete_todo Borra un todo

Lo importante: el agente crea un todo via MCP, tu lo ves en el navegador inmediatamente. Mismo proceso, misma memoria, mismo event loop. No hay sincronizacion, no hay polling, no hay cache invalidation. Es el mismo estado.

Anadir una tool nueva es una funcion PHP con un atributo:

#[McpTool(name: 'my_tool')]
public function myTool(string $param): array
{
    return await($this->repository->doSomething($param));
}

php-mcp/server genera el schema JSON automaticamente por reflexion de los parametros.

Lo que NO es

Los numeros

Para quien es

Como empezar

git clone https://github.com/pascualmg/cohete-skeleton
cd cohete-skeleton
composer install
php src/bootstrap.php

Abre http://localhost:8080. Tienes un todo app funcionando.

Conecta tu agente al MCP. Crea todos desde la IA. Velos en el navegador.

Lee el CLAUDE.md – es la guia completa para que cualquier agente de IA sepa construir con Cohete desde el primer momento.

El codigo esta en GitHub. MIT. Feedback bienvenido.

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario