{"adoption": {"forks": 415, "observed_at": "2026-08-28T04:07:30.652487+00:00", "stars": 2931}, "canonical_url": "https://ross.abutalabs.com/products/l5-swagger", "card": {"archived": false, "artifact_type": "library", "description": "OpenApi or Swagger integration to Laravel", "domain": ["web-development", "backend", "apis", "documentation", "developer-tools"], "enriched": true, "function": ["documentation", "api-documentation", "templating"], "health_score": 91, "homepage": "https://github.com/DarkaOnLine/L5-Swagger", "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["DarkaOnLine/L5-Swagger"], "name": "DarkaOnLine/L5-Swagger", "platform": ["php", "self-hosted"], "pushed_at": "2026-06-12T12:34:23+00:00", "repo": "DarkaOnLine/L5-Swagger", "stars": 2931, "tags": ["laravel-package", "swagger-ui", "swagger-php", "openapi", "api-docs", "openapi-annotations", "laravel", "web-server"], "topics": ["laravel", "laravel-5-package", "l5-swagger", "swagger-php", "swagger-ui", "swagger", "openapi", "documentation", "specification", "swagger-specification", "openapi-annotations", "api", "ui"], "urls": [], "use_cases": ["generate OpenAPI documentation for a Laravel API", "serve interactive Swagger UI for my Laravel endpoints", "document REST API with OpenAPI annotations in Laravel", "add swagger docs to Laravel 10/11 project", "auto-generate API spec from Laravel controllers", "try out API endpoints from a swagger UI in Laravel"], "what_it_is": "L5-Swagger is a Laravel package that integrates swagger-php and Swagger UI to generate and serve OpenAPI/Swagger documentation for Laravel APIs. It wraps these tools in a Laravel-friendly way, handling configuration, spec generation, and serving the interactive UI.", "when_to_avoid": ["your project is not Laravel-based (use swagger-php and swagger-ui directly)", "you need to design specs first without code annotations (use a spec editor instead)", "you need API documentation for non-PHP backends"], "when_to_choose": ["you have a Laravel application and want OpenAPI/Swagger docs with minimal setup", "you want annotation-based spec generation via swagger-php plus a hosted Swagger UI", "you need OAuth/Passport integration with Swagger UI in Laravel"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/l5-swagger", "repo": "DarkaOnLine/L5-Swagger", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:30.652487+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:33:23.916441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bfda2a10170dd0e0fd08c9c3c263f568876312e37935f031dc80cc1f89c687d", "fetched_at": "2026-08-28T04:07:30.652487+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}, {"content_hash": "c6c5bf496ceddc120c11a9b521a96830102cd70da786e07e32a71fd4834f5d85", "fetched_at": "2026-08-29T09:48:32.674956+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/DarkaOnLine/L5-Swagger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 88}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4188, "days_push": 82, "days_rel": 82, "gap_med": 23, "n_releases_24m": 10}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}