{"adoption": {"forks": 222, "observed_at": "2026-08-28T04:04:53.647186+00:00", "stars": 1496}, "canonical_url": "https://ross.abutalabs.com/products/fragnav", "card": {"archived": false, "artifact_type": "library", "description": "An Android library for managing multiple stacks of fragments", "domain": ["mobile-development", "android-tools", "web-development"], "enriched": true, "function": ["mobile-framework", "ui-components", "state-management"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["ncapdevi/FragNav"], "name": "ncapdevi/FragNav", "platform": ["jvm"], "pushed_at": "2022-04-05T02:54:09+00:00", "repo": "ncapdevi/FragNav", "stars": 1496, "tags": ["fragments", "navigation", "bottom-navigation", "tab-navigation", "fragment-stacks", "android-library", "android", "mobile"], "topics": ["fragment-transactions", "android", "fragments", "navigation", "android-library", "multiple-stacks", "android-lib", "android-navigation", "fragment", "tab-switches"], "urls": [], "use_cases": ["manage multiple fragment stacks for bottom navigation in Android", "switch between tabs while preserving each tab's fragment back stack", "implement navigation drawer with per-item fragment stacks", "clear or reset fragment stacks when switching tabs", "maintain fragment navigation state across tab switches in Android apps"], "what_it_is": "FragNav is an Android library for managing multiple stacks of fragments, typically for bottom navigation or navigation drawer patterns. It handles pushing, popping, switching tabs, and clearing fragment stacks while preserving navigation state.", "when_to_avoid": ["you're starting a new project and can use Jetpack Navigation, which is the modern recommended approach", "you need to keep only one fragment instance or reorder fragments mid-stack, which the library explicitly does not support", "you need a ready-made bottom bar UI, since this library provides no UI components"], "when_to_choose": ["you're building an Android app with bottom navigation or a navigation drawer where each tab needs its own fragment back stack", "you want to follow Android's stack-based navigation principles without writing stack management yourself", "you're using a bottom bar UI library like AHBottomNavigation and need the underlying stack logic"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fragnav", "repo": "ncapdevi/FragNav", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "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:53.647186+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.647186+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.141274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4749908ef194eb034f264bf6523683e2e7815b0d0fef06a1ad916848b76466c4", "fetched_at": "2026-08-28T04:04:53.647186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ncapdevi/FragNav"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3812, "days_push": 1611, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}