ralphjsmit/stubs
Take control of Laravel's generator stubs. This package lets you publish and override the template files behind artisan make commands, so generated classes, migrations, and tests follow your project's own conventions and coding style, all configured simply.
Frame it as a tooling line item, not a roadmap commitment. With 18 stars, zero dependents, and no release since February 2023, this package cannot carry a product capability decision. What it can do is support a small set of process and ergonomics decisions — and only if you keep the scope honest.
artisan make:* stubs let you encode house style — DTOs, actions, form requests, factories, test scaffolds — once, so generated code is compliant by default. This supports a process decision ("consistency by tooling, not by code review"), not a product feature. The metrics that make it a real decision: time-to-first-merged-PR for new engineers, review comments per boilerplate file, and percentage of new classes that match house patterns on first pass.Storage facade directly. It is explicitly not an input to decisions about customer uploads, media libraries, tenant disk segregation, backup pipelines, or anything with an SLA. Those are reliability and compliance calls made on first-party Flysystem.Storage, or a set of committed stub files, captures roughly 90% of the benefit with 100% of the ownership. Model this as build vs. adopt-vs-build, and at this size the build option usually wins.Gating caveat before any of the above: the record is internally inconsistent. The install name ralphjsmit/stubs describes a stub-publishing package; the repository URL and the "fluent filesystem" description point at ralphjsmit/filesystem. These support different decisions with different risk profiles — one is a build-time conventions tool with near-zero runtime blast radius, the other is a runtime layer sitting in front of real file I/O. Until identity is confirmed against Packagist and source, this artifact is unresolved and should not influence a roadmap commitment.
Adopt only when all of the following hold:
Look elsewhere when:
Storage/Flysystem or a maintained package with a disclosure process.For executives — one paragraph:
A small, free (MIT) Laravel helper. Depending on which package the record actually refers to, it either standardizes the boilerplate files artisan make:* generates, or makes internal file-handling code shorter. It is not a platform, not a paid dependency, and not a capability we lack — Laravel already ships the underlying scaffolding and storage APIs. The realistic upside is a modest amount of engineering time saved on internal tooling and onboarding consistency. The realistic downside is a single-maintainer, near-zero-adoption dependency with no release since February 2023 and a metadata mismatch meaning we don't yet know which package we'd install. Recommendation: low-risk, low-reward. Acceptable only for internal, non-customer-facing utilities, only after identity and compatibility are verified, only behind an internal adapter with a documented fallback to native Laravel APIs, and only if engineering — not the roadmap — absorbs the ownership cost. It should never touch customer data or anything with an uptime commitment. Budget hours, not a sprint; if evaluation costs more than a day, stop and build it internally.
For engineering:
composer.json constraints, namespace, and service provider. stubs and filesystem imply different work — treat the mismatch as a blocker, not a footnote.Storage/Flysystem and Laravel's own stub publishing already do the job. Adopt only where you can demonstrate concrete boilerplate reduction.Storage; open issues scanned; no known vulnerabilities. With zero dependents and a 2023 release, plan for no upstream support.How can I help you explore Laravel packages today?