{"adoption": {"forks": 54, "observed_at": "2026-09-03T02:15:15.583581+00:00", "stars": 1003}, "canonical_url": "https://ross.abutalabs.com/products/nuxt-modules-device", "card": {"archived": false, "artifact_type": "plugin", "description": "Nuxt module for detecting device type.", "domain": ["web-development", "frontend"], "enriched": true, "function": ["middleware", "web-framework"], "health_score": 96, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nuxt-modules/device"], "name": "nuxt-modules/device", "platform": [], "pushed_at": "2026-09-02T18:43:32+00:00", "repo": "nuxt-modules/device", "stars": 1003, "tags": ["nuxt", "vue", "device-detection", "user-agent", "responsive", "nodejs", "web-server"], "topics": ["nuxt", "nuxtjs", "javascript"], "urls": [], "use_cases": ["detect mobile vs desktop in a Nuxt app", "serve different layouts for mobile and desktop", "detect iOS or Android devices in Vue SSR", "detect bots and crawlers via user agent", "switch components based on device type", "device detection with Cloudflare or CloudFront headers"], "what_it_is": "A Nuxt module that detects the device type (desktop, mobile, tablet, OS, browser, crawler) from user-agent headers. It exposes flags via a $device helper and useDevice() composable, with CloudFront and Cloudflare header support.", "when_to_avoid": ["you need detailed device capability or hardware data", "your project is not Nuxt/Vue based", "you need client-side responsive behavior better handled with CSS media queries"], "when_to_choose": ["you use Nuxt and need device-aware rendering or layouts", "you want simple boolean flags for device, OS, and browser detection", "you need crawler detection or CDN device-type header support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nuxt-modules-device", "repo": "nuxt-modules/device", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.583581+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:13:54.440631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21d5aedee8db438b0716f7bebc8f07fd394ec1906d1821d90f7ad457fabeb4c2", "fetched_at": "2026-09-03T02:15:15.583581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nuxt-modules/device"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 28}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3190, "days_push": 0, "days_rel": 267, "gap_med": 223.5, "n_releases_24m": 3}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}