znck/repository
A Laravel repository package that abstracts data access behind clean interfaces, keeping controllers thin and your code testable. Swap Eloquent-backed implementations, add caching, and bind repositories through the container without rewriting business logic.
model() method is a hard break. If anything in the codebase or a downstream service calls it, that work must be scheduled before any version bump — this is a PM-visible line item, not just an engineering detail.Adopt when:
model()-free API surface is sufficient for your query patterns — confirm this explicitly before committing.Look elsewhere when:
model() or its semantics; migrating off it is a blocker with no stated replacement path in these notes.Action before adoption: get a written answer on what replaces model(), and confirm whether the removal is permanent or a rename.
To executives: This package just became considerably more useful — it now plugs into Laravel Scout, the framework's standard search layer, which means we can add search functionality without building a custom integration or locking ourselves to one search vendor. That's a meaningful reduction in both build cost and vendor risk on any search-related roadmap item. The caveat is maturity: this is a pre-1.0 package, and this very release removed a public method, so I'd position it as "evaluate now, commit after the next release stabilizes" rather than "adopt today."
To engineering: Two changes in v0.3.0. The upside is Scout support — a standard, well-understood integration path and backend flexibility. The cost is that model() is gone with no stated migration path in the release notes, so anyone on 0.2.x needs to audit call sites first. Recommendation: spike it behind an internal abstraction on one non-critical surface, confirm the replacement for model(), and hold broad adoption until the API settles — ideally at or near 1.0. Budget for at least one more breaking change before then.
How can I help you explore Laravel packages today?