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

Laravel Api Laravel Package

joselfonseca/laravel-api

A Laravel package for building JSON APIs with reusable controllers, resources, response helpers, and consistent error handling. It reduces boilerplate and helps keep API endpoints structured and predictable.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • This is a project scaffold, not a runtime library. It is a Laravel application skeleton you clone or generate, then own outright — there is no composer require in production and no upstream code executing in your request path. That materially changes the risk profile versus a normal package dependency.
  • The opinionated structure (domain-oriented folders, a transformation/serialization layer in the style of Fractal, centralized exception-to-JSON handling, and a consistent response envelope) is a good fit for teams building a JSON-only API on Laravel who want conventions decided up front rather than debated per-team.
  • Poor fit for: monoliths with server-rendered views, teams already standardized on Laravel's own resources/ + API Resources conventions, or organizations with an existing internal Laravel template — the value is precisely the boilerplate it removes, and that value is zero if you already have one.
  • The joselfonseca authoring pattern (thin controllers, layered application/domain separation) suits teams with DDD-leaning architects; it will feel like over-engineering to a small CRUD team.

Integration feasibility

  • Mechanically trivial: fork the repo, composer install, configure .env, run migrations against a fresh database. Time-to-first-endpoint is measured in hours, not sprints.
  • The real work is not installation but reconciliation: aligning its conventions with your auth strategy (Sanctum vs. Passport vs. existing SSO), your CI/CD pipeline, your observability stack, and your house coding standard. Budget for this as design work, not setup work.
  • Because it is a fork, there is no version constraint surface — you are not blocked by Laravel upgrade conflicts the way you would be with a real dependency. You are blocked only by how much of the original code you keep.

Technical risk

  • Archived, with a final release in August 2022. No security patches, no Laravel compatibility updates, no maintainer response. Treat every line as unmaintained code you are adopting.
  • Dependency rot is the dominant risk. A 2022 Laravel application pins PHP 8.0/8.1-era constraints and a dependency tree (transformation layer, testing helpers, dev tooling) that will have moved on. composer update on a four-year-old skeleton is typically an afternoon-to-week of conflict resolution, and transitive packages may themselves be abandoned or carry CVEs.
  • Framework drift is severe. Laravel's application skeleton has changed substantially since 2022 (streamlined directory layout, HTTP kernel consolidation, bootstrap changes, config publishing defaults). Anything you learn from this repo about "where files go" is now partly wrong, which is a documentation-and-training liability for junior hires.
  • 423 stars and 0 dependents is a weak signal. Stars on a starter kit measure bookmarking interest, not production validation. Zero dependents means essentially no one is running this as a tracked dependency, so there is no community bug-finding corpus and no de facto support channel.
  • The composite score of ~2.8 is consistent with the above: usable artifact, dead project.

Key questions

  • Do we want a pattern reference (harvest the transformer/exception/response-envelope ideas, rebuild on Laravel 12) or a working baseline (fork and upgrade in anger)? The second is a multi-week tax with no upstream.
  • Which specific files carry the value for us, and how many of them survive contact with a modern Laravel version? If it is under ~10 files, extract patterns and skip the fork.
  • Does any retained dependency have a maintained successor or a first-party Laravel equivalent we should use instead?
  • Is there an internal owner willing to be accountable for this code forever, given there is no upstream to escalate to?
  • What is our security review posture for adopting unmaintained code into a new service — is a one-time audit acceptable, and who signs it?

Integration Approach

Stack fit

  • Assumes a standard Laravel + MySQL/Postgres + Composer stack. If the organization is on Laravel already, fit is high conceptually; if on Symfony, Node, or a non-PHP platform, this is a non-starter and only the API-shape ideas transfer.
  • Best consumed as a greenfield accelerator for a new, standalone API service — not as something grafted into an existing application, where its routing, middleware, and exception-handling choices will collide with what is already there.
  • Verify it plays nicely with the auth and API-gateway choices already made; starter kits tend to bake in one answer and resist substitution.

Migration path

  • Recommended path: fork → upgrade → prune → own. Fork to an internal repo, pin the PHP/Laravel versions you actually run, upgrade the framework and dependency tree, then delete everything your service does not need. Expect to delete more than you keep.
  • Alternative, lower-risk path: reference-only adoption. Spin the kit up locally for one or two days, extract the response-envelope contract, the exception-handling middleware, and the transformer pattern, and implement them fresh in a current Laravel skeleton. Cost is days instead of weeks; you lose the "it already runs" comfort but keep none of the 2022 baggage.
  • If there is a live application already: do not retrofit. Use it as the target shape for new endpoints only, and accept a period of two conventions coexisting — which is usually worse than picking one, so make an explicit decision rather than drifting.

