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:

CommandStatement injectedWhere
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

CommandLaravel Equivalent
osdd:castmake:cast
osdd:channelmake:channel
osdd:classmake:class
osdd:configmake:config
osdd:consolemake:console
osdd:controllermake:controller
osdd:enummake:enum
osdd:eventmake:event
osdd:exceptionmake:exception
osdd:factorymake:factory
osdd:interfacemake:interface
osdd:jobmake:job
osdd:listenermake:listener
osdd:mailmake:mail
osdd:middlewaremake:middleware
osdd:migrationmake:migration
osdd:modelmake:model
osdd:notificationmake:notification
osdd:observermake:observer
osdd:policymake:policy
osdd:requestmake:request
osdd:resourcemake:resource
osdd:rulemake:rule
osdd:scopemake:scope
osdd:seedermake:seeder
osdd:service-providermake:provider
osdd:testmake:test
osdd:traitmake:trait
osdd:viewmake:view