{"adoption": {"forks": 9, "observed_at": "2026-08-28T04:03:21.720882+00:00", "stars": 1046}, "canonical_url": "https://ross.abutalabs.com/products/rebugger", "card": {"archived": false, "artifact_type": "library", "description": "A simple Compose Multiplatform library designed to print the reason for recomposition in your console/Logcat window.\"", "domain": ["android-tools", "developer-tools", "frontend"], "enriched": true, "function": ["developer-tools", "logging"], "health_score": 57, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["theapache64/rebugger"], "name": "theapache64/rebugger", "platform": ["jvm"], "pushed_at": "2025-08-24T15:46:05+00:00", "repo": "theapache64/rebugger", "stars": 1046, "tags": ["jetpack-compose", "recomposition", "debugging", "compose-multiplatform", "logcat", "android"], "topics": ["android", "jetpack", "jetpack-compose", "recomposition"], "urls": [], "use_cases": ["debug why a composable is recomposing in Jetpack Compose", "find unnecessary recompositions causing performance issues", "track which state or argument changed between recompositions", "print recomposition reasons to Logcat during Android development", "optimize Compose UI performance by identifying unstable parameters"], "what_it_is": "Rebugger is a Compose Multiplatform library that prints the reason for Jetpack Compose recompositions to the console or Logcat. It tracks changes in composable arguments and state values to explain why a recomposition occurred.", "when_to_avoid": ["you are not using Jetpack Compose or Compose Multiplatform", "you need full performance profiling rather than recomposition reason tracking", "you need a production monitoring tool rather than a development-time debugger"], "when_to_choose": ["you are developing Android or Compose Multiplatform UIs and need to diagnose recomposition behavior", "you want a lightweight drop-in composable instead of heavyweight profilers", "you need to see which specific arguments or states triggered a recomposition"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rebugger", "repo": "theapache64/rebugger", "role": "main", "score": 50}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "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:03:21.720882+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.720882+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:01:59.988940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00162e41be9099f50594f3c5fb43f5b1ab795d43fc7ef9d3eaddff46cfe89622", "fetched_at": "2026-08-28T04:03:21.720882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theapache64/rebugger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 38, "longevity": 89, "rhythm": 44}, "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": 1255, "days_push": 374, "days_rel": 374, "gap_med": 0, "n_releases_24m": 2}, "score": 50, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}