Compatibility

  • Expect incompatibility with current Laravel majors at the skeleton level (directory layout, kernel/bootstrap, middleware registration) and at the dependency level (pinned transitive versions). Both are fixable but neither is free.
  • No compatibility guarantee exists and none will arrive. Every future PHP or Laravel upgrade is entirely on the adopting team.
  • Verify PHP version support against your platform's runtime; a skeleton pinned to an EOL PHP minor is a compliance problem before it is a technical one.

Sequencing

  1. Spike first (1–2 days). Fork, install, boot, and hit one endpoint end-to-end. Confirm whether the kit's value survives the upgrade before committing scope.
  2. Decide fork-vs-reference on the evidence from the spike, with an explicit estimate for the upgrade. This is the go/no-go gate.
  3. Security and license review in parallel — MIT is clean and permissive, so license is a non-issue; the unmaintained-code audit is the real gate.
  4. Stand up the internal fork with a named owner, a README stating provenance and divergence, and a rule that upstream is frozen.
  5. Prune to a minimum viable baseline and add CI (lint, static analysis, tests) before the first feature lands, so quality gates apply from commit one rather than being retrofitted.
  6. Document the divergence — the single biggest long-term cost of adopting a starter kit is engineers not knowing which conventions are ours and which are inherited.

Operational Impact

Maintenance

  • Maintenance burden is 100% ours, permanently. Archival means no upstream fixes, no CVE response, no compatibility work. Every hour the original maintainer would have spent is an hour our team spends instead.
  • The offsetting factor: because it is a fork and not a dependency, there is no version-churn treadmill. We upgrade when we choose to, not when a transitive package forces it. That is a real and often underestimated benefit.
  • Practical cost estimate: the first framework upgrade after adoption will cost more than a normal Laravel upgrade, because unfamiliar inherited code must be understood before it can be changed. Plan for that explicitly in the first year's capacity.

Support

  • No vendor, no maintainer, no community. Support is entirely internal: whoever forks it is the support tier. This must be reflected in on-call and ownership documentation, or the code becomes an orphan the first time its author changes teams.
  • Bus factor is a genuine concern — the knowledge of "why does this layer exist" lives in the original maintainer's head and in a four-year-old README. Write the architectural rationale down at adoption time or lose it.
  • If the organization requires vendor-backed or actively maintained components for anything touching production, this fails that policy and should be escalated rather than quietly adopted.

Scaling

  • Runtime scaling characteristics are just Laravel's — horizontal scaling, queue workers, caching all behave normally. The starter kit imposes no scaling penalty and offers no scaling advantage; it is a convention layer, not a performance layer.
  • Organizational scaling is the real constraint: the kit's opinionated layering helps when many engineers contribute to one API and hurts when few do. It scales in headcount, not in traffic.
  • The transformer/serialization layer in this style can become a bottleneck if it encourages per-endpoint transformer proliferation; watch for that pattern emerging before it hardens.

Failure modes

  • Silent abandonment. The most likely failure: the fork is adopted, the original owner leaves, and nobody notices until a PHP upgrade blocks the team. Mitigate with a named owner and an annual review date.
  • Dependency CVE exposure. An unmaintained transitive package gets flagged; there is no upstream patch path, so the fix is a manual patch or a swap out. Budget for one of these per year.
  • Convention drift. New engineers follow current Laravel idiom rather than the kit's; the codebase becomes two architectures. The most common and most expensive long-term outcome.
  • Stale-pattern cargo culting. Engineers learn outdated Laravel structure from the codebase and propagate it into new services.
  • Over-retention. Teams keep boilerplate they do not need because deleting it feels like discarding value; complexity accumulates with no corresponding benefit.

Ramp-up

  • Fast to boot (hours), slow to fully understand (weeks) — the layering is not self-evident and the documentation is dated.
  • Onboarding engineers will need the internal divergence README more than the upstream docs, which describe a Laravel that no longer exists. Allocate a day of a senior engineer's time per new hire for the first few hires.
  • Highest ramp-up value accrues to teams with existing Laravel and DDD exposure; lowest to teams new to PHP, who will absorb 2022 idioms as if they were current.
  • Net TPM position: adopt as a reference architecture, not as a baseline unless the spike proves the upgrade cost is small and a named owner accepts permanent custodianship. The ideas are worth more than the code, and the code is four years old and frozen.
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.
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
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource