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 Doc Bundle Laravel Package

streamlike/api-doc-bundle

A Symfony bundle for generating API documentation directly from your application. It integrates with your existing PHP setup to expose routes and metadata, helping teams build browsable reference docs with minimal configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

This is not a Laravel package. Despite being framed in the request as a Laravel/PHP package, streamlike/api-doc-bundle is a fork of nelmio/NelmioApiDocBundle, which is a Symfony bundle. It depends on Symfony's bundle/DI kernel (NelmioApiDocExtension, compiler passes, the routing loader, symfony/framework-bundle, symfony/routing) and on Doctrine annotations or PHP attributes processed by zircote/swagger-php. None of that plugs into Laravel's service provider/container model without writing a substantial compatibility shim — for a documentation generator, that shim is not worth building.

  • Architecture fit: High for Symfony applications; low to none for Laravel. Laravel uses Symfony components but not the FrameworkBundle, so the bundle's registration, config tree, and route-loading hooks have nowhere to land.
  • Integration feasibility: On Symfony, straightforward (bundles.php registration + config). On Laravel, effectively a rewrite of the integration layer. Recommend treating this as a "Symfony only" artifact.
  • Technical risk:
    • Fork risk (highest). 0 stars, 0 dependents, repo name is the upstream's name — this is a personal/internal mirror. The upstream sync cadence, diff against upstream, and fork rationale are unknown. You would be adopting an unmaintained fork instead of the actively maintained nelmio/NelmioApiDocBundle.
    • Version drift. Nelmio's annotation-based generation was deprecated/moved in favor of attributes and OpenAPI 3.x. A stale fork pinned to an older major will lock you out of newer Symfony/PHP versions.
    • Security/maintenance posture. No dependents means no downstream signal that security patches are flowing.
  • Key questions to answer before any commitment:
    1. What upstream version is this forked from, and what was changed? (Diff and changelog required.)
    2. Is the target runtime actually Symfony, or is "Laravel" a mislabel? If Laravel, stop here.
    3. Why a fork at all — custom annotation formats, internal auth scheme, or an unsynced snapshot?
    4. Who owns the fork, and what is the upgrade obligation on the next Symfony major?
    5. Why not use the maintained upstream (nelmio/NelmioApiDocBundle) directly?
    6. For Laravel specifically, why not dedoc/scramble (attribute/reflection-based, no annotations) or knuckleswtf/scribe?

Integration Approach

  • Stack fit: Adopt only inside a Symfony codebase already using FrameworkBundle and the bundle's supported Symfony range. Do not attempt to integrate into a Laravel application; the cost/benefit collapses when mature Laravel-native alternatives exist.
  • Migration path (if Symfony): Prefer nelmio/NelmioApiDocBundle upstream over this fork. Pin to a supported version, migrate annotations → attributes if the fork is old, and diff any fork-specific behavior to decide whether it's still needed.
  • Migration path (if Laravel): Use dedoc/scramble for zero-config inference or knuckleswtf/scribe if you want generated human-readable docs plus Postman collections. Both emit OpenAPI, satisfying the same downstream contract (client SDKs, API gateway import, contract tests) without Symfony dependencies.
  • Compatibility checks to run early:
    • PHP version constraint vs. your runtime (Nelmio's modern lines require PHP 8.1+).
    • Symfony major alignment (5.4 vs 6.x vs 7.x).
    • zircote/swagger-php version — annotation vs attribute support.
    • Doctrine annotations package — deprecated; attribute path preferred.
  • Sequencing:
    1. Confirm runtime (Symfony vs Laravel) and pick the correct generator before writing any annotation.
    2. Inventory routes/controllers and the auth model (schema must reflect actual security).
    3. Wire the generator into CI so spec generation runs on every build.
    4. Generate OpenAPI, diff against the running API, and gate merges on schema validity.
    5. Publish through the existing docs portal / API gateway import.

Operational Impact

  • Maintenance: You inherit the fork. With no dependents and no visible upstream-sync process, expect to own security patches, Symfony-major compatibility, and bug fixes. Budget recurring effort per Symfony upgrade cycle. This is the dominant cost of the package.
  • Support: No community, no issue traffic, no Stack Overflow surface. Upstream Nelmio issues are the only knowledge base, and they may not apply if the fork diverged.
  • Scaling: Spec generation is build/CI-time, so runtime overhead is negligible. Annotation/attribute parsing is O(codebase) and can slow large builds — cache the spec artifact and generation step. The sandbox UI, if enabled in production, is a surface to restrict or disable.
  • Failure modes to monitor:
    • Schema drift — docs silently diverge from actual behavior; mitigate with spec-vs-response contract tests in CI.
    • Compile-time breakage — bundle/DI config errors surface as container build failures on Symfony upgrades.
    • Fork divergence — security fixes in upstream never land in your copy.
    • PHP/Doctrine deprecation — annotation parsing breaks as PHP attribute support and Doctrine annotations are retired.
    • Spec validity — malformed OpenAPI breaks downstream SDK generation and gateway import.
  • Ramp-up: Symfony teams already fluent in bundles/annotations see low ramp-up. A Laravel team would pay a large, unjustified learning curve (Symfony DI, bundle config, annotation vocabulary) purely to obtain docs — a strong argument against this package for a Laravel org.

TPM recommendation: Treat streamlike/api-doc-bundle as a low-confidence, Symphony-only artifact. Do not adopt it for a Laravel stack. If the runtime is Symfony, replace it with maintained nelmio/NelmioApiDocBundle; if Laravel, standardize on dedoc/scramble or knuckleswtf/scribe and avoid carrying fork maintenance debt for a documentation feature.

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