Commands Overview
Make Commands
Layer-aware equivalents of every Laravel make:* command.
Every standard Laravel make:* command has an osdd:* equivalent. The generated files are placed inside the selected layer rather than the global app/ directory.
Provider-aware Generators
Three make commands keep the layer's service provider in sync as they generate files. Each injection is idempotent — re-running the command doesn't duplicate the line, and a missing provider is silently skipped:
| Command | Statement injected | Where |
|---|---|---|
osdd:config <name> | $this->overrideConfigFrom(__DIR__ . '/../../config/<name>.php', '<name>'); | boot() (move to register() if cross-package boot timing matters — see LayerServiceProvider) |
osdd:migration | $this->loadMigrationsFrom(__DIR__ . '/../../database/migrations'); | boot() (no-op for the standard layout — the generated provider already loads it) |
osdd:seeder | $this->loadSeeders([\Vendor\Package\…\YourSeeder::class]); | boot() |
A hand-written seeder still needs the loadSeeders([...]) call added by hand — only seeders created via osdd:seeder get the injection for free.
The --layer Option
All make commands accept a --layer option that accepts the layer's Composer package name:
Terminal
php artisan osdd:model Order --layer=functional/orders
When --layer is omitted, an interactive search-and-select prompt appears so you can choose the target layer without leaving the terminal.
Examples
Model
Terminal
php artisan osdd:model Order --layer=functional/orders
# Creates: functional/orders/src/Models/Order.php
Migration
Terminal
php artisan osdd:migration create_orders_table --create=orders --layer=functional/orders
# Creates: functional/orders/database/migrations/xxxx_create_orders_table.php
Controller
Terminal
php artisan osdd:controller OrderController --layer=functional/orders
# Creates: functional/orders/src/Http/Controllers/OrderController.php
Request
Terminal
php artisan osdd:request StoreOrderRequest --layer=functional/orders
# Creates: functional/orders/src/Http/Requests/StoreOrderRequest.php
Event + Listener
Terminal
php artisan osdd:event OrderPlaced --layer=functional/orders
php artisan osdd:listener SendOrderConfirmation --layer=functional/orders
Job
Terminal
php artisan osdd:job ProcessPayment --layer=functional/billing
Test
Terminal
php artisan osdd:test OrderTest --layer=functional/orders
# Creates: functional/orders/tests/OrderTest.php
Full Command List
| Command | Laravel Equivalent |
|---|---|
osdd:cast | make:cast |
osdd:channel | make:channel |
osdd:class | make:class |
osdd:config | make:config |
osdd:console | make:console |
osdd:controller | make:controller |
osdd:enum | make:enum |
osdd:event | make:event |
osdd:exception | make:exception |
osdd:factory | make:factory |
osdd:interface | make:interface |
osdd:job | make:job |
osdd:listener | make:listener |
osdd:mail | make:mail |
osdd:middleware | make:middleware |
osdd:migration | make:migration |
osdd:model | make:model |
osdd:notification | make:notification |
osdd:observer | make:observer |
osdd:policy | make:policy |
osdd:request | make:request |
osdd:resource | make:resource |
osdd:rule | make:rule |
osdd:scope | make:scope |
osdd:seeder | make:seeder |
osdd:service-provider | make:provider |
osdd:test | make:test |
osdd:trait | make:trait |
osdd:view | make:view |