runcmf/runtracy
Integrates the Tracy debugger with Laravel, adding a debug bar, dump helpers, and panels for inspecting requests, queries, and performance during local development. A lightweight debugging and profiling aid for Laravel apps.
Architecture fit
The first thing a TPM has to flag is a framing mismatch: runcmf/runtracy is not a Laravel package. It is a thin glue layer that wires the Tracy debugger (Nette's mature error-handler/dump/Debugger-Bar library) into Slim Framework. There is no service provider, no facade, no config-publishable file, no Blade/Telescope/Ignition integration, and no laravel/framework dependency in the manifest. The package's only job is: bootstrap Tracy, register the Bar panel, and hook Slim's error handler so exceptions render through Tracy instead of Slim's default renderer.
Consequently, fit splits sharply by context:
Handler pipeline.Integration feasibility
Composer-installable and PSR-4 autoloaded, so mechanical integration is trivial where it targets the right framework. Feasibility is gated by three things a TPM should verify before committing engineering time:
tracy/tracy 2.x pin will collide with PHP 8.x via composer require platform checks, and Tracy 2.x itself had deprecation-level breakage on 8.1+. Any modern runtime requires a fork-and-patch, not an install.Technical risk
Key questions
require-dev plus a APP_DEBUG guard), or does that rely on each team's discipline?tracy/tracy 2.x transitively?Stack fit
Segment by runtime, not by package name. For Laravel services, the answer is no — map the underlying need to Ignition + Telescope + a Debugbar panel, which are maintained, first-party-adjacent, and already understood by the team. For Slim 3 services, the answer is yes, conditionally, and preferably by reproducing the glue internally rather than consuming the abandoned package. For Slim 4 services, the answer is not without a rewrite, at which point writing native PSR-15 middleware is the same effort with a better ownership story.
Migration path
Two viable paths, both cheap:
runcmf/runtracy into an internal package, bump the tracy/tracy constraint to a maintained 2.x/3.x line, patch PHP 8 incompatibilities (dynamic properties, removed functions), add a APP_DEBUG-style hard gate, and publish to the internal registry. Estimate 1–3 engineer-days including a PHP version matrix in CI.Path B is the better default because it converts a stale third-party artifact into ~30 lines the team owns and can read in one sitting. Path A is justified only if multiple teams need identical behavior and a shared internal package reduces duplication.
Compatibility
Assume Slim 3-only until proven otherwise; assume PHP 7.x-era constraints. Expect Composer conflict friction against any framework or tooling that requires modern tracy/tracy, and expect the fork to be the moment you discover what else in the tree pins Tracy. On the Laravel side there is no compatibility story at all — no package discovery, no config merge, no handler integration — so any attempt to force it in is bespoke adapter work with no upstream support.
Sequencing
require-dev only, CI job asserting the debugger is inert when the flag is off.Maintenance
Upstream is dormant, so maintenance cost transfers entirely to us. Budget a named steward and roughly 2–5% of an FTE annually for a fork (dependency bumps, PHP matrix, security triage), or near-zero for Path B since the surface is small and Tracy is upgraded independently. Apache-2.0 makes the fork legally uncomplicated, which is the main thing this package has going for it.
Support
No vendor, no SLA, no release cadence. Community Q&A only. In practice the support burden lands on Tracy's documentation, which is good and actively maintained — another argument that the wrapper adds little. An internal runbook is mandatory: how to enable, how to disable, what the gate variable is, and who to page if the debugger misbehaves in a shared environment.
Scaling
This is a development tool, so production scaling impact should be zero — if the gate holds. Tracy's Bar adds per-request instrumentation, panel rendering, and dump buffering; under high request rates with the gate accidentally open, expect measurable latency and memory growth plus unbounded log/dump capture. The real "scaling" concern is organizational: the more services adopt it, the more places a misconfigured environment variable can leak internals.
Failure modes
Ramp-up
Low for PHP engineers already familiar with Tracy or Symfony VarDumper/Debugbar — roughly half a day to read the glue and understand the gate. Higher for Laravel-only engineers, who will reasonably ask why they aren't using Ignition, and whose instinct is correct. The ramp-up cost is not learning the tool; it is learning why this tool exists here, which is an architectural question the TPM should answer in writing before adoption.
How can I help you explore Laravel packages today?