sunaoka/laravel-facade-generator
Laravel Facade Generator adds an Artisan command that scaffolds facade classes for any class in your app, generating the accessor and docblocks automatically so you can call services statically without writing boilerplate by hand.
require-dev line and near-zero runtime risk; "build" costs an afternoon. The honest conclusion is that this is not an architectural dependency — it is a convention enforcer. Decide to adopt it only if you have already decided facades are part of your house style.Consider adoption when:
require-dev dependency only — it generates code and does not participate in production runtime behavior, which keeps the blast radius of abandonment or breakage close to zero.laravel-ide-helper so generated facades are discoverable by PHPStan/Psalm and autocompletion, rather than becoming invisible magic.Look elsewhere — or simply skip it — when:
For executives: This is a small, free, MIT-licensed developer convenience for our Laravel codebase. It automates a repetitive code-generation step that our engineers would otherwise do by hand, which improves consistency and saves a little time on each new service we expose. It is installed only in development tooling, never ships to production, adds no runtime risk, and can be removed at any time without touching application code. It is not a strategic dependency and does not affect the product roadmap — approve it as routine tooling hygiene, not as an architecture decision.
For engineering: One Artisan command generates a facade class with the correct namespace, stub, and container accessor, eliminating the copy-paste errors and naming drift we get when everyone hand-rolls them. Add it to require-dev, pin the version, and check Laravel/PHP compatibility on upgrade. Caveats worth stating plainly: it is a 16-star, single-maintainer package, so treat it as forkable scaffolding rather than a trusted dependency — the generated output is trivial to reproduce if it stops being maintained. Pair it with IDE-helper tooling so generated facades stay visible to static analysis, and scope its use to code where facades are already our convention. It should not be used to encourage new static-access patterns where constructor injection is the better default.
How can I help you explore Laravel packages today?