exeque/laravel-monocle
Exeque Laravel Monocle is a lightweight inspection and monitoring package for Laravel apps. It gives developers quick visibility into key runtime details, helping you understand behavior, troubleshoot issues, and keep your application healthy with minimal setup.
Build vs. buy for local observability. Monocle sits in the "developer-facing tracing" slot that teams otherwise fill by hand-rolling request logging, dumping queries, or stitching together Telescope + Debugbar + Sentry. v0.9.0 is a maintenance/compatibility release, not a feature release — which is the signal a PM should read: the package is being kept current against the ecosystem rather than expanding scope. That supports "buy" (adopt as a dev dependency) over "build an internal tracing tool" for teams without a dedicated platform engineer.
Support-matrix and upgrade-timing decisions. The release explicitly tracks PHP 8.5 and Filament 5.10.2. If your roadmap includes upgrading either — especially a Filament major-ish bump where notification state moved from the session into a notification mailbox — Monocle has already absorbed that change. This de-risks a framework upgrade that would otherwise cost engineering days of debugging silently-broken instrumentation.
Debugging capability on the roadmap, not just the backlog. The lens set now spans validation, cache, logs, views, Livewire, and Filament notifications, with a browser-side opt-in. That maps directly to the recurring "why is this slow / why did this fail / where did this log come from" class of tickets. Adoption is a candidate for a Q-level developer-experience initiative rather than a one-off tooling ticket.
Use cases worth naming in planning:
SplObjectStorage warnings.array-driver false positive is removed, so Cache::memo() warnings become actionable signal. This matters for teams tuning read-heavy endpoints.render() methods and layout templates are now named as origins instead of inline: plus a hash, making view-level performance work traceable to a real file.trace.browser.enabled, so the Monocle button is opt-in and the install docs say so. Reduces accidental exposure and payload in environments where nobody intended to enable it.Adoption and rollout decisions this unblocks: adding it as a require-dev dependency, defining which environments get browser tracing enabled, and pinning a version for the team.
Consider adoption when:
dd()/Log::info() calls and removing them later, or by reading laravel.log without trusted origin information.Look elsewhere when:
Risk notes to carry forward: pre-1.0 versioning means minor bumps can change behavior — the Filament notification-mailbox change and the Livewire inline-template naming change both alter what you see, which will invalidate any saved expectations, dashboards, or documentation built on the old output. Pin to 0.9.x, re-read the notes on each bump, and set an explicit checkpoint at 1.0 before widening usage.
For executives (one paragraph): This is a free, developer-only diagnostics layer for our Laravel application, and the latest release is a compatibility-and-accuracy update rather than a new capability. The practical value is cycle time: when a request is slow or a log line is confusing, engineers get the answer — which query, which cache call, which template, which line raised the warning — without writing throwaway debugging code or waiting on a hosted monitoring trial. It requires no infrastructure, no procurement, and no production footprint, and it is removed by deleting a dev dependency. The main caveat is maturity: it is pre-1.0, so we adopt at a pinned version with development-only scope and revisit at 1.0.
For engineering leads (the substance):
require-dev and local/staging environments. Do not put it on the production path.inline: hashes; the array cache driver no longer produces a false "repeated read" warning; and the PHP 8.5 SplObjectStorage deprecation spam from the validation lens is gone. Those four together remove most of the noise that would have made the tool ignorable.trace.browser.enabled — confirm the flag is explicitly off in any shared environment, and update install docs/onboarding accordingly since the default expectations changed.->send() are captured again after the upstream mailbox change; older Filament versions remain supported, so this doesn't force an upgrade.Recommendation: adopt as an evaluated, pinned, dev-only dependency for one quarter on the highest-traffic Livewire/Filament surface, measure diagnostic time on a small set of real tickets, and make the keep/expand/drop call at the 1.0 release.
How can I help you explore Laravel packages today?