n1n1du44/client-api-document-bundle
A Symfony bundle for creating client-facing API documentation directly from your application. It helps organize endpoints, requests, and responses into browsable docs, making APIs easier to understand, maintain, and share with frontend and integration teams.
-bundle suffix, DI extension, and service conventions are Symfony, not Laravel. For a Laravel product this is the headline finding: the integration cost likely exceeds the value, and Laravel's package-discovery conventions won't apply. The PM decision is therefore "use as a reference implementation" rather than "add to composer.json."Consider it only when all of the following hold:
Bundle convention is a mismatch; the realistic use is reading the source, not installing it.Look elsewhere when:
dedoc/scramble or knuckleswtf/scribe; both are Laravel-native, actively maintained, and have real adoption.nelmio/api-doc-bundle and the zircote/swagger-php ecosystem have the maintainer depth, OpenAPI coverage, and issue history you need.For executives: We evaluated an open-source API documentation component as a way to stop hand-maintaining our API spec. It's not a fit for production. It has no adoption (zero stars, zero dependents), no maintainer signal, and — critically — it's packaged as a Symfony bundle while we're a Laravel shop, so adopting it would mean owning a compatibility layer we'd have to maintain ourselves. The recommendation is not to adopt, and instead standardize on a maintained, Laravel-native generator. The engineering cost is roughly the same, and it removes an unowned-code risk from our API program. The evaluation itself was cheap and answers a real roadmap question: we can generate our spec from source instead of hand-maintaining it, which is the prerequisite for any public or partner API launch.
For engineering: The codebase is small and MIT-licensed, so it's readable in an afternoon — that's its only real virtue. Treat it as a reference implementation for route-to-spec generation; do not add it to composer.json in anything we intend to operate. Concrete concerns: unknown maintainer with no issue history to gauge responsiveness, no dependents to surface breakage before we hit it, and a package convention (*Bundle) that points at Symfony rather than our stack. Unverified items that would need a half-day spike before any further consideration: Packagist availability, declared PHP/Laravel/Symfony constraints, whether it emits a valid OpenAPI artifact, and whether it writes files or makes network calls during generation.
Proposed path: Adopt Scramble for route-derived OpenAPI output, wire the generated spec into CI as a build artifact, and gate merges on spec drift. That gets us the documentation milestone on a dependency we can actually get support for. If we want to keep this evaluation open, the cheap experiment is: fork it, spend half a day generating a spec from three of our real endpoints, lint the output, and diff it against Scramble's. Kill the experiment unless parity is clearly better — it won't be, but the comparison gives us a defensible build-vs-buy memo and a documented reason this package isn't in the tree.
How can I help you explore Laravel packages today?