orchestra/canvas
Orchestra Canvas brings Laravel’s artisan make code generators to apps and packages. Use familiar make:* commands outside a Laravel install or with customizable namespaces and stubs, speeding scaffolding for controllers, models, migrations, and more.
canvas.yaml. This supports a scalability roadmap by reducing technical debt and improving codebase readability.Adopt Canvas if:
make:job-middleware).make:* commands without requiring a full application context.Look Elsewhere if:
*"Canvas is a force multiplier for Laravel development, cutting down on repetitive boilerplate and accelerating feature delivery. Here’s why it’s a smart investment:
canvas make:model User -m). This translates to weeks of saved time per year for teams building multiple Laravel projects or packages.App\Models\, database/migrations/) via canvas.yaml, reducing technical debt and improving maintainability—critical for scalable, enterprise-grade applications.Ask: ‘How much time do developers spend manually writing boilerplate? Canvas turns that into productive time.’"
*"Canvas solves two critical pain points in Laravel development:
Inconsistent Scaffolding:
Models\Post vs. App\Models\Post).canvas.yaml, ensuring predictable file structures and naming conventions across projects.Package Development Bottlenecks:
make:* commands in a standalone, package-friendly way.Key Benefits:
canvas.yaml to match your team’s conventions.make:job-middleware.Proposal:
canvas.yaml in new projects to standardize scaffolding from day one.Ask: ‘Where are we wasting time on manual scaffolding? Let’s automate it.’"*
*"Tired of writing the same boilerplate over and over? Canvas replaces make:model, make:migration, and more with a single command—and it works even outside Laravel for packages and components.
Why You’ll Love It:
make:controller, make:job, etc.), just with canvas instead of artisan.canvas.yaml (e.g., App\Models\ vs. Models\).Try It:
# Install
composer require --dev orchestra/canvas
# Generate a model + migration
canvas make:model Post -m
# Configure for your project
canvas preset laravel # or `package` for libraries
Ask: ‘How much time could we save if we didn’t write this boilerplate manually?’"*
How can I help you explore Laravel packages today?