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

Streams Platform Laravel Package

anomaly/streams-platform

Streams Platform is a Laravel-based modular application engine for building custom apps and addons. It provides a powerful streams and fields system for defining data structures, a flexible addon and extension architecture, and serves as the foundation of PyroCMS.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. assemble. Streams sits in an awkward but useful middle: it is not a CMS you install, and not a framework you build from zero. It lets a team declare a domain in configuration files and get persistence, migrations, repositories, and CRUD scaffolding from that declaration. That makes it a candidate whenever the roadmap contains "we need three to six similar content/data domains and don't want to hand-build each one."
  • Schema-as-code as an architectural standard. Because streams, fields, and assignments live in flat files rather than database rows, data models become reviewable in pull requests, diffable across releases, and portable across environments. A PM can use this package as the concrete argument for "our content model is part of our source of truth," not an afterthought configured in a UI.
  • Multi-tenant and multi-deploy footprints. Flat-file configuration is attractive when the same application must be replicated across many tenants, regions, or white-label instances — configuration ships with the artifact instead of being seeded per environment. This directly informs decisions about deployment topology and onboarding cost per tenant.
  • Roadmap scoping for internal tooling and admin surfaces. If the backlog is dominated by "another admin screen for another entity," this package represents a way to compress that work. It supports the decision to standardize an internal admin/back-office layer rather than repeatedly buying or bolting on separate tools.
  • Platform consolidation decisions. Adopting it implies committing to its abstractions (streams, fields, repositories, criteria) rather than Eloquent idioms. That is a real architectural bet and should be evaluated as one — this package is the artifact that forces the "do we want a domain layer above Laravel, or do we stay idiomatic?" conversation.
  • Prototyping and discovery speed. For validating a data-heavy product idea — a catalog, a directory, a lightweight CMS, a forms-driven portal — it can shorten the path from domain definition to working screens, which affects how much discovery work you fund before committing engineering time.
  • Risk budgeting. With roughly 170 stars and zero dependents on record, the package is a pattern to learn from more than a platform to standardize on. A PM should treat it as informing build decisions ("we can achieve this ourselves in a few weeks") as much as a buy decision.

When to Consider This Package

Consider it when:

  • You are Laravel-native and the domain is genuinely content-shaped — many entity types with similar field semantics, needing CRUD, listings, filtering, and relationships.
  • You expect to define several streams/domains, not one. The abstraction cost is paid once; the payoff scales with the number of models.
  • Schema portability matters: multi-tenant deployments, per-client variants, or environment parity where "config lives in code" is a hard requirement.
  • You want to avoid both extremes — a heavyweight CMS you can't fit to your domain, and a from-scratch admin build for every entity.
  • You can absorb the learning curve. The team must be comfortable with a non-trivial set of concepts layered over Laravel, and someone must own that knowledge internally.
  • You are doing a bounded pilot, internal tooling, or a prototype where exit cost is low if the abstraction doesn't fit.

Look elsewhere when:

  • The license is unresolved. GitHub reports NOASSERTION, meaning the license text was not recognized — it may be custom, dual, or otherwise non-standard. This is a hard blocker until legal signs off; treat it as unknown, not permissive, and do not plan a commercial distribution around it before review.
  • Adoption and community matter. Zero dependents and a small star count mean no ecosystem of plugins, few Stack Overflow answers, and a thin hiring pool. For a customer-facing core product with a multi-year horizon, that is a bus-factor problem.
  • Your schema is small and stable. Two or three tables do not justify a platform abstraction; plain Eloquent, migrations, and a conventional admin package will be cheaper to hire for and easier to hand over.
  • You need a supported, conventional admin UI immediately. Filament, Nova, or Backpack will be faster to staff, better documented, and easier to replace.
  • You are performance- or scale-constrained. A repository/criteria layer over flat-file definitions adds indirection; if latency budgets are tight, benchmark before committing.
  • The team can't own a fork. Given the maintainer concentration, you should assume you may need to patch or vendor it. If that is unacceptable, this is not the package.

How to Pitch It (Stakeholders)

For executives (one paragraph): Streams is a Laravel-based application platform that lets us define data domains in configuration files instead of hand-building each one. For the right problem — several similar content or admin domains, or many tenant variants of one application — it can meaningfully compress delivery time and keep our data model under version control. It is, however, a small, low-adoption open-source project with an unclear license and effectively no external ecosystem, so it is not something we should put under a revenue-critical system without a pilot and a legal review. My recommendation is a time-boxed evaluation, not an adoption.

For engineering leadership:

  • What it buys us: declarative domain definitions, generated persistence and migrations, a repository/criteria abstraction, and environment-portable configuration. It is a principled answer to "how do we stop rebuilding the same CRUD layer."
  • What it costs us: a proprietary-feeling abstraction over Eloquent, a real onboarding ramp, and the likelihood that we become the maintainers of our own fork.
  • What we should do: run a two-to-three week spike that rebuilds one real domain we already have, measure the delta against our current approach in both build time and code we'd have to own, and get the license reviewed in parallel. Decision gate at the end: adopt, borrow the pattern, or discard.
  • What we should not do: make it a foundational dependency for a customer-facing product, or let a single engineer become the only person who understands it.

Framing to avoid: this is not "a CMS" and not "a framework." Selling it internally as either will set the wrong expectations. It is a domain-definition layer — valuable exactly to the extent that we have repeatable domain-shaped work, and a liability to the extent that we don't.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager