bernskiold/laravel-blame
Laravel Blame adds automatic user attribution to Eloquent models, tracking who created, updated, or deleted each record through simple traits and relationships. Ideal for audits and accountability with minimal setup.
laravel-blame addresses code-ownership forensics (who last touched this line/view and why), a need most teams either ignore or solve with ad-hoc scripts and IDE muscle memory. A maintained package that reaches 1.0.0 replaces a "someday" internal tool with a cheap, disposable dev dependency.CODEOWNERS for views). Useful when deciding whether to formalize reviewer routing or keep it informal.Assessment caveat: release 1.0.0 ships with only a changelog link — no documented feature deltas. Judgments below are based on the package's stated scope and the 1.0.0 stability signal, not verified release content. Treat as a pre-evaluation until the README/API is reviewed.
Consider it when:
require-dev dependency, evaluate on one legacy module, and measure whether ownership questions get answered faster.Look elsewhere when:
git blame, or your forge UI (GitHub/GitLab annotations, inline blame) already answers the question with zero added dependency — this is the default case for small teams..git, in which case blame data is absent exactly where you'd want it.Adoption guardrails I'd require: dev-only install, explicit environment gating so git metadata never renders in production, pinned version, and a documented fallback (plain git blame) if the package is abandoned.
To executives (one paragraph): This is a small, free, development-only utility that tells engineers who last worked on a given piece of the application's UI code. It doesn't touch customers, doesn't ship to production, and costs roughly an afternoon to trial. The business case is speed: faster onboarding onto our oldest Laravel screens and fewer review delays waiting on "who owns this?" It's a reversible experiment, not a platform commitment — if it doesn't earn its place in a month, we remove one line from a config file.
To engineering leadership: 1.0.0 marks the first semver-stable release, which is the right moment to evaluate rather than adopt blindly. Ask for: install as require-dev, environment-gated, one legacy module as a pilot, and a two-week check on whether it changed review or onboarding behavior. Flag the single-maintainer bus factor and the runtime-git-metadata prerequisite up front so nobody is surprised.
To the engineering team: This is a convenience, not a mandate. If your IDE already shows inline blame, keep using it — the package earns adoption only if it surfaces ownership where you already work (views, artisan, local debugging) and saves you a context switch. Feedback on whether it duplicates existing tooling is the actual success metric for the pilot.
How can I help you explore Laravel packages today?