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

Repository As A Service Laravel Package

shapecode/repository-as-a-service

Shapecode's Repository as a Service brings repository-pattern abstractions to Laravel, helping decouple data access from business logic, keep models and controllers lean, and swap or reuse query implementations behind a clean, testable service layer.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a repository layer: The package exists to answer a narrow question — should we adopt a third-party Symfony bundle to auto-register repository services, or wire repositories with framework-native configuration? Given its age (Symfony2-era) and adoption (2 stars, 0 dependents), it effectively settles the decision toward build/configure natively.
  • Legacy modernization scoping: If this package appears anywhere in a dependency graph, that surfaces a concrete modernization workstream — replacing a hand-rolled Symfony2 bundle with modern Doctrine ServiceEntityRepository and Symfony autoconfiguration/_instanceof tagging.
  • Engineering-standards guardrails: Use it as a reference example of what not to publish or adopt — no maintainer velocity, no test surface, no ecosystem signal — to justify a dependency-approval checklist (stars, dependents, last release, Symfony/Doctrine version support).
  • Roadmap hygiene: Supports a "reduce abandoned dependencies" initiative item rather than any customer-facing feature; treat it as tech-debt remediation, not a capability enabler.
  • Reference architecture only: Could be skimmed as a minimal example of a DI compiler-pass registration bundle, useful for internal documentation — but not as a runtime dependency.

Bottom line: this package does not unlock a product capability. It informs a risk and dependency decision, not a feature decision.

When to Consider This Package

Adopt only when all of the following are true:

  1. You are maintaining a legacy Symfony 2.x application that already depends on this bundle, and the cost of removing it in the current cycle exceeds the cost of leaving it in place temporarily.
  2. It is pinned and isolated behind an internal service boundary, so its lack of maintenance cannot ripple into new work.
  3. You need a reference implementation of a compiler-pass-driven repository registration bundle for internal education — not production use.

Look elsewhere in essentially every other case:

  • New projects: Use Doctrine's ServiceEntityRepository with Symfony autowiring and _instanceof tags. Native, maintained, zero third-party risk.
  • Modern Symfony (5.4/6.x/7.x): This bundle's Symfony2 assumptions and DI patterns are stale; expect compatibility friction and no upstream fixes.
  • Teams wanting a repository abstraction: Prefer maintained libraries or a thin in-house interface over a bundle with 2 stars and no dependents.
  • Any production-critical path: 0 dependents means zero battle-testing and no community escape hatch when it breaks.

How to Pitch It (Stakeholders)

To executives: This is a low-impact, effectively abandoned Symfony2 bundle. It has no adoption (0 dependents, 2 stars) and does not support any customer-facing capability. My recommendation is not to adopt it and to flag it for removal wherever it exists. The only product-relevant outcome is a small tech-debt cleanup item — not a roadmap investment.

To engineering: Do not add this to new work. Where it already exists, replace repository registration with Doctrine ServiceEntityRepository plus Symfony autoconfiguration, and delete the bundle in the next maintenance window. If a team wants a repository-pattern reference, we can point to maintained framework primitives instead. Treat this as a dependency-approval case study — an example of the signals (no releases, no dependents, dead framework generation) that should trigger rejection at the review gate, not after the fact.

The pitch in one line: Skip the package, keep the pattern — implement repository registration with native Symfony/Doctrine tooling and close this as a dependency-hygiene action.

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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect