{"adoption": {"forks": 868, "observed_at": "2026-08-28T04:11:03.611609+00:00", "stars": 13602}, "canonical_url": "https://ross.abutalabs.com/products/ani-cli", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A cli tool to browse and play anime", "domain": ["entertainment", "media", "crawlers"], "enriched": true, "function": ["cli", "web-scraping", "video-processing", "search-engine"], "health_score": 99, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["pystardust/ani-cli"], "name": "pystardust/ani-cli", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2026-08-18T16:44:56+00:00", "repo": "pystardust/ani-cli", "stars": 13602, "tags": ["anime", "shell-script", "posix", "fzf", "rofi", "syncplay", "termux", "steamdeck", "video-streaming", "media-player", "command-line", "linux", "macos", "android", "ios"], "topics": ["shell", "cli", "anime", "posix", "steamdeck", "syncplay", "termux", "webscraping", "fzf", "linux", "mac", "rofi", "terminal", "windows"], "urls": [], "use_cases": ["watch anime from the terminal", "browse and play anime episodes in a cli", "stream anime on linux without a browser", "watch anime together with friends synced", "play anime on android with termux", "scrape anime episode links from the command line"], "what_it_is": "ani-cli is a POSIX shell script CLI tool for browsing and watching anime from the terminal, scraping the anidb site and playing videos via external players. It supports watching alone or synced with friends via Syncplay across Linux, macOS, Windows, Android, iOS, and Steam Deck.", "when_to_avoid": ["you want a legal licensed streaming service", "you need a GUI browsing experience", "you rely on a single scraping source staying up (sites change/blocks break it)"], "when_to_choose": ["you prefer terminal-based media consumption", "you want a lightweight, dependency-light anime player", "you need cross-platform support including termux and steam deck", "you want synced group watching via syncplay"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ani-cli", "repo": "pystardust/ani-cli", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "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:11:03.611609+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:03.611609+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:13:10.110602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1bcfcb19185febffaf90b0719940ac3efb911907d200f3b1e3ebb2bdec06b11", "fetched_at": "2026-08-28T04:11:03.611609+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pystardust/ani-cli"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 95}, "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": 1911, "days_push": 15, "days_rel": 32, "gap_med": 10.5, "n_releases_24m": 7}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}