Plantilla base de Laravel 12 preconfigurada con Breeze, Tailwind CSS v4, y metodología AGENTS.md para gestión de proyectos.
# Instalar dependencias frontend
npm install
# Compilar assets en modo desarrollo
npm run dev
# En otra terminal: Levantar servidor
php artisan serveVisita: http://localhost:8000
Este template viene preconfigurado con:
- Laravel 12 - Framework PHP moderno
- Laravel Breeze - Sistema de autenticación completo
- MySQL - Base de datos relacional
- Tailwind CSS v4 - Framework CSS moderno (sin PostCSS)
- Vite - Bundler ultra-rápido con plugin
@tailwindcss/vite - Blade/Livewire/Vue/React - Stack según selección en CLI
- Laravel Socialite - Autenticación OAuth (Google, GitHub, Facebook, etc.)
- Livewire - Componentes dinámicos reactivos
- GSAP - Librería de animaciones JavaScript
- Laravel Lang - Traducciones ES/EN preconfiguradas
- Laravel Nova 5 - Panel de administración (si fue seleccionado)
- Spatie Media Library - Gestión de archivos multimedia (si fue seleccionado)
Cuando creaste este proyecto, la CLI ya configuró:
✅ Archivo .env con nombre del proyecto y credenciales de base de datos
✅ APP_KEY generada automáticamente
✅ Dependencias de Composer instaladas
✅ Tailwind CSS v4 configurado con Vite (sin PostCSS)
✅ Migraciones de base de datos ejecutadas
✅ Tablas de autenticación creadas (users, password_resets, etc.)
✅ [Si aplica] Laravel Nova instalado y configurado
Este template incluye una metodología completa de gestión de proyectos en /docs/.
| Archivo | Propósito | ¿Debes editarlo? |
|---|---|---|
docs/AGENTS.md |
Metodología completa de gestión (INQUEBRANTABLE) | ❌ No, es la metodología |
docs/01-manifest.md |
Visión, objetivos y alcance del proyecto | ✅ SÍ - Completa con tu proyecto |
docs/02-design-system.md |
Sistema de diseño, colores, tipografía, componentes | ✅ SÍ - Define tu UI/UX |
docs/03-database-schema.md |
Esquema de base de datos con diagrama Mermaid | ✅ SÍ - Documenta tu BD |
docs/04-user-stories.md |
Backlog de funcionalidades e historias de usuario | ✅ SÍ - Define features |
| Archivo | Propósito |
|---|---|
docs/workflow/01-team-workflow.md |
Flujo de trabajo en equipo |
docs/workflow/02-branch-protection.md |
Configuración de protección de ramas |
docs/workflow/03-github-projects-setup.md |
Setup de GitHub Projects y automatización |
Este documento define REGLAS INQUEBRANTABLES sobre cómo gestionar:
- Issues y Épicas en GitHub
- Sistema de labels (Type, Module, Priority, Sprint)
- Sprints y planificación
- GitHub Projects (Kanban)
- Documentación viva
Si vas a trabajar en este proyecto, este documento es tu biblia.
Si quieres aplicar la metodología AGENTS.md con automatización completa:
# Renombrar carpeta de ejemplo
mv .github.example .githubLos workflows de GitHub Actions necesitan permisos especiales para mover issues en Projects.
- Ve a: https://github.com/settings/tokens
- Click "Generate new token (classic)"
- Nombre:
PROJECT_AUTOMATION - Seleccionar scopes:
- ✅
repo(Full control of private repositories) - ✅
project(Full control of projects)
- ✅
- Click "Generate token"
- COPIAR EL TOKEN (solo se muestra una vez)
- Ve a:
https://github.com/[TU-USERNAME]/[ESTE-REPO]/settings/secrets/actions - Click "New repository secret"
- Name:
PROJECT_PAT - Secret: pega el token copiado
- Click "Add secret"
# Crear proyecto
gh project create --owner [TU-USERNAME] --title "[NOMBRE-PROYECTO] - Development"
# Listar proyectos (anota el PROJECT_NUMBER)
gh project list --owner [TU-USERNAME]
# Ver campos del proyecto (anota STATUS_FIELD_ID y OPTION_IDs)
gh project field-list [PROJECT_NUMBER] --owner [TU-USERNAME]Edita .github/workflows/project-board-automation.yml:
env:
PROJECT_ID: [PEGAR_PROJECT_ID_AQUI] # Ej: PVT_kwHOABCDEF
STATUS_FIELD_ID: [PEGAR_STATUS_FIELD_ID] # Ej: PVTSSF_lAHOXYZ
TODO_OPTION_ID: [PEGAR_TODO_OPTION_ID] # Ej: f75ad846
IN_PROGRESS_OPTION_ID: [PEGAR_IN_PROGRESS_ID] # Ej: 47fc9ee4
DONE_OPTION_ID: [PEGAR_DONE_OPTION_ID] # Ej: 98236657Y en la línea 67, reemplaza [OWNER] por tu username:
gh project item-add ... --owner TU-USERNAMESigue las instrucciones en: docs/workflow/02-branch-protection.md
Crea una issue de prueba:
gh issue create --title "Test: Verificar automatización" --body "Testing workflow"Debería:
- ✅ Añadirse automáticamente al proyecto
- ✅ Moverse a columna "Todo"
- ✅ Al asignártela, moverse a "In Progress"
- ✅ Al cerrarla, moverse a "Done"
📖 Guía completa: Ver docs/workflow/03-github-projects-setup.md
URL: http://localhost:8000/nova
Usa el usuario que creaste durante la instalación de Breeze.
- ✅ Licencia configurada en
auth.json(no subir a git) - ✅ Traducción al español preconfigurada
- ✅ Devtools activados (útil en desarrollo)
- ✅ NO es autenticación principal (Breeze lo es)
php artisan nova:resource PostEdita app/Nova/Post.php para definir campos.
Documentación: https://nova.laravel.com/docs
- ✅ Sin PostCSS - Configuración moderna con Vite
- ✅ Plugin
@tailwindcss/vite- Integración nativa - ✅ Sintaxis v4 - Usa
@import "tailwindcss"en lugar de directivas
Ubicación: resources/css/app.css
@import "tailwindcss";
/* Rutas de plantillas */
@source "../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php";
@source "../../storage/framework/views/*.php";
@source "../**/*.blade.php";
@source "../**/*.js";
@theme {
--font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
}Edita el bloque @theme en app.css:
@theme {
--font-sans: 'Tu Fuente', ui-sans-serif, system-ui, sans-serif;
--color-primary: #3b82f6;
--color-secondary: #8b5cf6;
}Documentación Tailwind v4: https://tailwindcss.com/docs
- Idioma principal: Español (ES)
- Idioma fallback: Inglés (EN)
- Paquetes instalados:
laravel-lang/lang+laravel-lang/publisher
Edita .env:
APP_LOCALE=es
APP_FALLBACK_LOCALE=en# Ver idiomas disponibles
php artisan lang:available
# Agregar francés (ejemplo)
php artisan lang:add fr
# Actualizar traducciones
php artisan lang:update{{ __('auth.failed') }}
{{ __('validation.required', ['attribute' => 'email']) }}El paquete ya está instalado. Para activar OAuth:
# GitHub
GITHUB_CLIENT_ID=tu_client_id
GITHUB_CLIENT_SECRET=tu_client_secret
GITHUB_REDIRECT_URI=http://localhost:8000/auth/github/callback
# Google
GOOGLE_CLIENT_ID=tu_client_id
GOOGLE_CLIENT_SECRET=tu_client_secret
GOOGLE_REDIRECT_URI=http://localhost:8000/auth/google/callback'github' => [
'client_id' => env('GITHUB_CLIENT_ID'),
'client_secret' => env('GITHUB_CLIENT_SECRET'),
'redirect' => env('GITHUB_REDIRECT_URI'),
],php artisan make:controller Auth/SocialiteControllerDocumentación: https://laravel.com/docs/socialite
Versión: Última estable desde npm
Importa en tus archivos JS:
// resources/js/app.js
import gsap from 'gsap';
// Ejemplo de animación
gsap.to('.mi-elemento', {
duration: 1,
x: 100,
opacity: 0.5
});Documentación: https://greensock.com/docs/
users- Usuarios registradospassword_reset_tokens- Tokens de recuperaciónsessions- Sesiones de usuariocache- Cache de aplicaciónjobs- Cola de trabajos
php artisan make:migration create_posts_tablephp artisan migratephp artisan make:seeder PostSeeder
php artisan db:seed --class=PostSeeder# Todos los tests
php artisan test
# Tests específicos
php artisan test --filter=UserTestphp artisan make:test UserTest
php artisan make:test PostTest --unitnpm run dev # Compilar assets en modo watch
npm run build # Compilar assets para producción
php artisan serve # Servidor de desarrollo
php artisan tinker # REPL de Laravelphp artisan migrate # Ejecutar migraciones
php artisan migrate:fresh # Recrear BD (CUIDADO: borra datos)
php artisan migrate:rollback # Revertir última migración
php artisan db:seed # Ejecutar seedersphp artisan optimize:clear # Limpiar todo el cache
php artisan cache:clear # Limpiar cache de aplicación
php artisan config:clear # Limpiar cache de config
php artisan view:clear # Limpiar cache de vistas
php artisan route:clear # Limpiar cache de rutasphp artisan nova:install # Reinstalar assets de Nova
php artisan nova:publish # Publicar recursos de Nova
php artisan nova:resource # Crear nuevo recurso
php artisan nova:user # Crear usuario administradorSi vas a trabajar en equipo, comparte con cada miembro:
docs/AGENTS.md- Metodología OBLIGATORIAdocs/workflow/01-team-workflow.md- Flujo de trabajo- Este README
# Formato de mensajes
feat: Agregar login con OAuth
fix: Corregir validación de email
chore: Actualizar dependencias
docs: Documentar API de usuarios# Crear rama desde main
git checkout main
git pull origin main
git checkout -b feature/nombre-feature
# Trabajar y commitear
git add .
git commit -m "feat: Descripción del cambio"
# Push y crear PR
git push origin feature/nombre-feature
# Ir a GitHub y crear Pull Requestmain (debe estar protegida)
Ya están en .gitignore:
- ✅
.env- Credenciales y configuración sensible - ✅
auth.json- Credenciales de Nova - ✅
vendor/- Dependencias de Composer - ✅
node_modules/- Dependencias de NPM
php artisan key:generateNO compartir en GitHub:
APP_KEY- Clave de encriptaciónDB_PASSWORD- Contraseña de base de datosNOVA_LICENSE_KEY- Licencia de Nova- OAuth credentials (client_id, client_secret)
-
APP_ENV=productionen.env -
APP_DEBUG=falseen.env - Ejecutar
composer install --no-dev --optimize-autoloader - Ejecutar
npm run build - Ejecutar
php artisan config:cache - Ejecutar
php artisan route:cache - Ejecutar
php artisan view:cache - Configurar correctamente
APP_URLen.env - Configurar HTTPS
- Revisar permisos de
storage/ybootstrap/cache/
# Cachear configuración
php artisan config:cache
# Cachear rutas
php artisan route:cache
# Cachear vistas
php artisan view:cache
# Optimizar autoload
composer install --optimize-autoloader --no-devEste template es software de código abierto licenciado bajo MIT license.
- Laravel: https://laravel.com/docs
- Tailwind CSS: https://tailwindcss.com/docs
- Laravel Breeze: https://laravel.com/docs/starter-kits#breeze
- Livewire: https://livewire.laravel.com/docs
- Laravel Nova: https://nova.laravel.com/docs
- Laravel Discord: https://discord.gg/laravel
- Laracasts: https://laracasts.com
- Laravel News: https://laravel-news.com
Template creado con ❤️ usando Laravel Starter CLI