{"adoption": {"forks": 32, "observed_at": "2026-08-28T04:04:39.492014+00:00", "stars": 1413}, "canonical_url": "https://ross.abutalabs.com/products/kem-a-appmanager", "card": {"archived": false, "artifact_type": "application", "description": "MacOS style AppImage installer and management application", "domain": ["desktop-applications", "operating-systems", "developer-tools"], "enriched": true, "function": ["gui", "file-system", "developer-tools"], "health_score": 99, "homepage": null, "language": "Vala", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["kem-a/AppManager"], "name": "kem-a/AppManager", "platform": [], "pushed_at": "2026-08-23T18:37:57+00:00", "repo": "kem-a/AppManager", "stars": 1413, "tags": ["appimage", "appimage-installer", "gtk4", "libadwaita", "vala", "desktop-integration", "auto-update", "zsync", "drag-and-drop", "portable-apps", "linux", "desktop", "gtk"], "topics": ["appimage", "applications", "appmanager", "linux", "gnome", "gtk", "kde", "vala", "anylinux"], "urls": [], "use_cases": ["install appimages on linux with drag and drop", "manage installed appimages from a gui", "create desktop entries and icons for appimages automatically", "keep appimages up to date with delta updates", "run appimages without fuse on any distro", "install multiple versions of the same appimage side by side", "uninstall appimages cleanly by moving to trash", "install appimages from the web with one click via appmgr:// links"], "what_it_is": "AppManager is a GTK4/Libadwaita desktop application written in Vala that simplifies installing, managing, and uninstalling AppImages on Linux. It provides a macOS-style drag-and-drop install flow, desktop entry integration, auto-updates with zsync delta support, and works on any Linux distro without requiring FUSE.", "when_to_avoid": ["you prefer Flatpak, Snap, or native package managers for app installation", "you need a CLI-only or headless tool for scripting AppImage management", "you are not on a Linux desktop with a graphical environment", "you only need to run an AppImage once without installing it"], "when_to_choose": ["you frequently use AppImages and want painless installation and desktop integration", "you want a macOS-like drag-and-drop install experience on Linux", "you need AppImage auto-updates with bandwidth-efficient delta downloads", "you run a distro without FUSE or an older/musl-based system", "you want portable, self-contained app installs with isolated data folders"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kem-a-appmanager", "repo": "kem-a/AppManager", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "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:04:39.492014+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.492014+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:16.888779+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1194adc39550fb6d1d1be518a3e11e9a6c7070620870f0c17b42e898eea36ea", "fetched_at": "2026-08-28T04:04:39.492014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kem-a/AppManager"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 20, "rhythm": 94}, "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": 286, "days_push": 10, "days_rel": 42, "gap_med": 4, "n_releases_24m": 36}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}