{"adoption": {"forks": 510, "observed_at": "2026-08-28T04:07:01.562723+00:00", "stars": 2574}, "canonical_url": "https://ross.abutalabs.com/products/laravel-messenger", "card": {"archived": false, "artifact_type": "library", "description": "Simple user messaging package for Laravel", "domain": ["messaging-platforms", "web-development", "backend"], "enriched": true, "function": ["middleware", "database", "api-framework"], "health_score": 82, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["cmgmyr/laravel-messenger"], "name": "cmgmyr/laravel-messenger", "platform": ["php", "self-hosted"], "pushed_at": "2026-03-18T03:25:54+00:00", "repo": "cmgmyr/laravel-messenger", "stars": 2574, "tags": ["laravel", "messaging", "composer-package", "private-messaging", "group-chat", "eloquent"], "topics": ["laravel", "php", "laravel-messenger", "messenger", "composer", "composer-packages", "package", "hacktoberfest"], "urls": [], "use_cases": ["add private direct messaging between users in a Laravel app", "build group chat threads where only participants can see messages", "show users their unread message count", "display the latest message for each conversation thread", "implement open forum-style threads visible to everyone", "add participants to an ongoing conversation"], "what_it_is": "A Laravel package that adds a full user-to-user messaging system to Laravel applications, supporting multiple conversations, group threads, and unread message tracking. It is installed via Composer and provides Eloquent models and migrations for threads, messages, and participants.", "when_to_avoid": ["you need real-time chat with websockets or push delivery out of the box", "your project is not built on Laravel or PHP", "you need a full-featured chat UI, not just backend messaging models"], "when_to_choose": ["you have a Laravel application and need built-in user messaging without building it from scratch", "you want flexible messaging primitives you can layer your own access control on top of", "you need one-to-one and group conversations backed by Eloquent models"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/laravel-messenger", "repo": "cmgmyr/laravel-messenger", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "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:01.562723+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.562723+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:22:45.507050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab1e83001c18a40cd8f8c2d70f47f19df6d574fdf5615c1b93cfb4a3c0af67d2", "fetched_at": "2026-08-28T04:07:01.562723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmgmyr/laravel-messenger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 72, "longevity": 100, "rhythm": 43}, "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": 4326, "days_push": 168, "days_rel": 168, "gap_med": 373, "n_releases_24m": 2}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}