Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Ide Facades Helper Laravel Package

andrey-helldar/laravel-ide-facades-helper

Laravel IDE Facades Helper generates IDE helper files for Laravel facades, adding PHPDoc annotations so editors and IDEs can autocomplete facade methods and static calls more accurately.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Developer experience investment / tooling prioritization. This package is a candidate line item in the "internal developer productivity" bucket, not a product feature. It informs the buy-vs-build-vs-skip call on IDE tooling: the problem it solves (no autocomplete or type hints on Cache::, Http::, Auth::, custom Seo:: facades) is real and recurring, but the effort to solve it is hours, not sprints. That framing alone is a decision: the opportunity cost of not doing it is a small, permanent tax on every developer who touches facades.

Build vs. buy vs. absorb. This is the strongest decision this package informs. The capability is ~200 lines of facade introspection plus PHPDoc emission — genuinely buildable in-house. What changed with v1.8.0: the previous assessment's decisive argument was "the package is archived and frozen since January 2022." That premise no longer holds cleanly — there is now a tagged release after v1.7.0, which means either the repo was never fully dormant or it has been revived. However, the release notes for v1.8.0 contain no changelog body — only a compare link. We therefore know that something shipped and nothing about what. The strategic question is unchanged in shape — vendor it, replicate the generator ourselves, or standardize on a maintained tool that already covers this (notably barryvdh/laravel-ide-helper's facade generation) — but the risk narrative shifts from "abandoned software" to "single-maintainer software with an opaque release process." Both are reasons to verify before adopting; only the first was a hard stop.

Compatibility as a gate, not an assumption. A new tag is not evidence of Laravel 10/11 support. The release-notes payload tells us nothing about framework-internals changes, which is exactly the class of change that breaks this tool silently. The PM-level decision is to make "read the v1.7.0…v1.8.0 diff and the current composer.json constraints" a mandatory step in the evaluation, not a nice-to-have. If the diff shows framework-internals churn, that is a positive maintenance signal; if it shows only housekeeping and the constraint still tops out at Laravel 9, the recommendation reverts to the prior "reference implementation only" posture.

Roadmap input on facade usage. The package's coverage gaps are a diagnostic for architecture choices. Real-time facades, runtime-registered macros, container-alias accessors, and __call-proxied sub-objects (Cache::store()->…) all fall outside what can be generated. If our codebase leans heavily on those patterns, the tooling ROI drops and the better roadmap answer is to reduce reliance on opaque static proxies. That's a product-quality signal, not just a tooling one.

Standardizing the generated-artifact policy. Adopting (or rejecting) this forces a decision that recurs across all dev-tooling: commit generated stubs for reproducibility, or generate on demand. The right PM-level call is to set one policy centrally — commit, tag as linguist-generated, regenerate in post-autoload-dump — rather than let each team improvise. Divergent policy across repos is the actual cost driver here, not the package.

CI and quality-gate decisions. If we run Larastan/PHPStan, generated facade annotations must be in the analysis bootstrap or static analysis reports false "undefined static method" errors on valid code. Whether that gap is worth closing is a quality-gate decision this package surfaces.

Onboarding and upgrade planning. Fresh-clone time-to-productive and the cost of a Laravel major upgrade both move slightly. The meta-signal has softened but not disappeared: a tool that tracks framework internals and ships without a changelog still needs an owner who reads diffs, and "pin dev tooling to framework versions" remains an unassigned responsibility in most orgs.

When to Consider This Package

Consider it when all of these hold:

  • The v1.7.0…v1.8.0 diff and the current composer.json both confirm support for our Laravel/PHP version. This is the hard gate, and the v1.8.0 notes alone do not clear it — the compare link must be read before anything else.
  • The repo is confirmed active (or at least not archived) as of the v1.8.0 tag; re-check the archive flag, since the prior assessment recorded it as archived and that record is now in question.
  • Developers use PhpStorm, VS Code + Intelephense, or a comparable LSP editor, so IDE metadata has actual consumers.
  • The codebase uses Laravel facades heavily, including project-defined custom facades — that's where the payoff over generic tooling is clearest.
  • We want zero-coupling, dev-only tooling: require-dev, no service provider on the request path, no runtime behavior, removal cost of one composer remove --dev.
  • A time-boxed pilot (one repo, one sitting) is acceptable as the evaluation method.

