Ir al contenido

Abrir el builder

El builder es el tablero visual de tus specs. Hay dos formas de abrirlo, y las dos corren enteras en tu máquina: el mismo lienzo, el mismo servidor y el mismo endpoint MCP.

Desde la carpeta principal de tu proyecto, en una terminal:

Terminal window
npx @juanklagos/sdd-mcp@latest --http

Eso es todo. Se abre el builder, y con él el servidor al que conectas tu agente.

Por qué esta primero:

  • No descargas nada. npx trae la versión publicada en el momento, así que siempre abres la última sin actualizar a mano.
  • Ningún aviso del sistema. No hay archivo que autorizar, porque no hay archivo.
  • Es la ruta que más se usa y la que antes recibe correcciones, al no depender de empaquetar y publicar un binario por sistema operativo.

Lo único que pide: tener Node instalado. Compruébalo con node --version; si responde un número, ya está.

SDD Desk es exactamente el mismo builder empaquetado como app de escritorio: ícono propio, sin terminal, y con Node adentro — útil si no lo tienes instalado o si no quieres dejar una terminal abierta.

A cambio, macOS y Windows te pedirán autorizarla la primera vez, con un aviso que suena alarmante. Son tres clics, una sola vez, y aquí abajo está el paso a paso.

Todas las versiones, con su número y sus cambios, están en la página de releases.

Firmar un programa y publicarlo con licencia abierta son dos cosas distintas, y es fácil confundirlas.

La licencia dice qué puedes hacer con el código. SDD Desk es MIT: puedes usarlo, leerlo, modificarlo, redistribuirlo y venderlo. El código está entero en el repositorio, incluido el que construye estas descargas.

La firma dice quién armó el archivo que descargaste. macOS y Windows no leen licencias: comprueban si un certificado de pago acredita la identidad de quien firmó el binario. Un .dmg MIT sin firmar y uno propietario sin firmar reciben exactamente el mismo aviso.

Así que el aviso no dice que la app esté rota, ni que sea peligrosa, ni que tu sistema haya detectado algo. Dice, literalmente, que el sistema no puede verificar quién la publicó. Que sea correcto sortearlo depende de si confías en la fuente, y para eso está el código a la vista.

Y no está firmada por decisión, no por olvido. Apple cobra 99 USD al año por el certificado que quita el aviso, sin excepción para proyectos abiertos. El proyecto lo mantiene una sola persona y prefirió no atar la herramienta a una cuota anual: el builder en el navegador ya cubre sin fricción a quien no quiera lidiar con esto, y el código está ahí para compilarlo.

Windows sí tiene una vía gratuita para licencias aprobadas por OSI, que MIT cumple, y está pendiente de solicitar. Linux no pide firma de nada.

Abre el .dmg y arrastra SDD Desk a Aplicaciones. Al abrirla por primera vez, macOS dirá que “no pudo verificar que no contenga software malicioso”: eso es lo que dice de cualquier app sin notarizar. Solo hay que autorizarla una vez.

En macOS 15 (Sequoia) o posterior — incluido macOS 26:

  1. Intenta abrirla con doble clic. Saldrá el aviso; pulsa Listo, no “Mover al basurero”.
  2. Ve a Ajustes del Sistema → Privacidad y Seguridad y baja hasta Seguridad.
  3. Verás que SDD Desk fue bloqueada: pulsa Abrir de todos modos y confirma con tu contraseña.

Apple quitó el atajo de clic derecho → Abrir en Sequoia, así que en estas versiones ese camino ya no existe.

En macOS 14 (Sonoma) o anterior: clic derecho sobre la app → Abrir, y confirmar.

En cualquier versión, una sola orden hace lo mismo — úsala solo sobre descargas en las que confíes, porque quita la comprobación que macOS acaba de hacer por ti:

Terminal window
xattr -dr com.apple.quarantine "/Applications/SDD Desk.app"

La app es MIT, como todo el proyecto. Un binario que compilas en tu máquina no viene de internet, así que ningún sistema lo pone en cuarentena y no verás ningún aviso:

Terminal window
git clone https://github.com/juanklagos/spec-driven-development-template.git
cd spec-driven-development-template && npm ci && npm run build
cd builder && npm ci && npm run build && cd ../desk
npm install && npm run dist

El resultado queda en desk/release/. Necesita Node solo para compilar; la app resultante no.

  1. Te pide la carpeta de tu proyecto — una que tenga specs/ o el sidecar spec/. ¿No tienes ninguna? Créala con npx @juanklagos/create-sdd-project@latest .
  2. Se abre el lienzo sobre ese proyecto. Tus archivos en disco siguen siendo la fuente de verdad; la app no los copia a ningún lado.
  3. Recuerda la carpeta. Archivo → Abrir proyecto… cambia a otra sin reiniciar.

Mientras está abierta, la app es el servidor MCP de tu proyecto. En Archivo → Conectar un agente… ves la URL y un fragmento listo para copiar:

{ "mcpServers": { "sdd": { "url": "http://127.0.0.1:3334/mcp" } } }

El puerto es el que la app realmente tomó — se corre al siguiente libre si 3334 está ocupado, y por eso el diálogo te enseña el número real en vez de que lo supongas.

Todo lo que tu agente escriba por ese endpoint aparece en la ventana al instante, sin recargar.

Corre entera en tu máquina. No hay cuenta, ni sincronización, ni un servidor nuestro de por medio — la app abre un puerto en 127.0.0.1 que nada fuera de tu computadora alcanza.

Y no es la única forma de abrir el builder ni la principal: npx @juanklagos/sdd-mcp@latest --http abre el mismo lienzo en tu navegador, sin descargar nada y sin ningún aviso.