mpociot/blacksmith
Blacksmith is a Laravel code generation tool that turns a simple YAML schema definition into Eloquent models, migrations, and related scaffolding, cutting boilerplate when starting new projects or adding database-backed features.
stubs/ directory. Everything else is plumbing. Any investment we make should target those two surfaces, whether we adopt the package or not.composer require --dev, vendor:publish for config and stubs, and a confirmed Artisan command name. The gating step is composer why-not mpociot/blacksmith against the target app. On PHP 8+ / Laravel 8+ expect a hard stop; there is no maintenance path to resolve those constraints.belongsTo with the wrong foreign key — it compiles, it runs, and it surfaces weeks later. Relationship declarations require explicit migration-and-model review, not a skim.composer update across the app long after the motivating feature is gone.make:resource-style) with our own templates. Roughly a few days of engineering; gives us conventions control and an upgrade path the package does not have.composer show mpociot/blacksmith and open vendor/mpociot/blacksmith/ to confirm what was actually installed.composer why-not mpociot/blacksmith against the target app's PHP and Laravel versions.Route::resource-era routing. Generated code that compiles but violates our conventions is a maintenance cost we are choosing.post-install script.php artisan list | grep blacksmith).Post with title, body, published_at, user_id → belongsTo User) and diff the output against a hand-written equivalent. That diff answers "usable verbatim?" better than any README: migration style, $fillable vs $guarded, relationships, casts, validation placement, route registration, Blade scaffolding.-v to see what it writes where, check published config for output-path overrides before assuming files vanished, and inspect the schema parser's type map (not the stub) when a field type is silently ignored.How can I help you explore Laravel packages today?