Docs Navigation Open
Local Development Setup
Set up a local Evo 3 project so package development, migrations, Blade views, assets, and Artisan commands work predictably.
Recommended Baseline
- PHP 8.3 or newer
- Composer 2.x
- Git
- a database engine supported by the project, or SQLite for simpler setups
- Node only if your package or theme builds frontend assets locally
What a Good Local Setup Must Support
- installing the project
- running migrations and seeders
- developing package classes inside
core/custom/packages - editing Blade views and rebuilding Tailwind when needed
- testing routes, validators, APIs, and manager integrations locally before touching production
Useful Project Commands
composer install
php core/artisan migrate
php core/artisan package:create example
php core/artisan package:discover
php core/artisan cache:clear-full
php core/artisan route:list
Package Development Loop
The example-package repository is a good real-world donor for modern package structure. A typical local cycle looks like this:
php core/artisan package:installrequire evolution-cms/example-package "*"
php core/artisan package:discover
php core/artisan migrate
php core/artisan example:install-demo
When Node Is Needed
Many packages work without Node because they ship prebuilt assets. In example-package, prebuilt files live under public/assets/vendor/example. Rebuild assets only when you change package frontend code.
npm i
npm run build
For the actual package folder anatomy, continue with Project Structure and Creating an Extra.
Troubleshooting
Troubleshoot Evolution projects in a stable order: structure, data, tags, cache, extras, and environment.
Project Structure
Understand the Evo 3 project layout and the package structure used by real custom packages such as example-package.