{"adoption": {"forks": 1096, "observed_at": "2026-08-28T04:08:41.516187+00:00", "stars": 4296}, "canonical_url": "https://ross.abutalabs.com/products/easyadminbundle", "card": {"archived": false, "artifact_type": "plugin", "description": "EasyAdmin is a fast, beautiful and modern admin generator for Symfony applications.", "domain": ["backend", "web-development", "cms", "developer-tools"], "enriched": true, "function": ["ui-components", "web-framework", "form-handling", "search-engine", "auth"], "health_score": 98, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["EasyCorp/EasyAdminBundle"], "name": "EasyCorp/EasyAdminBundle", "platform": ["php", "self-hosted"], "pushed_at": "2026-08-13T18:10:22+00:00", "repo": "EasyCorp/EasyAdminBundle", "stars": 4296, "tags": ["symfony-bundle", "admin-panel", "crud-generator", "admin-dashboard", "doctrine", "web-server"], "topics": ["backend", "php", "symfony", "bundle", "admin", "generator", "symfony-bundle", "hacktoberfest"], "urls": [], "use_cases": ["build an admin panel for a Symfony app", "generate CRUD interfaces from Doctrine entities", "create a backend dashboard for managing users and content", "add search, filters, and pagination to an admin area", "control admin access by role and entity", "build multiple admin backends for different user types"], "what_it_is": "EasyAdminBundle is a Symfony bundle that generates complete, beautiful admin backends (CRUD panels) from Doctrine entities. It provides dashboards, search, filters, pagination, and fine-grained security controls with minimal configuration.", "when_to_avoid": ["your project does not use Symfony", "you need a headless admin API rather than a server-rendered UI", "you require a fully custom admin design that EasyAdmin's theming can't accommodate"], "when_to_choose": ["you have a Symfony application with Doctrine entities needing an admin UI", "you want a production-ready admin panel without writing frontend code", "you need fine-grained security at dashboard, menu, action, and field level"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/easyadminbundle", "repo": "EasyCorp/EasyAdminBundle", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "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:08:41.516187+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.516187+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:21:52.140830+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2aacb6402229b3eaf61073b47da3325399bdb17db3e56f33d802d770ab1731d1", "fetched_at": "2026-08-28T04:08:41.516187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EasyCorp/EasyAdminBundle"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 85}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4251, "days_push": 20, "days_rel": 22, "gap_med": 2.0, "n_releases_24m": 109}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}