{"adoption": {"forks": 12, "observed_at": "2026-08-28T04:04:58.625922+00:00", "stars": 1528}, "canonical_url": "https://ross.abutalabs.com/products/update-helper", "card": {"archived": false, "artifact_type": "plugin", "description": "Composer plugin to rise warnings on update, suggest migration processes", "domain": ["developer-tools"], "enriched": true, "function": ["package-manager", "developer-tools", "cli"], "health_score": 20, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kylekatarnls/update-helper"], "name": "kylekatarnls/update-helper", "platform": ["php", "cli", "cross-platform"], "pushed_at": "2020-09-09T15:33:01+00:00", "repo": "kylekatarnls/update-helper", "stars": 1528, "tags": ["composer-plugin", "dependency-upgrades", "migration-guidance", "php", "automation"], "topics": [], "urls": [], "use_cases": ["warn users of a PHP library when they install an obsolete version", "show migration instructions during composer update", "automatically upgrade dependency versions on composer install", "detect whether a package depends on an outdated framework version", "guide library users through breaking-change upgrades"], "what_it_is": "A Composer plugin that lets PHP library authors display upgrade warnings and migration instructions to users during composer updates. It can detect installed dependencies, prompt interactively, and even automatically update dependency versions.", "when_to_avoid": ["you need general-purpose dependency auditing or vulnerability scanning", "your project is not PHP/Composer-based", "you need actively developed tooling - the latest release is from 2020"], "when_to_choose": ["you maintain a PHP library with breaking changes and want to guide users through upgrades", "you want to automate dependency version bumps during composer workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/update-helper", "repo": "kylekatarnls/update-helper", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "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:58.625922+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.625922+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:30.934718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f81dd3450df9d24a183b55998f0563bbc01999ef3f5244fea6574040e654712a", "fetched_at": "2026-08-28T04:04:58.625922+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kylekatarnls/update-helper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2664, "days_push": 2184, "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}}