Proyectos

Añadir un proyecto

Cómo Joppa analiza una carpeta, nombra el proyecto, encuentra sus servidores de desarrollo y les propone dominios.

Tres formas de añadir

  • Arrastrar y soltar: suelta una carpeta en cualquier parte de la ventana («Suelta para añadir el proyecto»).
  • Botón o atajo: + nuevo junto a Proyectos en la barra lateral, Añadir un proyecto en el inicio, o N desde cualquier sitio.
  • Terminal: en el TUI, tecla a en la sección Proyectos, o la herramienta MCP add_project.

La ventana Añadir un proyecto muestra lo que Joppa ha encontrado; no se guarda nada hasta que confirmas (⌘ ⏎).

El nombre y el icono

El nombre sale del campo name de package.json (sin el scope @org/) o, si no, del nombre de la carpeta. Se convierte a minúsculas sin acentos ni espacios: Kiné Santé se convierte en kine-sante.

El icono se genera a partir del nombre. Cámbialo cuando quieras con I en la página del proyecto: motivos generados, iniciales, pictogramas o tu propia imagen (.svg, .png, .jpg, .webp, 180 KB como máximo), tramada con los colores de Joppa.

Qué detecta Joppa

Stack Indicio Puerto por defecto
Vite, Vite+ (vp), React Router, Remix, SvelteKit script dev 5173, o port: en vite.config
Astro script dev 4321, o port: en astro.config
Next.js script dev 3000
Nuxt script dev 3000
Angular, Nx (Angular, webpack) ng serve, target de Nx 4200
Create React App, Docusaurus react-scripts start, docusaurus start 3000
Vue CLI, Gatsby, Storybook, Expo su comando 8080, 8000, 6006, 8081
Node (otro servidor) puerto escrito en el script o en el código el encontrado
Laravel archivo artisan 8000 (php artisan serve)
Symfony, otro PHP public/index.php y composer.json 8000 (php -S)
Bun bun.lock / bun.lockb —
Docker Compose compose.yaml, docker-compose.yml… puertos publicados

Joppa lee el script dev de la raíz y de cada paquete de un monorepo: workspaces de npm, yarn o bun, pnpm-workspace.yaml, lerna.json, proyectos Nx. Un puerto se reconoce en estas formas: --port 3000, -p 3000, --port=3000, PORT=3000, ${PORT:-3000}. El detalle está en Procesos.

Para Laravel, el dominio base va a php artisan serve; el servidor de Vite, que solo sirve los assets, no recibe ninguno.

Los subdominios propuestos

Con un solo servidor, el proyecto recibe el dominio base: miproyecto.test. En un monorepo, cada app recibe un subdominio según el nombre de su carpeta:

Carpeta de la app Dominio
web, app, frontend, client, dashboard app.miproyecto.test
marketing, site, www, website, landing, home miproyecto.test
api, server, backend api.miproyecto.test
otra (docs, admin…) docs.miproyecto.test

Si dos apps acaban con el mismo nombre, se numeran: app, app2.

Las interfaces web de Docker Compose

Los servicios de Compose que publican una interfaz web conocida también reciben su dominio:

Servicio Puerto Dominio
Mailpit, MailHog 8025 mail.miproyecto.test
MinIO (consola) 9001 minio.miproyecto.test
RabbitMQ (management) 15672 rabbitmq.miproyecto.test
Adminer 8080 adminer.miproyecto.test
phpMyAdmin 80 phpmyadmin.miproyecto.test
pgAdmin 80 pgadmin.miproyecto.test

Los demás puertos publicados (bases de datos, cachés) aparecen como «Sin enrutar (no son interfaces web)». Si el Compose contiene PostgreSQL, MySQL, MariaDB, Redis o Valkey, la ventana también propone importar sus datos en Joppa: consulta Importación desde Docker Compose.

Un repositorio con joppa.toml

Añadir un proyecto con joppa.toml: sus dominios y el plan de la configuración de equipo

Cuando la carpeta contiene un joppa.toml (la configuración que comparte un equipo), la ventana parte de él:

  • el nombre es el de su sección [project];
  • los dominios son sus [[domain]], con «joppa.toml» como origen mostrado;
  • bajo Configuración de equipo · joppa.toml, el plan lista el resto, un paso por línea: crear el servidor o reutilizar el de la máquina, crear la base de datos con sus extensiones, vincular el proyecto, escribir el .env (Ver el diff), fijar Node, el gestor de paquetes y PHP, configurar los worktrees. Los pasos que ya están listos se pliegan bajo «ya listos».

Desmarca lo que no quieras: los pasos que dependen de ello se desmarcan con él. Un paso imposible aquí aparece en gris con el motivo: un motor reservado a Joppa Pro, un dominio que ya tiene otro proyecto. Las diferencias se señalan sin bloquear nada: un servidor PostgreSQL de la máquina en una versión distinta de la pedida se reutiliza, y un .node-version del repositorio prevalece sobre la sección [runtime].

Añadir y preparar (⌘ ⏎) añade el proyecto y luego hace los pasos marcados. No se elimina ni se sobrescribe nada, y no se inicia ningún proceso: esperan en la pestaña Procesos.

Más adelante, cuando un git pull modifica el archivo, la página del proyecto lo indica y propone aplicar el cambio: consulta Aplicar el archivo.

¿No se detectó ningún servidor?

Añade los dominios a mano: un subdominio (admin) o un dominio completo, y un puerto. Siempre podrás añadir más después en la pestaña Dominios.

La página del proyecto

Una vez añadido, el proyecto tiene su página, con sus pestañas:

Pestaña Atajo Contenido
Dominios D Dominios, destinos y estado
Procesos P Servidores de desarrollo y contenedores iniciados por Joppa
Entorno E Servicios vinculados y editor del .env
Runtime R Versiones de Node, del gestor de paquetes y de PHP
Worktrees W Un entorno por worktree de git
Analytics S Tráfico, latencia, errores y disponibilidad
Inspector Q Las últimas peticiones, sus cabeceras y cuerpos, y su repetición

El menú Acciones (⋯) permite Renombrar… (con la opción «Renombrar también los dominios»), Cambiar icono…, Compartir la configuración en joppa.toml (consulta joppa.toml), Mostrar en el Finder y Quitar de Joppa. Quitar un proyecto detiene sus servidores de desarrollo y olvida su configuración local; su carpeta y su joppa.toml, si lo hay, no se tocan.

getjoppa.com › support

Cargando

¿No funciona? Escribe a [email protected]. Una simple pregunta: [email protected].