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

Larping Bundle Laravel Package

larping-base/larping-bundle

larping-base/larping-bundle is a Composer-installable PHP bundle that groups reusable LARPing Base components into one integration package, simplifying setup and configuration for projects in the larping-base ecosystem. Use it to pull in shared services and defaults without wiring each piece manuall...

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict up front: do not adopt as a production dependency. This package fails the minimum bar on every axis a TPM is accountable for — legal clarity, provenance, maintenance, and documentation. The realistic play is to treat it as a reference implementation to fork or reimplement, not a library to composer require.

Architecture fit — poor / unverified

  • The package name ends in -bundle. "Bundle" is a Symfony convention, not Laravel. Laravel's equivalent is a package with a ServiceProvider and optional Facade. This is the single most important signal: there is a plausible chance this is not a Laravel package at all, or is a thin PHP library with no Laravel wiring (no providers/aliases in composer.json extra).
  • The description — "An Commong Gateay bundle for the larping application" — is grammatically broken and semantically empty. "Common Gateway" could mean an API gateway client, a payment processor abstraction, an SMS gateway, or an internal service mesh entry point. We cannot size the blast radius of adopting it without knowing which.
  • Vendor namespace larping-base and the project name "the larping application" strongly suggest an internal, single-consumer, hobby or prototype codebase that was published to Packagist as a side effect — not a designed-for-reuse package.

Integration feasibility — low

Signal Value TPM read
Stars 1 No community, no peer validation
Dependents 0 Zero evidence of any production consumer, ever
Last release 2024-03-22 ~2 years stale; no security patches in that window
License NOASSERTION Hard blocker — we cannot legally ship this
Score 0.535 Below the threshold where I'd even run a spike

NOASSERTION means the license could not be machine-identified — it may be a modified license, a missing LICENSE file, or a bespoke one. Until Legal clears it, this is not evaluable. A 1-star, 0-dependent package with an unclear license is the exact profile of an unmaintained artifact that becomes an unfixable CVE surface six months after adoption.

Technical risk

  • Bus factor of 1, with no evidence of an active maintainer. Any bug we hit, we own permanently.
  • No documentation: no README substance, no usage examples, no configuration reference. Ramp-up cost is "read the source," which for an integration boundary (auth, retries, credential handling) is unacceptable.
  • Unknown dependency surface: a gateway client typically pulls guzzlehttp/guzzle, possibly a PSR-18 implementation, and possibly framework constraints. Constraint conflicts against illuminate/support v10/11/12 are likely and painful to resolve.
  • Security-sensitive by nature. A gateway bundle handles credentials, outbound HTTP, and request signing. An unaudited, unmaintained crate handling secrets is a compliance problem, not just an engineering one.
  • Unknown behavioral contract: timeout defaults, retry/backoff semantics, idempotency keys, error taxonomy. These are precisely the behaviors that cause production incidents, and they are undocumented.

Key questions to resolve before any further spend

  1. Legal: What is the actual license? Is there a LICENSE file in the repo? Can Legal grant a written opinion? (Blocking — stop here if no.)
  2. What gateway does it talk to? Which protocol, which vendor, which endpoints? If it targets an internal service of a project we have no relationship with, it is worthless to us.
  3. Is it Laravel-native? Does composer.json declare illuminate/support and a ServiceProvider? Or is it Symfony-shaped and requires a bridge?
  4. PHP and framework version matrix? What are the require and require-dev constraints? Is there a CI matrix proving them?
  5. Does it have tests? What is the coverage of the actual gateway calls — are they mocked, or is there any integration test harness?
  6. Credential handling: does it log request bodies or headers? Does it support secret injection from env/vault, or does it expect hardcoded config?
  7. Is the upstream repo actually alive? Commit frequency, open issues, response time, any other releases since 2024-03.

If questions 1–3 do not produce clean answers, close the evaluation and record the decision as "rejected — insufficient provenance."

Integration Approach

Stack fit — assume it does not fit until proven otherwise

  • Laravel has no bundle system. If this is a Symfony bundle, integrating it means either (a) pulling symfony/http-kernel and its dependency tree into a Laravel app — a nonstarter — or (b) writing an adapter that instantiates the underlying gateway client manually and wrapping it in our own ServiceProvider + Facade + config file. Option (b) is the only viable path, and at that point we have written the integration layer ourselves and the package's value drops to "a class we didn't write."
  • Required Laravel-shaped surface for any gateway package we adopt: published config (config/gateway.php), env-driven credentials, a ServiceProvider with deferred binding, a Facade or typed contract/interface, a typed exception hierarchy, and Http::fake()-compatible testing hooks. Assume none of these exist until the source proves otherwise.

