Cli is the interactive scaffolding tool for Laravel Enso resources and packages.
The package exposes the enso:cli command, keeps a restorable configuration session in cache, validates the configured model and menu structure before generation, and writes the backend, frontend, and package boilerplate needed for standard Enso CRUD modules.
It is intended to accelerate repetitive Enso structure work, not to replace manual refinement after the initial scaffold is created.
Install the package:
composer require laravel-enso/cliIf you want to publish the configuration presets used by the generator:
php artisan vendor:publish --tag=cli-configThe package automatically:
- registers the
enso:cliArtisan command - merges the structure presets from
config/enso/structures - writes generated files into either the application tree or a new Enso package tree, depending on the selected options
- Interactive command flow for configuring model, permission group, permissions, menu, files, and package metadata.
- Validation for namespaced model paths, menu routing consistency, and parent-menu selection before generation.
- Cached session restore so incomplete scaffolding sessions can be resumed.
- Writers for models, migrations, form builders and templates, table builders and templates, CRUD routes, Vue pages, and structure migrations.
- Package scaffolding support, including resources, optional config, and optional service providers.
Start the interactive generator:
php artisan enso:cliThe command lets you configure these sections before generation:
ModelPermission GroupPermissionsMenuFilesPackage
When generation succeeds, the package clears the cached session and, when needed, prints the API route include that must be added to the host application's routes/api.php.
Validation can be toggled off temporarily from the command menu, but the intended workflow is to keep it enabled and fix the reported configuration errors before generating files.
enso:cli
Published under config/enso/structures:
model.phpmenu.phppermissions.phppackage.phpparams.phpfiles.phppermissionGroup.php
Depending on the selected file set, the generator can write:
- Eloquent model classes
- create-table and structure migrations
- form builders, templates, and request validators
- table builders and templates
- CRUD API controllers and route stubs
- frontend view pages and route files
- package resources, config, and providers
Built-in validation covers:
- namespaced model syntax using forward slashes
- menu route alignment with permission routes
- regular menu items requiring a route
- parent menu existence and ambiguity checks
- parent-menu route restrictions when
has_childrenis enabled
Required Enso packages:
laravel-enso/core↗laravel-enso/helpers↗laravel-enso/menus↗laravel-enso/permissions↗laravel-enso/enums↗laravel-enso/roles↗
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!