PHPackages                             amptech/laravel-blade-scaffold - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. amptech/laravel-blade-scaffold

ActiveLibrary[Templating &amp; Views](/categories/templating)

amptech/laravel-blade-scaffold
==============================

Generador automático de vistas CRUD Blade para Laravel con componentes reutilizables y detección inteligente de tipos de campo

1.0.0(4mo ago)011MITPHPPHP ^7.4|^8.0|^8.1|^8.2|^8.3

Since Jan 12Pushed 4mo agoCompare

[ Source](https://github.com/oamperezp/laravel-blade-scaffold)[ Packagist](https://packagist.org/packages/amptech/laravel-blade-scaffold)[ Docs](https://github.com/oamperezp/laravel-blade-scaffold)[ GitHub Sponsors](https://github.com/sponsors/oamperezp)[ RSS](/packages/amptech-laravel-blade-scaffold/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Laravel Blade Scaffold
======================

[](#laravel-blade-scaffold)

[![Latest Version on Packagist](https://camo.githubusercontent.com/762c4273cdc241b88fd19143bf79cd4f5f588896a48402a07297d61b539ee7b7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616d70746563682f6c61726176656c2d626c6164652d73636166666f6c642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/amptech/laravel-blade-scaffold)[![Total Downloads](https://camo.githubusercontent.com/f6719ae3d2787e4e5e1a3e5e0c005a130a83606ac9c4b41fc98f1d8ba045a06d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616d70746563682f6c61726176656c2d626c6164652d73636166666f6c642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/amptech/laravel-blade-scaffold)[![License](https://camo.githubusercontent.com/1f090a9ab6a95a56593accedcab4b75544cd999d3affea8e78fee5206866d82e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f616d70746563682f6c61726176656c2d626c6164652d73636166666f6c642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/amptech/laravel-blade-scaffold)

Generador automático de vistas CRUD Blade para Laravel con componentes reutilizables y detección inteligente de tipos de campo.

---

✨ Características
-----------------

[](#-características)

- 🚀 **Generación automática** de vistas CRUD completas (index, create, edit, show, form)
- 🧠 **Detección inteligente** de tipos de campo basada en nombres
- 🔗 **Soporte para Foreign Keys** con generación automática de selects
- 🎨 **Componentes Blade reutilizables** listos para usar
- 💅 **Diseño moderno** con Tailwind CSS
- ⚙️ **Altamente personalizable** - publica y modifica templates
- 🔍 **Validación interactiva** antes de sobrescribir archivos
- 📦 **Compatible** con Laravel 8, 9, 10, 11

---

📦 Instalación
-------------

[](#-instalación)

```
composer require amptech/laravel-blade-scaffold
```

### Publicar Assets

[](#publicar-assets)

```
# Publicar todo (templates y components)
php artisan vendor:publish --tag=blade-scaffold

# Solo templates
php artisan vendor:publish --tag=blade-scaffold-templates

# Solo components
php artisan vendor:publish --tag=blade-scaffold-components
```

> **Nota**: El comando te preguntará automáticamente si deseas publicar los assets la primera vez que lo ejecutes.

---

🚀 Uso
-----

[](#-uso)

### Comando Básico

[](#comando-básico)

```
php artisan make:form User
```

El comando te preguntará en qué ruta deseas crear las vistas. Por defecto usa `forms`.

### Ejemplos de Uso

[](#ejemplos-de-uso)

```
# Especificar ruta personalizada
php artisan make:form Product --path=admin/products

# Generar solo algunas vistas específicas
php artisan make:form User --only=index,form

# Excluir vistas específicas
php artisan make:form Post --exclude=show,edit

# Forzar sobrescritura sin confirmación
php artisan make:form Category --force
```

---

📋 Vistas Generadas
------------------

[](#-vistas-generadas)

El comando genera automáticamente:

VistaDescripción`index.blade.php`Listado con tabla de registros y paginación`create.blade.php`Formulario para crear nuevo registro`edit.blade.php`Formulario para editar registro existente`show.blade.php`Vista de detalle del registro`forms/form.blade.php`Formulario reutilizable compartido### Estructura Generada

[](#estructura-generada)

```
resources/views/
└── {ruta-especificada}/
    ├── index.blade.php
    ├── create.blade.php
    ├── edit.blade.php
    ├── show.blade.php
    └── forms/
        └── form.blade.php

```

---

🎨 Características Avanzadas
---------------------------

[](#-características-avanzadas)

### ✅ Detección Automática de Campos

[](#-detección-automática-de-campos)

El paquete detecta automáticamente los campos `fillable` de tu modelo:

```
class Product extends Model
{
    protected $fillable = [
        'name',
        'description',
        'price',
        'category_id',
        'is_active',
        'stock',
        'email'
    ];
}
```

### ✅ Inferencia Inteligente de Tipos

[](#-inferencia-inteligente-de-tipos)

Detecta automáticamente el tipo de campo según el nombre:

Patrón en el nombreTipo de campo generado`email````password`, `pass````phone`, `tel````url`, `link`, `website````date`, `born`, `birth````time````price`, `amount`, `cost`, `age````description`, `content`, `body`, `text````status`, `type`, `category`, `role````active`, `enabled`, `published````*_id``` con foreign key### ✅ Soporte para Foreign Keys

[](#-soporte-para-foreign-keys)

Detecta automáticamente campos con `_id` y genera selects con relaciones:

```
// Campo: category_id en el modelo Product
// Genera automáticamente:
```

```

    {{ __('Select...') }}
    @foreach($categories as $category)

            {{ $category->name }}

    @endforeach

```

**Importante:** Debes pasar la variable `$categories` desde tu controlador:

```
public function create()
{
    $categories = Category::all();
    return view('products.create', compact('categories'));
}
```

---

🎨 Componentes Blade Incluidos
-----------------------------

[](#-componentes-blade-incluidos)

El paquete incluye componentes reutilizables listos para usar:

### ``

[](#x-form-group)

Contenedor para campos de formulario con espaciado consistente.

```

```

### ``

[](#x-label-group)

Grupo de etiqueta con descripción (ideal para vistas de detalle).

```

```

### ``

[](#x-inputsinput)

Input de texto con validación y estilos.

```

```

### ``

[](#x-inputstextarea)

Área de texto con validación.

```

```

### ``

[](#x-inputsselect)

Select dropdown con opciones.

```

    Select...
    @foreach($categories as $category)
        {{ $category->name }}
    @endforeach

```

### ``

[](#x-inputscheckbox)

Checkbox estilizado.

```

```

---

🎯 Ejemplos Completos
--------------------

[](#-ejemplos-completos)

### Ejemplo 1: CRUD de Productos

[](#ejemplo-1-crud-de-productos)

**1. Crear el modelo:**

```
php artisan make:model Product -m
```

**2. Definir fillable:**

```
// app/Models/Product.php
protected $fillable = [
    'name',
    'description',
    'price',
    'category_id',
    'is_active'
];
```

**3. Generar vistas:**

```
php artisan make:form Product --path=admin/products
```

**4. Crear controlador:**

```
php artisan make:controller Admin/ProductController --resource
```

**5. Definir rutas:**

```
// routes/web.php
Route::resource('admin/products', Admin\ProductController::class);
```

### Ejemplo 2: Solo Listado y Formulario

[](#ejemplo-2-solo-listado-y-formulario)

```
php artisan make:form Product --path=products --only=index,form
```

Genera solo:

- `resources/views/products/index.blade.php`
- `resources/views/products/forms/form.blade.php`

### Ejemplo 3: Sin Vista de Detalle

[](#ejemplo-3-sin-vista-de-detalle)

```
php artisan make:form Post --path=blog/posts --exclude=show
```

Genera todas las vistas excepto `show.blade.php`.

---

🔧 Personalización
-----------------

[](#-personalización)

### Modificar Templates

[](#modificar-templates)

Publica los templates y personalízalos según tus necesidades:

```
php artisan vendor:publish --tag=blade-scaffold-templates
```

Los templates se copiarán a:

```
resources/views/vendor/blade-scaffold/templates/
├── index.blade.php
├── create.blade.php
├── edit.blade.php
├── show.blade.php
└── form.blade.php

```

### Modificar Components

[](#modificar-components)

Publica los componentes y personalízalos:

```
php artisan vendor:publish --tag=blade-scaffold-components
```

Los componentes se copiarán a:

```
resources/views/components/
├── form-group.blade.php
├── label-group.blade.php
└── inputs/
    ├── input.blade.php
    ├── textarea.blade.php
    ├── select.blade.php
    └── checkbox.blade.php

```

### Ejemplo de Personalización

[](#ejemplo-de-personalización)

Una vez publicados, puedes modificar cualquier template. Por ejemplo, para cambiar el diseño de `index.blade.php`:

```

```

---

💡 Tips y Mejores Prácticas
--------------------------

[](#-tips-y-mejores-prácticas)

### 1. Define los campos fillable

[](#1-define-los-campos-fillable)

Asegúrate de definir los campos `fillable` en tu modelo para mejor detección:

```
protected $fillable = ['name', 'email', 'phone', 'is_active'];
```

### 2. Usa nombres descriptivos

[](#2-usa-nombres-descriptivos)

Los nombres de campos descriptivos permiten mejor inferencia de tipos:

✅ **Bueno**: `birth_date`, `is_active`, `description`
❌ **Malo**: `date1`, `flag`, `text`

### 3. Personaliza los templates

[](#3-personaliza-los-templates)

Publica los templates y modifícalos según tu diseño corporativo:

```
php artisan vendor:publish --tag=blade-scaffold-templates
```

### 4. Recuerda pasar variables para foreign keys

[](#4-recuerda-pasar-variables-para-foreign-keys)

Para campos `*_id`, debes pasar las relaciones desde el controlador:

```
public function create()
{
    $categories = Category::all();
    $brands = Brand::all();
    return view('products.create', compact('categories', 'brands'));
}
```

### 5. Usa la opción --force en desarrollo

[](#5-usa-la-opción---force-en-desarrollo)

Durante el desarrollo, usa `--force` para sobrescribir rápidamente:

```
php artisan make:form Product --force
```

---

🛠 Troubleshooting
-----------------

[](#-troubleshooting)

### No se generan vistas

[](#no-se-generan-vistas)

**Problema:** El modelo no existe.

**Solución:**

```
php artisan make:model Product -m
```

### Templates no encontrados

[](#templates-no-encontrados)

**Problema:** Los templates no están publicados.

**Solución:**

```
php artisan vendor:publish --tag=blade-scaffold-templates
```

### Components no funcionan

[](#components-no-funcionan)

**Problema:** Los componentes no están publicados.

**Solución:**

```
php artisan vendor:publish --tag=blade-scaffold-components
```

### Error: "Class not found"

[](#error-class-not-found)

**Problema:** Autoload de Composer no está actualizado.

**Solución:**

```
composer dump-autoload
```

### Los estilos no se aplican

[](#los-estilos-no-se-aplican)

**Problema:** Tailwind CSS no está configurado.

**Solución:**

1. Asegúrate de tener Tailwind CSS instalado
2. Verifica que los componentes usen las clases de Tailwind
3. Ejecuta `npm run dev` para compilar los assets

---

📋 Opciones del Comando
----------------------

[](#-opciones-del-comando)

OpciónDescripciónEjemplo`--path`Ruta personalizada para las vistas`--path=admin/products``--only`Generar solo vistas específicas`--only=index,form``--exclude`Excluir vistas específicas`--exclude=show,edit``--force`Forzar sobrescritura sin confirmación`--force`---

📝 Requisitos
------------

[](#-requisitos)

- **PHP**: ^7.4 | ^8.0 | ^8.1 | ^8.2 | ^8.3
- **Laravel**: ^8.0 | ^9.0 | ^10.0 | ^11.0
- **Tailwind CSS**: Recomendado (pero puedes personalizar)

---

🤝 Contribuir
------------

[](#-contribuir)

¡Las contribuciones son bienvenidas! Por favor:

1. Fork el proyecto
2. Crea una rama para tu feature (`git checkout -b feature/AmazingFeature`)
3. Commit tus cambios (`git commit -m 'Add some AmazingFeature'`)
4. Push a la rama (`git push origin feature/AmazingFeature`)
5. Abre un Pull Request

### Guías para Contribuir

[](#guías-para-contribuir)

- Mantén el código limpio y documentado
- Sigue las convenciones de Laravel
- Agrega tests para nuevas funcionalidades
- Actualiza el CHANGELOG.md

---

🔄 Changelog
-----------

[](#-changelog)

Consulta el archivo [CHANGELOG.md](CHANGELOG.md) para ver todos los cambios.

---

📄 Licencia
----------

[](#-licencia)

Este paquete es software de código abierto bajo la [Licencia MIT](LICENSE).

---

👤 Autor
-------

[](#-autor)

**Oscar Amperez**

- Email:
- GitHub: [@oamperezp](https://github.com/oamperezp)

---

🔗 Links
-------

[](#-links)

- [Repositorio en GitHub](https://github.com/oamperezp/laravel-blade-scaffold)
- [Reportar Issues](https://github.com/oamperezp/laravel-blade-scaffold/issues)
- [Packagist](https://packagist.org/packages/amptech/laravel-blade-scaffold)
- [Changelog](CHANGELOG.md)

---

🙏 Agradecimientos
-----------------

[](#-agradecimientos)

- Gracias a la comunidad de Laravel
- Inspirado por Laravel Generators y otros paquetes similares
- Diseño basado en Tailwind CSS y Laravel Jetstream

---

⭐ ¿Te gusta este paquete?
-------------------------

[](#-te-gusta-este-paquete)

Si este paquete te ayuda, considera:

- ⭐ Darle una estrella en [GitHub](https://github.com/oamperezp/laravel-blade-scaffold)
- 🐛 Reportar bugs o sugerir mejoras
- 💬 Compartirlo con la comunidad
- ☕ [Invitarme un café](https://github.com/sponsors/oamperezp)

---

📊 Estado del Proyecto
---------------------

[](#-estado-del-proyecto)

[![GitHub issues](https://camo.githubusercontent.com/9f0df54068b7f568630bb09df2f98729732264215b446daebb60107b8767d8ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)](https://camo.githubusercontent.com/9f0df54068b7f568630bb09df2f98729732264215b446daebb60107b8767d8ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)[![GitHub stars](https://camo.githubusercontent.com/69e0da8c90dbcb8f27690c03ff8989d99f5555878fd6b46e3926579cb7a60ba5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)](https://camo.githubusercontent.com/69e0da8c90dbcb8f27690c03ff8989d99f5555878fd6b46e3926579cb7a60ba5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)[![GitHub forks](https://camo.githubusercontent.com/6b1fdc1d298107708244d4efd04a8af9205e2bf21692c5dc92526610073be833/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)](https://camo.githubusercontent.com/6b1fdc1d298107708244d4efd04a8af9205e2bf21692c5dc92526610073be833/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f616d706572657a702f6c61726176656c2d626c6164652d73636166666f6c64)

---

**¡Desarrollado con ❤️ para la comunidad Laravel!**

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance78

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

121d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/50e573d12851b8ba037dc0798f1d489b2800234d49ea57a548c2468f0dacc326?d=identicon)[oamperez](/maintainers/oamperez)

---

Top Contributors

[![oamperezp](https://avatars.githubusercontent.com/u/106575629?v=4)](https://github.com/oamperezp "oamperezp (1 commits)")

---

Tags

laravelgeneratorscaffoldartisanbladetailwindcrudcommandbootstrapFormsviewsjetstream

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/amptech-laravel-blade-scaffold/health.svg)

```
[![Health](https://phpackages.com/badges/amptech-laravel-blade-scaffold/health.svg)](https://phpackages.com/packages/amptech-laravel-blade-scaffold)
```

###  Alternatives

[san-kumar/laravel-crud

Laravel CRUD generator: Generate CRUD for any db table with the crud:generate command.

564.4k](/packages/san-kumar-laravel-crud)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
