innoboxrr / laravel-setup
Convierte una aplicación Laravel 13 recién creada en la aplicación base del ecosistema innoboxrr: autenticación, sitio, administrador en Vue o React y el usuario generado con LaraPack.
Package info
github.com/innoboxrr/laravel-setup
Language:JavaScript
pkg:composer/innoboxrr/laravel-setup
Requires
- php: ^8.3
- innoboxrr/larapack-generator: ^7.10 || ^8.0
- laravel/framework: ^13.0
Requires (Dev)
- orchestra/testbench: ^11.0
- phpunit/phpunit: ^12.0
Suggests
None
Provides
None
Conflicts
- innoboxrr/larapack-generator: <7.10.2
Replaces
None
- dev-master
- 7.1.0
- 7.0.1
- 7.0.0
- 6.0.0
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.0.39
- 4.0.38
- 4.0.37
- 4.0.36
- 4.0.35
- 4.0.34
- 4.0.33
- 4.0.32
- 4.0.31
- 4.0.30
- 4.0.29
- 4.0.28
- 4.0.27
- 4.0.26
- 4.0.25
- 4.0.24
- 4.0.23
- 4.0.22
- 4.0.21
- 4.0.20
- 4.0.19
- 4.0.18
- 4.0.17
- 4.0.16
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.5.0
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.0
This package is auto-updated.
Last update: 2026-09-20 01:59:36 UTC
README
Convierte una aplicación Laravel 13 recién creada en la aplicación base del ecosistema innoboxrr, en Vue o en React:
- Sitio público editable desde el administrador: inicio, únete, contacto, aviso de privacidad y términos, con un sitio de ejemplo completo.
- Acceso con laravel-auth: iniciar sesión, registro, recuperar la contraseña, verificación de correo y suplantación para administradores.
- Administrador con menú que se construye solo, notificaciones, perfil con
avatar y contraseña, editor del sitio y enlaces a los registros
(log-viewer) y al editor del
.env. - Usuarios generados con LaraPack, con la misma arquitectura que cualquier otro modelo: API, políticas, tests y su módulo en el administrador. Lo que generes después aparece en el menú.
Documentación completa (español e inglés), con la instalación paso a paso, Vue y React, el sitio, el administrador, el contrato de las interfaces y cómo ampliarla: https://innoboxrr.github.io/docs/app-base/.
Requisitos
- PHP 8.3 o superior y Composer.
- Node 20 o superior y npm 10.
- Una aplicación recién creada con
laravel newocomposer create-project laravel/laravel, con su base de datos configurada.
Uso
composer require --dev innoboxrr/laravel-setup php artisan app:setup # Vue php artisan app:setup --react # React
app:setup no instala nada: escribe composer.json, package.json, la
configuración, las pantallas y el usuario generado. Revisa los cambios con
git diff, pon tu correo en ADMIN_EMAILS del .env y después:
php artisan app:install composer run dev
app:install corre composer update, publica las migraciones de Sanctum y de
notificaciones, migra, siembra el sitio de ejemplo, enlaza el almacenamiento
público, exporta las rutas para la interfaz y la compila. Opciones:
| Opción | Qué hace |
|---|---|
--pretend |
Enseña los pasos sin ejecutarlos |
--without-build |
No toca npm |
--composer=<ruta> |
El Composer que usar. Un composer.phar se lanza con el mismo PHP que corre artisan (útil en Windows con Laragon, cuyo composer del PATH corre en PHP 8.2) |
--npm=<ruta> |
El npm que usar |
Regístrate con el correo de ADMIN_EMAILS y entra en /admin.
APP_URL tiene que ser la dirección con la que abres la aplicación, con su
puerto. El administrador llama a la API con la cookie de sesión, y Sanctum sólo
la acepta desde los dominios de SANCTUM_STATEFUL_DOMAINS: por omisión
localhost, localhost:3000, 127.0.0.1, 127.0.0.1:8000, ::1 y el de
APP_URL. Con otra dirección, la sesión se abre pero cada tabla del
administrador responde 401 y te devuelve al login.
Para hacerlo todo de una vez: php artisan app:init [dominio] [--react] [--force] [--without-build]. No pasa --composer ni --npm a app:install: en Windows
con un composer.phar, corre app:setup y app:install por separado.
Cuidado con el dominio. Pasar un dominio a
app:initllama aconfigure:domain, que sólo funciona con Laragon instalado enC:\laragon, edita el archivohostscon permisos de administrador y escribe una configuración de nginx con protocolos TLS y cifrados inseguros. No se recomienda: configura el dominio a mano.
Qué queda en la aplicación
| Dónde | Qué | De quién |
|---|---|---|
resources/<ui>/app/ |
Sitio, acceso, administrador, estados y rutas | Tuyo desde que se instala |
resources/<ui>/index.js, resources/<ui>/src/ |
Los módulos generados | De LaraPack: se regeneran |
laraimport.json |
La declaración del usuario y de lo que añadas | Tuyo |
database/seeders/SiteOptionsSeeder.php |
El sitio de ejemplo | Tuyo |
app/Http/Middleware/EnsureUserIsAdmin.php |
El middleware admin |
Tuyo |
config/auth.php → admins |
Quién administra: ADMIN_EMAILS |
Tuyo |
El contrato que cumplen las dos interfaces (rutas, guardas, menú, formato del sitio y props de cada sección) está en docs/shell-contract.md.
Añadir un modelo
Se declara en laraimport.json y se genera como en cualquier proyecto con
LaraPack:
php artisan larapack:validate laraimport.json --vue php artisan larapack:import laraimport.json --vue php artisan migrate php artisan route:json npm run build
Su pantalla aparece sola en el menú del administrador. Para que sólo la vea un
administrador, añade el nombre de su ruta a adminOnly en
resources/<ui>/app/config.js.
Advertencia
app:setup sólo corre sobre una aplicación recién creada; en cualquier otra se
niega, salvo con --force, porque:
- Reemplaza
bootstrap/app.php,bootstrap/providers.php,routes/web.php,app/Providers/AppServiceProvider.php,package.jsonyvite.config.js. - Borra
resources/views/welcome.blade.php,resources/js,resources/cssyapp/Models/User.php, que se genera de nuevo con LaraPack. - Fija en el
.envAPP_LOCALE=es,APP_FALLBACK_LOCALE=en,APP_FAKER_LOCALE=es_MXySESSION_DRIVER=database, y añade las claves que falten sin pisar las que ya tengas.