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 Request Docs Laravel Package

rakutentech/laravel-request-docs

Automatically generate clean, interactive API documentation for your Laravel application directly from your routes, form requests, and API resources—no manual annotations or extra config required. Just install the package and instantly browse every endpoint, parameter, and response.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. rakutentech/laravel-request-docs is a dev-time introspection layer over Laravel's router and Eloquent metadata, not a runtime dependency of the application. It registers a documentation route (default /request-docs) served by package middleware and renders a UI from discovered routes, controller docblocks, form-request validation rules, and model attributes. Because it does not sit in the production request path and requires no schema changes, it belongs conceptually alongside route:list, static analysis, and linting in the engineering toolchain rather than in the application architecture. That makes it low-coupling and low-blast-radius — the main architectural decision is simply whether it is a require-dev dependency or a shipped-but-disabled one.

Integration feasibility. Integration is a Composer install plus a published config file. No migrations, no service contracts to implement, no changes to existing controllers required to get baseline value — documentation is derived from code that already exists. Incremental value (richer descriptions, example responses) comes from docblocks and saved example payloads, which is opt-in and can be adopted route-by-route. Realistic effort for a pilot: under a day for a developer, plus a follow-up to wire it into CI.

Technical risk.

  1. Production exposure. This is the dominant risk. The tool enumerates every route, model field, and validation rule in the application — a genuine attack-surface map. The enabled flag and route middleware must be explicitly gated by environment, and that gate must be verified in the deployed staging/production config, not just locally. Any team that relies on "we'll remember to turn it off" is taking on meaningful risk.
  2. Sensitive data in committed examples. Saved example responses are typically written to a storage directory that teams commit to version control so the docs are reproducible. Real captured payloads routinely contain tokens, PII, or internal identifiers. This needs a review discipline, not just a tool.
  3. Compatibility claim depth. v2.44's sole change is a Laravel 13.x compatibility PR authored by Laravel Shift — an automated framework-upgrade bot. This is a positive sustainability signal (the package is tracking the annual Laravel cadence promptly) but it is not evidence of feature-level testing against Laravel 13. Treat the claim as "test matrix green," and verify against your exact Laravel 13 minor, PHP version, and any framework internals the package touches (router, reflection over models).
  4. Doc drift. Documentation derived from code is accurate about structure and validation but silent about semantics, error contracts, and business rules. It reduces but does not eliminate the need for authored documentation.

Key questions for the maintainer/team.

  • What is the recommended production gating pattern, and is the route disabled by default in APP_ENV=production?
  • Does the package have a documented path for excluding sensitive routes, models, or fields from discovery?
  • Is there a first-class OpenAPI/Swagger export, or is the output UI-only? (If we need a spec artifact for contract testing or API gateway import, this may be a gap requiring a companion tool.)
  • What is the CI test matrix for the Laravel 13 claim — PHP versions, Laravel minors, database drivers?
  • What is the generation strategy for large route sets — on-demand rendering or a pre-generated artifact?

Integration Approach

Stack fit. Well-suited to a conventional Laravel monolith or modular monolith already using FormRequests, API Resources, and route model binding — that is exactly the code shape the package knows how to read. It fits less cleanly in architectures where the public API surface is defined outside Laravel's router (e.g. an OpenAPI-first gateway, or a separate spec repo), because in those cases the package would document an implementation detail rather than the contract.

Migration path. There is no migration in the data sense. The adoption path is: add as a require-dev dependency (or a production dependency with a hard environment gate, if you want the UI available in a staging environment consumers can reach); publish the config; set the enable flag from an environment variable defaulting to false; define the middleware/auth group that protects the route; run the generation command; review the rendered output for accidentally exposed internal routes; then commit the config.

Compatibility. v2.44 is a minor release with no deprecations or breaking changes signalled — the only delta from v2.43 is the Laravel 13.x compatibility line. Within the 2.x line, upgrade risk is effectively zero. The forward-looking consideration is the reverse direction: this release tells us the package is keeping pace with Laravel's annual major cadence, which is the single most important sustainability indicator for a dev-tooling dependency. The counterpart risk is that a compat bump landing as an automated PR means the package's own compatibility story is only as deep as its test suite; teams on Laravel 13 should run a short spike confirming the docs UI renders correctly against routes using newer framework features (attribute-based routing config, enum casts, etc.) before treating it as validated.

Sequencing.

  1. Now: pin to ^2.44, publish config with the enable flag defaulting to false and gated on a non-production environment variable.
  2. Next: run generation against a representative module, not the whole app, and audit the output for sensitive routes and fields.
  3. Then: establish the example-response capture workflow, including a pre-commit or CI check that flags obvious secrets in committed payloads.
  4. Then: decide the delivery model — live UI in a shared staging environment, or a CI-generated artifact published to an internal docs site. The artifact model is safer and gives you a diffable record over time.
  5. Later: evaluate whether the package's output satisfies your external API consumer needs or whether a spec-first/OpenAPI tool is required alongside it. These are complementary, not mutually exclusive.
  6. Gated on the above: only after a passing spike on Laravel 13 should the framework upgrade be scheduled with this package in the dependency graph.

Operational Impact

Maintenance. Ongoing cost is low and mostly config-shaped: a pinned version, one config file, and occasional re-verification when Laravel ships a major. The real maintenance burden is organizational — keeping example responses current and free of sensitive data, and pruning routes from the docs surface as internal endpoints are added. Budget for that as a recurring team habit, not as a package cost.

Support. Community-maintained under the Rakuten org with no commercial SLA and no vendor escalation path. The v2.44 release is a good signal: a compatibility PR was raised and merged promptly rather than the package sitting dormant through a framework major. But automated compat PRs indicate a small maintainer surface area. Practical mitigation is the low switching cost — because the tool has no runtime coupling, replacing it (with Scribe or an OpenAPI-first pipeline) is a contained effort rather than a refactor.

Scaling. Generation cost scales with route count, model count, and relationship depth — not with traffic. Applications in the several-hundred-route range may see slow UI loads or timeouts if docs are generated on demand per request; the fix is pre-generation into a static artifact. Memory pressure during model introspection on very wide models (many attributes, deep relationship graphs) is the more likely ceiling than CPU. None of this affects production request latency.

Failure modes.

  • Exposure: the docs route reachable in a production or internet-facing environment. Highest severity, entirely preventable via config gate plus a deployment-time assertion.
  • Leakage: secrets or PII committed in captured example responses and then propagated into a shared docs site or repository history.
  • Drift: docs render successfully but describe stale example payloads, quietly misleading consumers — worse than no docs because it is trusted.
  • Generation failure: routes defined via closures or unusual reflection patterns can break generation or render incompletely. Fails loudly in dev, which is the right failure mode.
  • Upgrade coupling: a future Laravel major landing before a compatible package release blocks the framework upgrade. Given the observed cadence, this is a low-probability, low-severity event.
  • Silent coverage gaps: routes excluded by middleware or config simply do not appear, and nobody notices the docs are incomplete.

Ramp-up. Near zero for a PHP developer — install, publish, open the URL. The ramp-up cost sits with consumers (frontend, mobile, QA, external integrators), who need a short orientation on reading the UI, understanding that validation rules shown are the source of truth, and knowing that example responses are illustrative rather than contractual. That orientation is worth doing once, deliberately, because the package's value is entirely realized by the people reading it.

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