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

Developer Experience Api Laravel Package

liberusoftware/developer-experience-api

A Laravel package that exposes an API for Liberu developer experience tooling, with endpoints and helpers intended to streamline local development workflows. Early-stage project with minimal adoption and limited documentation, so review the source before relying on it in production.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. liberusoftware/developer-experience-api is a presentation adapter — the outermost layer of a hexagonal/ports-and-adapters design. In a Laravel codebase this typically means: HTTP controllers, form requests, API resources, and route definitions that translate application-layer DTOs into transport contracts. That is architecturally desirable (thin, replaceable, testable in isolation) and it is also the layer with the least intrinsic value: adapters are the cheapest thing in the system to write from scratch. The package is a sub-module of the Liberu Software ecosystem (module-* naming convention implies a larger modular monolith), so its real fit is only high if we are already committed to the Liberu module conventions. Adopted standalone, it imports conventions we did not choose.

Integration feasibility. Mechanically low-friction: Composer install, Laravel package auto-discovery, likely a config-published service provider. Commercially and legally, feasibility is low until two things resolve:

  1. License is NOASSERTION. This is not a license; it is GitHub's failure to match the LICENSE file to a known SPDX identifier. We cannot pass legal review, cannot assert compatibility with our own licensing, and cannot ship this to a customer without a written clarification from the copyright holder. This alone is a hard blocker for anything beyond internal evaluation.
  2. Zero dependents, zero stars. No third party has validated the install path, the version constraints, or the Laravel/PHP compatibility matrix. There is no evidence the package installs cleanly against a current Laravel release.

Technical risk. Ranked:

Risk Severity Notes
License ambiguity (NOASSERTION) Critical Blocks distribution; potential copyleft contamination unknown
Bus factor 1 / no support channel High No issue triage, no security disclosure policy, no CVE path
Coupling to unpublished sibling modules High Adapter likely requires module-developer-experience core + Liberu API foundation not published on Packagist
Version/contract drift High Adapter without a published OpenAPI/JSON-Schema contract is unverifiable
Release metadata integrity Medium Last release is dated 2026-10-26 — a future date. Either a misconfigured tag, a placeholder, or synthetic metadata. Treat the release history as untrustworthy until confirmed.
Package abandonment Medium Score 19.8/100; opportunity 44.99. High "opportunity" with low score = immature, not proven.

Key questions to put to the maintainer (or answer ourselves in a spike):

  • What is the SPDX license, and is there a signed CLA or copyright holder we can contact?
  • What is the exact dependency tree (composer why, composer show --tree)? Are all transitive deps on Packagist?
  • Which Laravel and PHP versions are supported, and is there a CI matrix proving it?
  • Is there a versioned HTTP contract (OpenAPI spec, JSON Schema) for the endpoints this adapter exposes?
  • How are auth, authorization, pagination, error envelopes, and rate limiting handled — by this adapter or by a shared foundation?
  • Is the adapter opinionated about response shape (API Resources) or does it leak Eloquent models?
  • What is the deprecation policy for the HTTP contract?

Recommendation: do not adopt as a dependency. Evaluate as a reference implementation — read the source, extract the routing/resource patterns, and reimplement the thin adapter in-house under our own license and test suite. Effort to reimplement an adapter layer of this scope is typically 3–8 engineer-days; the legal and support risk of depending on it is open-ended.


Integration Approach

Stack fit. Presumed Laravel + PHP 8.x, Composer, service-provider auto-discovery, likely Laravel API Resources and a modular package structure. This fits a Laravel monolith or a modular monolith cleanly. It fits a service-oriented or event-driven architecture only if the adapter is genuinely stateless and the underlying application layer is reachable in-process — verify there is no shared-DB or shared-session assumption.

Migration path. Two viable paths, in order of preference:

  1. Pattern extraction (recommended). Add the repo as a read-only VCS reference in a spike branch. Do not require it. Port the route definitions, request validation, and response resources into our own App\Http\Api\V1\... namespace, backed by our own tests. Zero dependency, zero license exposure, full control of the contract.
  2. Vendored fork (only if the code volume is genuinely large). Fork into a private repository, relicense per written permission, pin the fork, and own the maintenance. Accept that we have effectively hired ourselves to maintain someone else's module.

Do not take a floating ^0.x constraint directly from Packagist. With zero dependents and a NOASSERTION license, an upstream force-push or deletion is a real availability event.

Compatibility. Build an explicit matrix before any code is written:

Dimension Verify
Laravel 10 / 11 / 12 — install in a clean skeleton and run php artisan route:list
PHP 8.2 / 8.3 / 8.4 — check composer.json require and CI config
Dependencies composer why-not against our locked set; look for conflicting Illuminate constraints
Autodiscovery Confirm extra.laravel.providers present and that it does not register global middleware we do not want
Contract Diff the exposed routes against our existing API surface for collisions

Sequencing.

  1. Week 1 — Legal + dependency triage. Open an issue asking for SPDX clarification. Run composer show --tree in a throwaway app. Gate: written license answer + clean install. If either fails, stop and go to path 1.
  2. Week 2 — Contract spike. Install in a disposable Laravel skeleton, route:list, hit every endpoint, capture request/response shapes. Produce an OpenAPI fragment.
  3. Week 3 — Fit assessment. Map the exposed contract against our planned developer-experience API surface. Identify what we would keep, rename, or drop.
  4. Week 4 — Build or adopt decision. Default to build. Adopt only with a signed license clarification and a maintenance commitment from the maintainer.
  5. Later — Adapter last. In any modular build, the presentation adapter is the final layer. Do not let an external adapter dictate domain or application-layer design; it must be subordinate to our ports.

Operational Impact

Maintenance. This is the dominant cost. Depending on this package means we inherit an unmaintained adapter whose upstream contract we do not control. Each Laravel major upgrade becomes a blocker we cannot resolve ourselves without forking. Vendoring converts an external risk into an internal maintenance line item — budget roughly 1–2 engineer-days per quarter for dependency hygiene, plus unbudgeted work on any Laravel major. Pattern extraction reduces this to ordinary application code we already maintain.

Support. There is none. Zero stars and zero dependents means no community, no Stack Overflow corpus, no issue history to search. Any defect is ours to diagnose in someone else's code. There is no security disclosure channel — a vulnerability in this adapter would be disclosed to no one. If we adopt, we must add the package to our internal vulnerability-scanning allowlist with a documented acceptance of that gap, and we should scan the source ourselves before first deploy.

Scaling. The adapter layer itself is almost certainly stateless and scales horizontally with the app tier — not a concern. The scaling risks are indirect:

  • If the adapter performs response transformation over large collections, watch N+1 queries and payload serialization cost under load; benchmark at realistic page sizes.
  • If it enforces no pagination cap, a client can request unbounded result sets. Verify and add a hard cap at the gateway.
  • Rate limiting and auth are likely delegated; confirm where, because an unthrottled developer-facing API is a straightforward abuse vector.

Failure modes.

Failure Blast radius Mitigation
Upstream repo deleted / force-pushed Build breaks on clean checkout Vendor or mirror; never depend on a floating ref
Silent breaking change in response shape Client integrations break Pin exact version; contract tests in CI
Transitive dependency conflict on Laravel upgrade Blocks framework upgrade Isolate behind an interface; keep the adapter thin
License challenge post-deployment Forced removal under deadline Resolve before adoption, not after
Undisclosed vulnerability Data exposure via API surface Internal review + SCA allowlist with owner
Adapter leaks Eloquent models Internal schema becomes public contract Enforce explicit API Resources; contract tests

Ramp-up. Code volume is likely small (adapters are thin), so reading it is cheap. The real ramp-up cost is contextual: understanding Liberu's module conventions, its base API foundation, and which behaviors are inherited from sibling packages rather than defined here. Estimate 2–3 engineer-days for a senior Laravel engineer to reach confident judgment — which is comparable to simply writing the adapter ourselves. That comparison is the crux of the decision.

Bottom line. Treat this as a pattern source, not a dependency. The architecture it represents (thin presentation adapter at the edge) is correct and worth imitating. The package itself carries an unresolved license, no adoption evidence, no support path, and suspect release metadata. Opportunity score of 44.99 reflects an immature artifact in a plausible niche — not a production-ready component. Decision gate: written SPDX clarification plus a clean install against our target Laravel version, or we build it ourselves.

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