Qué es y por qué importa
Con Claude te hiciste una herramienta tuya, y cada mañana es el mismo ritual: abres el terminal, arrancas el servidor (el programa que hace funcionar la app en tu ordenador), buscas la pestaña correcta en el navegador. Y si cierras el terminal sin querer, se apaga todo.
app-it es un proyecto gratuito y open source (licencia MIT) que se añade a Claude Code y convierte ese proyecto en una app del Mac, con su icono en el Dock y su ventana. Doble clic: la app arranca el servidor sola y abre una ventana nativa (WebKit, el motor de Safari). Con ⌘Q apagas también el servidor y liberas el puerto (el número, tipo 5173, en el que responde).
No reescribe tu app: añade unos cuantos archivos y te deja un informe para volver atrás. Es un proyecto no oficial de un desarrollador independiente, no de Anthropic. Y es para uso tuyo: no sirve para publicar la app en la App Store ni para venderla.
1. Qué necesitas antes
- Un Mac. En la práctica app-it es solo para macOS: la rama para Windows aún es experimental y no la recomiendo.
- Las Xcode Command Line Tools, las herramientas de desarrollo de Apple, que hacen falta para construir la ventana. Si no las tienes: escribe xcode-select --install en el Terminal.
- Lo que tu proyecto ya usa para arrancar, instalado y funcionando: por ejemplo Node y sus dependencias (npm install ya hecho). app-it no instala nada por ti.
- Claude Code, abierto en la carpeta del proyecto.
La prueba más sencilla: si hoy arrancas el proyecto a mano desde el terminal y funciona, estás listo. Si a mano no arranca, app-it no lo arregla: primero soluciona eso.
2. Añádelo a Claude Code
app-it es un plugin, o sea, un paquete de instrucciones y scripts para Claude Code. No está en el marketplace oficial de Anthropic sino en el del proyecto, en GitHub: primero añades ese y luego instalas el plugin. Dentro de una sesión de Claude Code:
- Escribe /plugin marketplace add Christian-Katzmann/app-it. Añades el catálogo del proyecto (el repositorio es github.com/Christian-Katzmann/app-it).
- Escribe /plugin install app-it@app-it. No instala enseguida: te abre la ficha del plugin con lo que añade. Léela y luego elige dónde instalarlo (para ti, en todos los proyectos, va perfecto).
- Si Claude Code te lo pide, escribe /reload-plugins. Desde el terminal los mismos pasos son claude plugin marketplace add y claude plugin install.
Vale para cualquier plugin de terceros: lee lo que instalas, porque puede ejecutar scripts en tu ordenador. El código de app-it es público y el proyecto dice que no sube nada a internet ni recoge datos.
3. Lanza /app-it en el proyecto
Abre Claude Code en la carpeta del proyecto y escribe /app-it (el nombre completo es /app-it:app-it). Mira el proyecto, elige cómo construir la app, la construye, la instala y la prueba. Yo se lo escribo así:
/app-it Convierte este proyecto en una app del Mac con su propio icono. No toques la lógica de la app. Al final explícame el informe con palabras sencillas: qué tipo de proyecto has encontrado, en qué puerto funciona, qué icono has usado, qué archivos has añadido y cómo se quita todo. Dime también qué tengo que comprobar yo a mano.
La última línea cuenta: Claude comprueba solo que el servidor responde y que ⌘Q lo apaga, pero la ventana y el icono del Dock los miras tú.
Qué añade a tu proyecto
- Una carpeta scripts/ con los scripts para construir, instalar y cerrar la app, y el archivo scripts/app-it.config.json con el nombre, el puerto y el comando de arranque.
- Un icono en assets/, el que encuentra en el proyecto o uno provisional generado en tu Mac.
- En el package.json, los comandos desktop:build, desktop:install, desktop:quit, desktop:doctor y desktop:verify.
- docs/desktop-launcher.md, las instrucciones breves, y docs/desktop-launcher.app-it-report.md, el informe con cada cambio.
4. Úsala cada día
- Primer arranque: si macOS no la abre, clic derecho en el icono, Abrir, y confirma. El primer arranque es más lento, porque el servidor tiene que empezar de cero.
- Cerrar la ventana con ⌘W o con el botón rojo no apaga el servidor: sigue encendido, así la próxima vez se vuelve a abrir enseguida. Para apagarlo todo y liberar el puerto hace falta ⌘Q, o Salir en el menú del icono en el Dock.
- Si el puerto preferido está ocupado, normalmente la app coge uno libre un poco más arriba y lo apunta en el archivo ~/Library/Application Support/app-it/<nombre-app>/server.port.
- La app hace funcionar el servidor desde la carpeta del proyecto, y recuerda dónde está. Si la mueves o la borras, la app deja de funcionar: vuelve a ponerla donde estaba, o repite /app-it en el sitio nuevo.
Un truco: arrastra la carpeta ~/Applications/App It/ a la derecha del Dock. Se convierte en una pila, y cada app que crees después aparece ahí sola. Para una revisión, o para cambiar el icono:
Revisa la app que has creado con app-it. Lanza npm run desktop:doctor y dime con palabras sencillas: en qué puerto funciona de verdad el servidor, si el icono instalado es el correcto y si hay algo que arreglar. Luego usa como icono esta imagen: [ruta de la imagen], vuelve a construir y a instalar la app. No toques el código de la app.
5. Cuando la app está terminada: app-it-static
app-it mantiene encendido el servidor de desarrollo: cómodo mientras trabajas en ello, pero pesa en la memoria del Mac. Para una herramienta terminada hay un hermano más ligero en el mismo marketplace, app-it-static: construye la app una vez (la build, la versión final de los archivos) y sirve eso. Misma ventana, misma pila en el Dock.
Se instala con /plugin install app-it-static@app-it y se lanza con /app-it-static. El límite que hay que saber: muestra una foto fija de la build. Si luego cambias el código, la app no lo ve hasta que lances npm run desktop:rebuild.
/app-it-static Este proyecto está terminado: quiero una app del Mac ligera que sirva la build, sin servidor de desarrollo. Antes de empezar dime qué comando de build vas a usar y en qué carpeta acaba el resultado, y espera mi ok.
Extra: una app que ya está online, como un Artifact de Claude
app-it también puede meter una dirección web en una ventana del Dock, como un Artifact de Claude publicado. La ventana carga el enlace, entras con tu cuenta y el uso queda en tu plan. Dale a Claude el enlace publicado, no el código copiado.
6. Cómo volver atrás
Todo lo que añade app-it se puede quitar, y el informe dice qué. Que lo haga Claude partiendo de ahí, mirando antes la lista.
Quiero quitar app-it de este proyecto. Lee docs/desktop-launcher.app-it-report.md y enséñame la lista de archivos, carpetas y líneas del package.json que ha añadido app-it, más la app instalada en ~/Applications/App It/. Antes apaga la app con npm run desktop:quit. No borres nada hasta que te dé el ok, y no toques el código de la app.
Errores comunes
- Lanzar /app-it en un proyecto que a mano no arranca. Si la ventana muestra un error del servidor, normalmente es el proyecto: arréglalo desde el terminal y luego reconstruye la app.
- Cerrar con el botón rojo y creer que lo has apagado todo. El servidor sigue encendido: para apagarlo hace falta ⌘Q.
- Mover o renombrar la carpeta del proyecto después de crear la app. La app la busca donde estaba.
- Mandar el archivo .app a un amigo como si fuera una app de verdad. Está firmada solo para tu Mac, no está notarizada por Apple, y sin la carpeta del proyecto y su servidor no funciona.
Lista de comprobación
- El proyecto arranca a mano desde el terminal
- Las Xcode Command Line Tools están instaladas (xcode-select --install)
- He leído la ficha del plugin app-it antes de instalarlo
- Claude me ha explicado el informe de app-it y qué comprobar a mano
- La ventana muestra mi app y en el Dock está su icono
- ⌘Q apaga el servidor y libera el puerto
- La carpeta ~/Applications/App It/ está en el Dock
Preguntas frecuentes
¿Es una app de verdad, como las de la App Store?
Es un archivo .app de verdad, pero es un envoltorio alrededor de tu proyecto: dentro funciona tu servidor. Está firmada solo en local, no está notarizada, no va a la App Store y no se actualiza sola. Está hecha para que la uses tú, en tu Mac.
¿Cambia el código de mi app?
No: la regla del proyecto es solo añadir. La única excepción prevista es un puerto fijado a mano en la configuración: entonces puede hacerlo configurable, y lo escribe en el informe.
Después de una actualización de macOS el icono aparece tachado y la app no se abre. ¿Qué hago?
Reconstrúyela: npm run desktop:build y luego npm run desktop:install, o pídeselo a Claude. Es la primera solución que indica el proyecto: la firma local puede no sobrevivir a una actualización importante, o a iCloud si el proyecto está en el Escritorio o en Documentos sincronizados.