Look elsewhere — or skip — when any of these hold:

  • The v1.8.0 diff doesn't touch framework-internals compatibility, or the constraint still excludes Laravel 10/11+. A new tag with no stated contents is not a compatibility claim. If the diff is housekeeping only, the old "frozen software" risk stands.
  • Single-maintainer / no bus factor is a policy blocker. Even in the best reading of v1.8.0, this remains a low-star, single-maintainer dependency whose release notes are a bare URL. For many orgs that alone fails the standard-toolchain bar — but it is now a policy objection rather than a liveness one. Prefer barryvdh/laravel-ide-helper (actively maintained, already covers facades) or an in-house generator of comparable size.
  • Laravel 10/11+ fleet with unverified compatibility. Drift with framework internals is the primary technical risk; the v1.8.0 notes give no assurance it's being managed. Silent staleness producing wrong autocomplete is worse than no autocomplete.
  • No static analysis and no IDE introspection culture — zero value, pure maintenance.
  • Heavy macro or real-time-facade reliance. The generator can't see them, so perceived value drops and you'll end up hand-writing stubs anyway.
  • laravel-ide-helper facade generation is already enabled. You'll get duplicate or conflicting annotations; consolidating on one source is the better decision.
  • No DX/platform owner. Value is shared across repos, so ownership must sit with a platform group, not an application team.

Recommended posture: the v1.8.0 tag weakens the "abandoned" objection but supplies no evidence in its place. Evaluate as a design reference and a 1–2 hour pilot, with a mandatory 30-minute verification pass first (read the diff, check composer.json, re-check the archive flag). Default answer remains no, unless the verification pass confirms a clean version matrix and the org accepts a single-maintainer dev dependency — the difference from before is that this is now a decision to be made on evidence we can actually gather rather than a foregone conclusion.

How to Pitch It (Stakeholders)

For executives (30 seconds). Laravel facades are the shorthand our developers use constantly, but IDEs can't see through them — no autocomplete, no parameter hints, no return types, and static analysis throws false errors on valid code. This package fixes that by generating a single annotations file. Cost: a few hours of an engineer's time, one dev-only dependency, nothing on the production path. Risk: effectively zero at runtime, fully reversible with one command. The update: a new version shipped (v1.8.0), which means the project isn't as dormant as we recorded — but the release notes are literally just a link to a diff, so we don't yet know whether it supports our current Laravel version. Recommendation: spend half an hour reading the diff, then decide between this, a maintained equivalent, or a small in-house generator. Do not standardize on this repo until that check clears.

For engineering. It's a require-dev PHPDoc generator: it introspects each facade's accessor class and writes @method / @see annotations to _ide_helper_facades.php in the project root. No runtime coupling, no request-path service provider, no schema or data impact. Integration is two lines: composer require --dev, then php artisan ide-facades-helper:generate, wired into post-autoload-dump (guarded so it never fires in production). Removal is composer remove --dev plus deleting the file. Two operational rules: regenerate in CI and diff-check for drift, and decide commit-vs-gitignore once, centrally. Known blind spots we should size before committing: runtime macros, real-time facades, and container-alias accessors produce incomplete stubs. New action item: v1.8.0 landed with no changelog body — before we touch it, read compare/v1.7.0...v1.8.0 and the current composer.json, and re-check whether the repo is still flagged archived.

The honest counter-pitch. If someone asks "why not just use this," the answer is no longer "it's dead" — it's "we can't tell what changed, and nobody owns it." A dev tool that tracks framework internals, ships with a bare-URL changelog, and has a single maintainer becomes a silent source of wrong autocomplete after the next Laravel upgrade; wrong hints are worse than none. v1.8.0 gives us a reason to re-examine the package, not a reason to trust it. That's the argument for funding a maintained dependency or a small in-house generator, and it's the decision this release should actually drive.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib