{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:05:09.410738+00:00", "stars": 1598}, "canonical_url": "https://ross.abutalabs.com/products/laravel-orion", "card": {"archived": false, "artifact_type": "library", "description": "The simplest way to create REST API with Laravel", "domain": ["web-development", "backend", "apis", "developer-tools"], "enriched": true, "function": ["api-framework", "web-framework", "api-documentation", "routing"], "health_score": 84, "homepage": "https://orion.tailflow.org", "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tailflow/laravel-orion"], "name": "tailflow/laravel-orion", "platform": ["php"], "pushed_at": "2026-07-12T15:56:39+00:00", "repo": "tailflow/laravel-orion", "stars": 1598, "tags": ["laravel", "eloquent", "rest-api", "crud", "openapi", "typescript-sdk", "web-server"], "topics": ["laravel", "api", "rest-api", "api-generator", "laravel-orion", "rest-api-framework"], "urls": [], "use_cases": ["build a REST API from Laravel Eloquent models", "generate CRUD endpoints without writing controllers", "auto-generate OpenAPI specs for a Laravel API", "expose model relationships as API resources", "get a TypeScript SDK for my Laravel API", "add filtering, searching, and pagination to a Laravel API"], "what_it_is": "Orion for Laravel is a PHP library that generates fully featured REST APIs from Eloquent models and relationships with minimal controller code. It includes automatic OpenAPI specification generation and a TypeScript SDK out of the box.", "when_to_avoid": ["you don't use Laravel or Eloquent", "you need a highly custom, non-CRUD API design", "you prefer GraphQL or RPC over REST"], "when_to_choose": ["you use Laravel and want a standard REST API quickly", "you want OpenAPI specs and a TS client generated automatically", "you want to leverage Laravel Policies, Request classes, and API Resources"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/laravel-orion", "repo": "tailflow/laravel-orion", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "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:05:09.410738+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.410738+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:53:17.634124+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6508fd3e9ee8c7c94e724826d5ab3fa2655a74965f8afdefedac9a3dfcf2177", "fetched_at": "2026-08-28T04:05:09.410738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailflow/laravel-orion"}, {"content_hash": "8aa49a556091befe3cf435baa9449917e6825704f0088cc438e896f081e09feb", "fetched_at": "2026-08-29T11:24:39.404692+00:00", "kind": "homepage", "missing": false, "url": "https://orion.tailflow.org"}, {"content_hash": "e04201a4673a132a518b8cfc8aaf547dd0afeb80819e9bfd45208eeced91fb10", "fetched_at": "2026-08-29T11:24:39.415061+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/models"}, {"content_hash": "07013955405f0e6aa86ba581f6a789f3aced5def661390153e3227612b880f08", "fetched_at": "2026-08-29T11:24:39.417477+00:00", "kind": "site_page", "missing": false, "url": "https://orion.tailflow.org/guide/specifications"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 8}, "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": 2696, "days_push": 52, "days_rel": 667, "gap_med": null, "n_releases_24m": 1}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}