PHPackages                             sentgine/crudwizard - 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. [Framework](/categories/framework)
4. /
5. sentgine/crudwizard

ActiveLibrary[Framework](/categories/framework)

sentgine/crudwizard
===================

A simple but powerful Laravel package for effortless CRUD operations.

v2.0.8(2y ago)223MITPHP

Since Jul 14Pushed 2y ago2 watchersCompare

[ Source](https://github.com/sentgine/crudwizard)[ Packagist](https://packagist.org/packages/sentgine/crudwizard)[ RSS](/packages/sentgine-crudwizard/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)DependenciesVersions (13)Used By (0)

Crudwizard
==========

[](#crudwizard)

[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE.md)[![Latest Stable Version](https://camo.githubusercontent.com/143ac8b2568fc34f3f507713dfda6d1f1fabb891ddc3c4038bf3e0495d4220ce/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73656e7467696e652f6372756477697a6172642e737667)](https://packagist.org/sentgine/crudwizard)[![Total Downloads](https://camo.githubusercontent.com/b54651ffb5b6f5fe511a30fcaffafd19bd0c01ab4264ccdc55128b82d3bf9566/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73656e7467696e652f6372756477697a6172642e737667)](https://packagist.org/packages/sentgine/crudwizard)

Crudwizard is a powerful Laravel package designed to simplify the process of generating CRUD (Create, Read, Update, Delete) functionality for your Laravel applications. With Crudwizard, you can effortlessly create and manage your database tables, models, controllers, views, and routes with just a few simple commands.

Features
--------

[](#features)

- Efficient CRUD Generation: Crudwizard provides a streamlined approach to generating CRUD operations, allowing you to create database migrations, models, controllers, views, test, factory, and routes in a matter of seconds.
- Customizable Templates: The package offers a range of customizable view, enabling you to tailor the generated code to match your project's specific requirements.

Requirements
------------

[](#requirements)

- Laravel 10.x or higher.
- PHP 8.0 or higher.
- Use Tailwind CSS to make your life easier.

Installation
------------

[](#installation)

(1) You can install the package via Composer by running the following command:

```
composer require --dev sentgine/crudwizard
```

(2) You must publish the config and view files for better control.

```
php artisan vendor:publish --tag="crudwizard"
```

(3) Then, at the root of your laravel project, type the command below. It will ask you the name of the controller and the form fields.

```
php artisan crudwizard:generate
```

or

```
php artisan crudwizard:generate --resource="post"
```

Sometimes you may want to overwrite the existing resource files. Crudwizard does not allow you to do that by default, as it will skip overwriting your files. You can can just add the --force option to your command.

```
php artisan crudwizard:generate --resource="post" --force
```

(4) You can also specify a prefix. It will then create the controller under the Dev/Admin and the views under the folder dev/admin.

```
php artisan crudwizard:generate --resource="post" --prefix="dev/admin"
```

(5) If you make a mistake, you can just delete the resource files. Note that this will not delete the migration files. You'll have to manually delete it.

```
php artisan crudwizard:delete --resource="post"
```

or

```
php artisan crudwizard:delete --resource="post" --prefix="dev/admin"
```

(6) To get you started quickly, I would advise you to copy and paste the entire Tailwind CSS @layer component directive below. You can customize this later.

```
@layer components {
    /* Common */
    .crudwizard-resource-container {
      @apply w-full p-10 grid grid-cols-1 gap-4;
    }
    .crudwizard-top-container {
        @apply grid grid-cols-1 gap-5 md:flex justify-between whitespace-nowrap;
    }
    .crudwizard-top-sub-container {
        @apply grid grid-cols-1 gap-3 md:flex;
    }
    .crudwizard-resource-title {
        @apply font-semibold text-2xl;
    }

    /* Table */
    .crudwizard-table-container {
        @apply rounded-md border grid grid-cols-1 gap-3;
    }
    .crudwizard-table {
        @apply text-left w-full shadow-lg;
    }
    .crudwizard-thead {
        @apply bg-gray-700 text-white;
    }
    .crudwizard-body {
        @apply text-left;
    }
    .crudwizard-th {
        @apply p-2;
    }
    .crudwizard-th-action {
        @apply w-[200px];
    }
    .crudwizard-tr {
        @apply border-b;
    }
    .crudwizard-td {
        @apply px-2;
    }
    .crudwizard-td-action {
        @apply border p-2 px-3 grid grid-cols-1 gap-3  md:w-auto md:flex;
    }
    .crudwizard-pagination-container {
        @apply mt-2;
    }
    .crudwizard-resource-no-results {
        @apply text-left;
    }

    /* Form */
    .crudwizard-invalid-input {
        @apply border-2 border-red-600;
    }
    .crudwizard-invalid {
        @apply text-red-600 text-sm;
    }
    .crudwizard-form-container {
        @apply border p-5 w-full sm:w-8/12 md:w-7/12 lg:w-5/12;
    }
    .crudwizard-form {
        @apply grid grid-cols-1 gap-4;
    }
    .crudwizard-form-fieldset {
        @apply grid grid-cols-1 gap-2;
    }
    .crudwizard-form-text-input {
        @apply border py-1 px-2;
    }

    /* Buttons */
    .crudwizard-button {
        @apply text-white px-2 py-2 rounded text-sm uppercase flex justify-center items-center gap-2;
    }
    .crudwizard-back-button {
        @apply crudwizard-button bg-gray-100 hover:bg-gray-200 text-gray-800;
    }
    .crudwizard-save-button {
        @apply crudwizard-button bg-green-800 hover:bg-green-900;
    }
    .crudwizard-add-new-button {
        @apply crudwizard-button bg-blue-800 hover:bg-blue-900;
    }
    .crudwizard-show-button {
        @apply crudwizard-button bg-purple-800 hover:bg-purple-900 text-xs;
    }
    .crudwizard-edit-button {
        @apply crudwizard-button bg-yellow-800 hover:bg-yellow-900 text-xs;
    }
    .crudwizard-delete-button {
        @apply crudwizard-button bg-red-800 hover:bg-red-900 text-xs;
    }
    .crudwizard-modal-delete-yes-button {
        @apply crudwizard-delete-button mt-5 min-w-[100px];
    }
    .crudwizard-modal-delete-cancel-button {
        @apply crudwizard-button bg-gray-500 mt-5 min-w-[100px];
    }

    /* Modal */
    .crudwizard-modal-container {
        @apply fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-50;
    }
    .crudwizard-modal-subcontainer {
        @apply bg-white rounded-lg p-6 shadow-xl grid grid-cols-1 gap-2;
    }
    .crudwizard-heading {
        @apply text-lg font-bold;
    }
    .crudwizard-button-container {
        @apply flex justify-between;
    }
  }
```

(7) Make sure you run your Laravel local server.

```
php artisan serve
```

(8) Open another terminal, and run the command below to compile and build your frontend asssets.

```
npm run dev
```

(9) You can explore other commands as well.

```
php artisan crudwizard --help
```

Testing
-------

[](#testing)

By default, generating the CRUD will create a test file. There are two things you need to do to be able to test this.

(1) Add this code below to your Laravel app's config/database.php file under the connections key.

```
'testing' => [
    'driver' => 'mysql',
    'host' => env('DB_TEST_HOST', '127.0.0.1'),
    'port' => env('DB_TEST_PORT', '3306'),
    'database' => env('DB_TEST_DATABASE', 'test_database'),
    'username' => env('DB_TEST_USERNAME', 'root'),
    'password' => env('DB_TEST_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
    'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
    ]) : [],
],
```

(2) Under the root directory of your Laravel app, you will see a phpunit.xml file. Add this code below inside the "php" tag.

```

```

This will allow you to use a new database for your test. It is generally good practice not to use the configuration for your live database. Instead, use a separate database for testing.

(3) And add this to your .env file under the root of your Laravel app.

```
DB_TEST_HOST=127.0.0.1
DB_TEST_PORT=3306
DB_TEST_DATABASE=core_test_database
DB_TEST_USERNAME=root
DB_TEST_PASSWORD=

```

Changelog
---------

[](#changelog)

Please see the [CHANGELOG](https://github.com/sentgine/crudwizard/CHANGELOG.md) file for details on what has changed.

Security
--------

[](#security)

If you discover any security-related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

Crudwizard is built and maintained by Adrian Alconera. Visit my [YOUTUBE](https://www.youtube.com/@sentgine) channel!

License
-------

[](#license)

The MIT License (MIT). Please see the [LICENSE](https://github.com/sentgine/crudwizard/LICENSE) file for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

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

Every ~7 days

Total

12

Last Release

952d ago

Major Versions

v1.0.2 → v2.0.02023-07-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/caccf1968157ad073419fca736a91a47bd83a1c3fcc0a0a87ebc240c22d645ca?d=identicon)[sentgine](/maintainers/sentgine)

---

Top Contributors

[![sentgine](https://avatars.githubusercontent.com/u/122154706?v=4)](https://github.com/sentgine "sentgine (15 commits)")

### Embed Badge

![Health badge](/badges/sentgine-crudwizard/health.svg)

```
[![Health](https://phpackages.com/badges/sentgine-crudwizard/health.svg)](https://phpackages.com/packages/sentgine-crudwizard)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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