Saltar al contenido
Curso Claude Code en equipo: una sola forma de trabajar
22/29 Bloque opcional · El paquete Composer de convenciones Arrancar un segundo proyecto Laravel con la configuración del equipo: portal paso a paso
Tu lectura Quedan 25 min
Lección 22 de 29 · Bloque opcional · El paquete Composer de convenciones

Arrancar un segundo proyecto Laravel con la configuración del equipo: portal paso a paso

25 min de lectura Claude Code 2.1

Hola, bienvenido. En esta lección vamos a arrancar el segundo proyecto del equipo, portal, y a dejarlo con la misma configuración que helpdesk. Lo vamos a hacer a mano y paso a paso, a propósito: así veremos qué pasos hacen falta, en qué orden y qué falla en un Laravel recién creado. En la siguiente lección convertiremos estos pasos en un solo comando.

helpdesk tiene su configuración porque la creamos en la lección 3, con la del curso Setup Profesional Laravel + IA para 2026 (se abre en una pestaña nueva), y desde entonces la hemos ido repartiendo entre el plugin y el paquete. portal nace con el esqueleto de Laravel y nada más: sin el paquete de convenciones, sin Pest, Larastan ni Rector, sin el contrato de scripts y sin .claude/. Todo eso hay que hacerlo otra vez, y si se hace de memoria, cada proyecto nuevo acaba un poco distinto del anterior.

Crear portal con Sail

portal vive en ~/code/team, al lado de los otros 3 repos del equipo y de los clones con los que hemos hecho de otras personas, y toda la lección la hace Marta. Es un repo nuevo, así que le vamos a abrir su pestaña. Como la carpeta portal todavía no existe, la abrimos en ~/code/team. Desde cualquier pestaña de la sesión:

Terminal
zellij action new-tab --name portal --cwd ~/code/team

En la pestaña nueva, reescribimos el layout con todas las pestañas, la de portal ya con la carpeta del repo, que vamos a crear enseguida y en la que se va a quedar:

Terminal
cat > ~/.config/zellij/layouts/team.kdl <<'EOF'
layout {
default_tab_template {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
children
pane size=1 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="helpdesk" cwd="~/code/team/helpdesk" focus=true {
pane
}
tab name="claude-plugins" cwd="~/code/team/claude-plugins" {
pane
}
tab name="helpdesk-lucia" cwd="~/code/team/helpdesk-lucia" {
pane
}
tab name="helpdesk-aitor" cwd="~/code/team/helpdesk-aitor" {
pane
}
tab name="conventions" cwd="~/code/team/conventions" {
pane
}
tab name="portal" cwd="~/code/team/portal" {
pane
}
}
EOF
Representación de Zellij con el layout del curso: arriba las pestañas helpdesk, claude-plugins, helpdesk-lucia, helpdesk-aitor, conventions y portal, con portal activa; en el centro el prompt en ~/code/team; y abajo la barra de atajos con Ctrl y Alt

Y en la misma pestaña, vamos a crear el proyecto con el script de Laravel para Sail:

Terminal
curl -s "https://laravel.build/portal?with=mysql,redis" | bash

Con with pedimos MySQL y Redis, lo mismo que en helpdesk. Sin ese parámetro, el script añade también Meilisearch, Mailpit y Selenium, que portal no necesita, y Mailpit ocupa los puertos 1025 y 8025.

El script termina con un sudo chown sobre la carpeta del proyecto, para que todos los archivos sean de tu usuario, así que te pedirá tu contraseña si sudo no la tiene guardada. Cuando termine, entramos en el proyecto. Es el único cd que hace falta, porque desde aquí la pestaña portal se queda en su carpeta, y en ella vamos a ejecutar todo lo que queda de lección:

Terminal
cd portal

Como vimos en la lección 3, cada Sail del curso lleva su nombre de proyecto de Compose y sus puertos. Los de portal son estos, en portal/.env:

env
APP_URL=http://localhost:8082
COMPOSE_PROJECT_NAME=portal
APP_PORT=8082
VITE_PORT=5175
FORWARD_DB_PORT=33062
FORWARD_REDIS_PORT=63792

Con el .env cambiado, vamos a levantar Sail, en la pestaña portal:

Terminal
./vendor/bin/sail up -d

En portal no vamos a instalar Laravel Boost: la configuración del equipo no depende de él.

Antes de tocar nada, vamos a hacer el primer commit con el proyecto tal como lo deja el script. Así, cada archivo que cambiemos en la lección tendrá un diff que se puede leer. En la pestaña portal:

Terminal
git init -b main
git add .
git commit -m "chore: create portal with laravel.build"

Este es el principio de la salida, sin la lista de archivos:

Salida
Initialized empty Git repository in /home/marta/code/team/portal/.git/ [main (root-commit) 2771324] chore: create portal with laravel.build 60 files changed, 11035 insertions(+)
Lo que queda de esta lección
  1. 02El paquete, por el mismo camino que en helpdesk
  2. 03Las herramientas de QA
  3. 04conventions:install en un proyecto nuevo
  4. 05settings.json y el .gitignore, a mano por última vez
  5. 06Lo que un proyecto nuevo no pasa
  6. 07Los arch tests del paquete en portal
  7. 08El commit de portal
Sigue leyendo con tu suscripción El curso completo, con su proyecto final, el certificado y el foro, está incluido en la suscripción. Ver los planes