Migration path — fork, don't depend

  1. Vendor it under our org. Fork to our-org/gateway-client, pin composer.json to a commit SHA if we must consume upstream temporarily. Never float on ^1.0 against an unmaintained package.
  2. Wrap behind our own contract. Define an internal GatewayClient interface in our domain layer. Any adapter — this package, a rewrite, or a vendor SDK — implements it. This is the standard TPM insurance policy: the third-party surface becomes swappable in one binding.
  3. Reimplement if the surface is small. A "common gateway" client is usually a few hundred lines over Guzzle/Http::. If the fork audit shows fewer than ~5 public methods, a clean-room Laravel-native rewrite is cheaper over 18 months than perpetual ownership of unfamiliar code. This is my default recommendation.
  4. Do not bridge. Resist the temptation to run a Symfony/Laravel dual-kernel setup for one package.

Compatibility

  • No declared Laravel version matrix → assume conflict. Validate against our pinned illuminate/* version and PHP minor in a throwaway branch before committing engineering time.
  • Guzzle major-version conflicts (v6 vs v7) are the most common failure here and will manifest as a composer update deadlock, not a runtime error. Check this in the first 30 minutes of the spike.
  • If it declares no constraints at all, Composer will happily install it into anything — that is a risk, not a feature.

Sequencing

Phase Gate Owner Effort
0. Legal + source audit License cleared; composer.json + public API read TPM + Legal 0.5 day
1. Sandbox spike Installs cleanly in a scratch app; one mocked gateway call succeeds Eng 1–2 days
2. Adapter behind internal contract Interface defined; package implements it; tests pass with fakes Eng 3–5 days
3. Fork or rewrite decision Cost comparison: fork-and-own vs. clean rewrite TPM 1 day
4. Production hardening Timeouts, retries, idempotency, secret handling, observability Eng + SRE 1–2 sprints

Kill criteria: no license by end of Phase 0; no Laravel provider by end of Phase 1; no test coverage of gateway calls by end of Phase 2. Any of these → rewrite or buy.

Operational Impact

Maintenance — we become the maintainer on day one

  • With one star and zero dependents, upstream is effectively frozen. Assume zero forward maintenance: no PHP 8.4/8.5 compatibility, no Laravel 12 support, no dependency bumps. That is a recurring tax on our team, and it is paid in the quarter it is least convenient.
  • Forking transfers the entire burden: dependency hygiene, security patching, framework upgrade compatibility, and documentation. Budget ~10–15% of one engineer ongoing for a small package, more if it is a gateway client with retry/timeout logic we now have to reason about.
  • If we reimplement, the code is ours and the maintenance is normal rather than archaeological — which is the strongest argument for the rewrite.

Support

  • No vendor, no SLA, no escalation path, no security contact. There is no one to page.
  • Our on-call runbook must therefore be written from source, not from documentation. Add an explicit task for "document the package's failure behavior" — the team should not be reverse-engineering a dependency during an incident.
  • No CVE process: we must monitor the fork ourselves (Dependabot/Snyk on our fork, not upstream).

Scaling

  • A gateway client is typically a synchronous outbound HTTP call — the scaling question is not this package but the gateway behind it. However, we cannot see its timeout, retry, connection-reuse, or circuit-breaking behavior, and those defaults become our p99 and our cascading-failure profile.
  • Assume worst case: no explicit timeout (Guzzle's default is infinite), no retries, no backoff, no circuit breaker. Under gateway latency this produces thread/worker starvation in the PHP-FPM pool and turns a partial outage into a total one. Explicitly set timeouts and retries in our adapter regardless of what the package does.
  • Throughput per instance is bounded by the gateway's capacity, not the client — but without connection pooling or keep-alive configuration we may pay a TLS handshake per request, which is a real cost at volume.

Failure modes

Failure Likelihood Impact
Unknown timeout → worker exhaustion High Service-wide degradation
Credentials logged (request/response bodies, headers) Medium–High Secret leakage, compliance incident
Untyped/generic exceptions bubble up as 500s High Poor error UX, no client-side retry
No idempotency keys → duplicate transactions Medium Financial/duplicate side effects — the worst case
Composer constraint deadlock during framework upgrade Medium Blocks the next Laravel major, months later
Abandoned upstream + framework EOL Near-certain Forced migration under time pressure
License challenge from Legal post-launch Low but catastrophic Rip-and-replace under duress

The duplicate-transaction and credential-leak paths are the two that get escalated to a TPM. Both are unverifiable without reading the source, which is why Phase 0 is non-negotiable.

Ramp-up

  • Documentation is effectively zero, so ramp-up is source-reading time — roughly 2–3 days for a mid-level engineer to safely understand a gateway client's auth, error, and retry semantics.
  • Knowledge concentrates in the one engineer who did the audit. Mitigate with a written internal design note capturing the public API surface, the failure modes above, and the exact behaviors we rely on. That note is the deliverable that keeps the bus factor above one.
  • If we reimplement, ramp-up is an afternoon for anyone familiar with Laravel's HTTP client — a materially better onboarding story.

Recommendation: Close the package evaluation as rejected as a dependency. If the gateway it targets is one we actually need, open a scoped ticket to write a Laravel-native client behind our own GatewayClient contract (~1 sprint), using the source purely as a protocol reference — subject to Legal clearing the license before any code is read for that purpose. The 1-star, 0-dependent, NOASSERTION profile means the expected value of adoption is negative; the only thing this package reliably delivers is ownership we did not ask for.

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.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus