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

Listable Laravel Package

staccato/listable

Staccato Listable is a Laravel package for adding list functionality to Eloquent models. Create named lists, attach any model via a polymorphic relationship, and manage list items with simple traits and helpers—useful for favorites, watchlists, collections, and more.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin/back-office and internal tooling roadmaps. The package’s value proposition — one consistent contract for “list, paginate, filter, sort” across any listable source — maps directly to the repetitive work of building data grids, dashboards, and management consoles. It supports a decision to standardize those screens behind a shared querying interface rather than re-implementing filter/sort logic per resource.
  • API surface consistency. If the roadmap includes public or partner-facing list endpoints (GET /orders?filter[...]&sort=...&page=...), a unified abstraction helps enforce a single pagination/filtering/sorting contract across resources — a product-quality and documentation win, not just an engineering one.
  • Build vs. buy vs. borrow for cross-source listing. The real product decision is whether to unify listing over heterogeneous sources — Eloquent models, arrays, external APIs, search indexes, files. If the architecture already spans more than one storage/query backend, a thin abstraction is a legitimate “borrow” candidate. If everything is Eloquent today, it is premature abstraction and the decision should be “not yet.”
  • Feature scoping for filters and sorting. It supports deciding which filter and sort capabilities are table-stakes (whitelisted fields, typed filters, stable sort) versus differentiating, and whether to expose them generically or via per-resource endpoints.
  • Reusable platform primitives. Could justify investment in an internal “listing layer” that multiple squads consume, provided ownership and testing are funded. This package would then be a reference implementation or starting point, not an unexamined dependency.

When to Consider This Package

Consider it when all of the following hold:

  • You have multiple heterogeneous listable sources and genuinely need one interface across them, not just one ORM.
  • The surface is low-blast-radius: internal tools, admin panels, prototypes, or non-critical read paths where a bug is annoying, not revenue-impacting.
  • Your team is prepared to read the source, write its tests, and own it — i.e., you are effectively adopting code, not a vendor.
  • A pilot/spike is acceptable: evaluate behind your own thin adapter so it can be swapped without touching call sites.

Look elsewhere (or build in-house) when:

  • Vendor and maintenance risk matter. Two stars, zero dependents, and a single-maintainer profile are hard blockers for anything in a critical path, a regulated environment, or a multi-year support commitment. There is no ecosystem, no community triage, and no evidence of production use.
  • Your needs are Laravel/Eloquent-only. Established, well-maintained packages (e.g., Spatie’s query builder for filtering/sorting, Laravel’s native pagination, Scout/Meilisearch for search) cover the common case with far lower ownership cost.
  • Search, ranking, or complex query semantics are required — a generic abstraction layer is the wrong altitude for that.
  • You need SLAs, security review, or long-term compatibility guarantees. A tiny MIT package offers none of the assurances procurement and security will ask for.
  • Your team would rather not maintain a fork. Because in practice that is the realistic end state.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed PHP library that standardizes how our applications list, filter, sort, and paginate data across different backends. The upside is reduced duplicated code and a more consistent API and admin experience — a modest engineering-efficiency play. The downside is adoption risk: it is an early-stage package with negligible community traction, so it will not come with support, security guarantees, or a maintenance roadmap. Recommendation: do not make it a platform dependency. Approve a time-boxed pilot behind an internal adapter on internal-only surfaces, with a documented fallback to owning the code or replacing it with a mainstream alternative. Treat the cost of ownership — not the license — as the real line item.

To engineering: It offers a thin abstraction over “listable” sources with a uniform filter/sort/paginate contract, which is useful if we already have more than one source type and want consistent endpoint and UI behavior. It is small enough to audit in an afternoon, but it is effectively unmaintained by ecosystem standards, so we should vendor or fork it, wrap it behind our own interface, and add tests and documentation ourselves. Do not import it directly into domain code — depend on our adapter so the replacement cost stays near zero.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console