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

Api Generator Laravel Package

solidry/api-generator

Solidry API Generator scaffolds complete REST APIs for Laravel models in seconds. It generates controllers, routes, validation, and resources from your schema, cutting boilerplate so you can ship consistent, well-structured endpoints faster.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. solidry/api-generator is a Laravel-native scaffolding tool that generates controllers, Eloquent-backed models, form requests, routes, and serializers aligned to the JSON:API specification. It fits cleanly when the target is a greenfield Laravel REST API that has already committed to JSON:API as its wire format — the package's value is exactly the boilerplate reduction + spec compliance that JSON:API demands. It is a poor fit for SPA-first apps (Inertia/Livewire), apps on a non-Laravel stack, or teams whose clients expect plain REST/GraphQL. The generator is a build-time/dev-time dependency; it does not sit in the request path, so architectural risk is weighted toward the code it emits rather than runtime coupling.

Integration feasibility. Feasible via Composer with a publishable config and Artisan-driven generation. The main friction is the learning curve of the package's own schema/definition DSL — developers must model resources before generating them, and generated code is expected to be committed and hand-tuned. Integration is not turnkey: it requires an internal convention decision about how much of the generated output is allowed to be modified versus regenerated.

Technical risk. The dominant risk is lifecycle: the last tagged release is August 2020, which predates Laravel 8/9/10/11 and PHP 8.x. Composer constraints on illuminate/* are likely to conflict with current Laravel, and there is no evidence of an active maintainer. Because it is a code generator, the blast radius of a broken run is limited to the files it writes (recoverable via VCS), which materially lowers the "brownfield breakage" risk versus a runtime library. Secondary risks: JSON:API spec drift (the emitted format may lag current spec revisions) and generated code that encodes outdated Laravel idioms (e.g., pre-$request->validated() form-request patterns, older route model binding styles).

Key questions.

  • Which Laravel and PHP versions are actually compatible, and has anyone verified PHP 8.1/8.2?
  • Is the generator idempotent — can it re-run over previously generated files without clobbering edits?
  • What is the schema-definition surface area, and how much of it maps to our domain (polymorphic relations, sparse fieldsets, compound documents)?
  • Is there a maintained fork, or do we intend to own a fork internally?
  • What transitive dependencies would be pulled in, and are any of them flagged by composer audit?
  • Does emitted code align with our existing conventions (repository pattern, policies, resource naming), or will it require rework?

Integration Approach

Stack fit. Strong fit only on Laravel 5.5–6.x era stacks (the package's active window). On modern Laravel the package will need verification, constraint overrides, or a fork. It is not a fit for Lumen-without-Eloquent, Symfony, or mixed-runtime services. If the team has no existing JSON:API commitment, the package does not justify adopting the format by itself.

Migration path. Adopt incrementally and greenfield-first. Do not attempt to retrofit existing endpoints. Scaffold one new, low-risk resource with the generator, compare the output against current hand-written conventions, and either adopt the delta or reject the tool. For brownfield teams, a parallel-run approach — new endpoints via generator, legacy untouched — bounds exposure and keeps VCS history clean.

Compatibility. Pin the package version explicitly and audit the resolved dependency graph before merging. Expect to add illuminate/* constraints or use --ignore-platform-reqs only in spike branches, never in production. Run a composer why-not check against the target framework version as the first gate. Confirm the JSON:API output against the spec's conformance rules (media type, data/included/links/meta structure) rather than trusting the package's own claims.

Sequencing.

  1. Spike (branch, 1–2 days): install against the target Laravel/PHP version, generate one resource end-to-end, capture generated file inventory and dependency resolution outcome.
  2. Evaluate: score output quality, spec conformance, and reusability against a hand-written baseline; record every manual fix required.
  3. Decision gate: adopt as-is, adopt with a maintained internal fork, or reject and keep the generator as a reference implementation only.
  4. If adopting: vendor or pin the package, document generation conventions and the "regenerate vs. hand-edit" boundary, and add a CI check that the generator runs clean on the pinned versions.
  5. Rollout: new endpoints only; revisit legacy only if the tool proves durable over a quarter.

Operational Impact

Maintenance. High ownership burden relative to a typical Composer dependency. The upstream project is effectively dormant, so every Laravel and PHP major upgrade becomes your team's problem. If adoption proceeds, budget for a fork (patched Composer constraints, possibly namespace updates) as a first-class deliverable, not a contingency.

Support. Community-only: GitHub issues, a small star count (~326) implying a thin user base and limited Stack Overflow coverage. No vendor SLA. Internal documentation and an owner must be assigned or the tool will silently rot.

Scaling. Negligible runtime impact — generation happens at development time, and generated code executes as ordinary Laravel code. Scaling concerns are organizational (convention drift across teams, generator behavior under larger schemas) rather than performance. Large, highly relational domains are a stress case: the DSL may not express polymorphic relations or compound documents well, forcing hand-editing that erodes the generator's value.

Failure modes.

  • Composer resolution breaks on framework upgrade — blocks CI until patched.
  • Regeneration overwrites manual edits — mitigated by explicit regenerate-vs-edit conventions and review discipline.
  • Emitted code violates current JSON:API spec or client expectations — caught only by contract tests.
  • Transitive dependency security advisories accumulate with no upstream patch path.
  • Bus-factor: one engineer understands the DSL, then leaves.

Ramp-up. Moderate. JSON:API fluency is a prerequisite and is not free; add the package's DSL on top. Estimate 1–2 developer-days for a competent Laravel engineer to complete a spike and form a judgment, and roughly a sprint to establish conventions, CI, and a maintenance plan if adopted. Documentation quality is presumed thin (README-level), so plan for internal knowledge capture.

TPM verdict. Worth a bounded spike for a greenfield Laravel service that has already chosen JSON:API; not worth it as a general-purpose accelerator. The 6.3 score and 3.0 opportunity rating are consistent with a capable but abandoned tool — the decision hinged on whether the team can absorb fork maintenance, not on whether the tool works today.

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.
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
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource