- What is nasirkhan/laravel-starter used for?
- Laravel Starter is a CMS-like modular starter project built on Laravel 13.x. It includes common application features such as authentication, authorization, user management, role management, an admin backend, backups, and log viewing. You can use it as a base for content-heavy applications and build reusable modules on top of it. Frontend and backend are fully separated with distinct routes, controllers, and themes.
- How do I install nasirkhan/laravel-starter?
- For a greenfield project, use composer create-project nasirkhan/laravel-starter and then run php artisan starter:install to configure the environment file, database, and assets. The project is designed as a zero-config starter, and a live demo is available if you want to inspect the backend before installing. Review the installation section for all supported setup options.
- Does laravel-starter support Laravel 13.x?
- Yes, Laravel Starter is built on Laravel 13.x and is intended to track the latest LTS features. The evaluation recommends strict version pinning for dependencies, especially livewire/livewire v3.x, to avoid breaking changes. Companion packages such as nasirkhan/module-manager, laravel-cube, laravel-jodit, and sharekit are integrated to reduce boilerplate.
- How does the modular architecture in Laravel Starter work?
- The package uses nasirkhan/module-manager to provide a modular structure where features such as Posts, Comments, and Users can be isolated. Modules are self-contained with their own migrations, routes, and assets, which helps reduce dependency conflicts in team workflows. You can audit modules with module:status before enabling them and use module:enable to bring a module online. Modules can be reused in any Laravel Starter based project.
- What features are included in Laravel Starter?
- Laravel Starter includes authentication, authorization, user management, role and permission management, an admin backend, backup support, and a log viewer. The frontend uses Livewire with Tailwind while the backend uses CoreUI with Bootstrap, giving you separated themes and controllers. It also supports dark mode, multilingual support, and WYSIWYG editing through companion packages.
- How do I enable or disable a module in Laravel Starter?
- Use php artisan module:status to audit installed modules and their dependencies before changing anything. Then use module:enable to activate a module, ideally migrating one module at a time in existing applications. Because modules carry their own migrations, routes, and assets, check for route or asset conflicts before enabling several modules at once.
- Can I use Laravel Starter in an existing Laravel application?
- Yes, but it is not a drop-in replacement. One approach is to install nasirkhan/module-manager separately and migrate one module at a time, such as Auth first and then Posts, using module:enable. Another approach is to replace auth, spatie/laravel-permission, and livewire incrementally and override configuration files such as config/module-manager.php to match your existing structure.
- Is Laravel Starter suitable for production and high-traffic applications?
- The package is actively maintained and suited to content-heavy CMS, blog, and SaaS-style applications. For high-traffic sites, assess Livewire reactivity overhead against traditional Blade rendering and add caching strategies for modular routes. It works with MySQL, PostgreSQL, and SQLite through Laravel's query builder but has no native NoSQL support such as MongoDB. Clear the spatie.permission.cache after role or permission updates.
- What license does nasirkhan/laravel-starter use?
- Laravel Starter is distributed under the GPL-3.0 license. That means derived works generally need to be open-sourced, so confirm alignment with your legal and business teams before using it in proprietary projects. If GPL compliance is a concern, evaluate alternatives or discuss the licensing implications with your organization first.
- How do I update Laravel Starter and keep modules working?
- After pulling repository changes, run php artisan starter:update, which runs composer update and related checks. Pin livewire/livewire to v3.x in composer.json to avoid breaking changes, and audit modules with module:status before enabling new ones. For Dockerized environments, validate laravel-sail compatibility with custom modules and extend the Dockerfile for any additional PHP extensions.