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

Addons Module Laravel Package

anomaly/addons-module

Addon management module for the Anomaly CMS built on Laravel. Browse, install, enable, disable, and organize modules, plugins, and themes from the admin panel, with support for addon discovery and lifecycle operations.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What this actually is. anomaly/addons-module is not a standalone Laravel package. It is a first-party module for the Streams Platform (the CMS foundation behind PyroCMS), and its purpose is administrative: enumerating installed addons, reading their metadata manifests, and exposing addon state (installed/enabled/version) to the control panel and console. That framing drives every other conclusion below — the unit of adoption is the platform, not this module.

Architecture fit. The module follows the platform's module contract (service provider, routes, migrations, control-panel views, and addon-manifest conventions). It is tightly coupled to Streams' addon discovery and entry abstractions. It will not drop into a generic Laravel application, and it has no meaning outside a Streams-based install. If your target is a PyroCMS deployment already on a compatible platform version, fit is effectively "native." If your target is anything else, fit is zero — you would be adopting a CMS to get a package manager UI.

Integration feasibility. Feasible only along one path: a Streams/PyroCMS install pinned to the era the module targets. Given the April 2020 last release, expect PHP 7.x and Laravel 5.8–7.x era constraints; modern Laravel 10/11 support should be assumed absent until proven otherwise. Verify by reading the module's composer.json constraints against the parent platform's version, not by reading the README. The dependency chain is the deliverable — resolve it in a throwaway container before committing to anything.

Technical risk. The dominant risk is not code quality; it is abandonment and blast radius.

  • No releases in roughly five years, 2 stars, 0 dependents. There is no downstream cohort to absorb or surface defects.
  • Any security issue in this module — or in the platform version it forces you onto — is yours to patch. MIT licensing makes the fork legal and unencumbered, which is the one genuinely favorable signal here.
  • Coupling is inverted from normal dependency risk: upgrading Laravel means upgrading the platform means upgrading or forking this module. Each hop is a coordinated release, and the upstream cadence is the bottleneck.
  • The opportunity score of 27.25 and composite 0.61 are directionally consistent with a low-activity, low-adoption artifact. Treat the scores as corroboration, not evidence.

Key questions to answer before any decision.

  1. Is the addons module a hard dependency of the platform, or can it be omitted from a minimal install? If optional, is the capability you need (addon listing/metadata) something you would ever consume programmatically, or is it purely control-panel UI?
  2. Is the capability a differentiator for us, or commodity plumbing? Commodity plumbing is exactly what you should not fork and own.
  3. What is the upstream maintenance posture of the Streams Platform itself — commit frequency, open-issue triage, security disclosure process? This module's viability is a strict function of that.
  4. What is the real functional surface area? If it is a few hundred lines that parse manifests and render a table, a reimplementation against your own conventions may cost less than ownership of the fork.
  5. Are there latent dependencies on sibling modules (users, preferences, view) that would pull in a larger surface than the module itself implies?

Integration Approach

Stack fit. Laravel + Streams Platform only. There is no adapter story, no framework-agnostic core, no headless mode. The module presumes the platform's routing, view layer, and addon manifest format. Confirm this before scoping: if the stakeholder asking for "addon management" is not already committed to PyroCMS, the correct recommendation is to decline the module and solve the underlying need (plugin registry, extension catalog, feature-flagging) with a purpose-built component.

Migration path. Two distinct scenarios with opposite answers.

  • Brownfield (already on PyroCMS): pin the platform version first, then add the module at the constraint that resolves. Do not float the platform to chase the module. Snapshot a working composer.lock, vendor it, and treat that lockfile as the contract.
  • Greenfield: do not adopt the platform to obtain this module. If addon/extension management is the actual requirement, a small internal registry — manifest parsing, version compatibility checks, enable/disable state — is a bounded build. The module's small surface is the argument for reimplementing and the argument against inheriting.

Compatibility. Assume the following until disproven in a container: PHP 7.2–7.4, Laravel 6/7 era, platform version contemporaneous with the 2020 release. Check whether the platform pins a maximum Laravel version — if it does, the migration ceiling is set by the platform, not by your application roadmap. Also check whether the module ships its own migrations that collide with platform migrations on re-run.

Sequencing.

  1. Resolve the parent platform version and lock it. Nothing else proceeds until this is fixed.
  2. Build a disposable environment and confirm the module installs, registers, and renders its UI at that pinned version.
  3. Fork to an internal namespace; add a composer.json patch constraint so the fork is explicit in the lockfile.
  4. Wrap any programmatic entry points (addon enumeration, state queries) behind a thin internal interface so the module can be replaced later without touching call sites.
  5. Only then integrate into the application.

Operational Impact

Maintenance. Assume permanent fork ownership. There is no realistic expectation of upstream fixes. Assign a named owner, budget a recurring review slot tied to PHP minor releases, and track PHP EOL dates as hard deadlines rather than backlog items. Realistically this is low-hours-per-year work on a small codebase — the cost is the obligation, not the effort.

Support. Community support is thin to nonexistent; GitHub issues on a 2-star repository should be assumed unread. Internal documentation is the support model. Budget for one engineer who understands the Streams addon model to be reachable, and write down the manifest format and discovery rules while that knowledge is fresh.

Scaling. Not a meaningful concern. This is an administrative surface — addon enumeration and metadata reads — with negligible request volume and no hot path. Scaling risk lives entirely in the parent platform (caching, entry storage, session handling) and should be assessed there, not here.

Failure modes.

  • Composer resolution failure on PHP/Laravel upgrade — the most likely and most disruptive, because it blocks all other work simultaneously.
  • Silent addon discovery drift — platform changes to manifest conventions cause addons to vanish from the UI without an error.
  • Unpatched vulnerability with no upstream fix and no CVE watcher covering a 2-star package.
  • Fork divergence — the internal fork drifts, then a later platform upgrade requires reconciling changes nobody remembers making.
  • Knowledge loss — the one engineer who understood the module leaves, and the fork becomes effectively unmaintainable.

Ramp-up. Deceptively steep for the size. The code itself is small, but productive work requires fluency in the Streams Platform's module lifecycle, addon manifest schema, and entry/field-type abstractions — niche knowledge with limited external reference material. Estimate days for a Laravel-fluent engineer to read the module, and one to two weeks before they can safely modify it. That ratio — high platform-knowledge overhead against low module value — is the single strongest argument for reimplementation over adoption.

Bottom line. Technically coherent, operationally orphaned. Approve only in the narrow case where the platform is already a committed dependency and addon management is a required feature; in that case, fork on day one and budget the ownership. In every other case, decline the module and either build the small registry yourself or treat the platform decision as the real decision it is.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle