{"adoption": {"forks": 323, "observed_at": "2026-08-28T04:09:17.476290+00:00", "stars": 5401}, "canonical_url": "https://ross.abutalabs.com/products/aya", "card": {"archived": false, "artifact_type": "application", "description": "Android ADB desktop app", "domain": ["developer-tools", "android-tools", "mobile-development", "cross-platform"], "enriched": true, "function": ["gui", "developer-tools", "monitoring", "logging", "file-system", "terminal-ui"], "health_score": 71, "homepage": "https://aya.liriliri.io", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["liriliri/aya"], "name": "liriliri/aya", "platform": ["windows", "cross-platform"], "pushed_at": "2025-12-25T10:30:22+00:00", "repo": "liriliri/aya", "stars": 5401, "tags": ["adb", "android", "screen-mirroring", "logcat", "device-management", "electron-app", "macos", "linux", "electron", "desktop"], "topics": ["adb", "electron", "electron-app", "android"], "urls": [], "use_cases": ["mirror and control an android phone screen from my desktop", "browse and transfer files between pc and android device", "install and uninstall apk files on android via gui", "view logcat logs with filters on windows", "monitor cpu memory and fps of an android device", "run adb shell commands without typing adb", "inspect android app layout hierarchy"], "what_it_is": "AYA is an open-source Electron desktop application that serves as a GUI wrapper around Android's ADB tool for controlling Android devices. It bundles screen mirroring, file management, app management, performance monitoring, logcat viewing, and an interactive ADB shell in one cross-platform app.", "when_to_avoid": ["you need to manage iOS or HarmonyOS devices (see separate tools)", "you only need scripted/automated adb commands in CI", "you require wireless device setup without any adb knowledge"], "when_to_choose": ["you want a graphical alternative to the adb command line", "you need screen mirroring, file transfer, and device monitoring in one tool", "you work with Android devices on Windows, macOS, or Linux", "you want an open-source alternative to proprietary Android device managers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aya", "repo": "liriliri/aya", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "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:09:17.476290+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:17.476290+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:57:48.947027+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4eddebce5b71987bcf8808ac567ffb19d4e8a4104e95fc4782a1f644e7bbf46", "fetched_at": "2026-08-28T04:09:17.476290+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liriliri/aya"}, {"content_hash": "cf63a18b47ba2de5ad424475f8fa0defaf417f098182ae4c5b79de453e454216", "fetched_at": "2026-08-29T08:52:45.465650+00:00", "kind": "homepage", "missing": false, "url": "https://aya.liriliri.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "longevity": 49, "rhythm": 59}, "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": 688, "days_push": 251, "days_rel": 278, "gap_med": 6.5, "n_releases_24m": 31}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}