{"adoption": {"forks": 207, "observed_at": "2026-08-28T04:04:11.520516+00:00", "stars": 1269}, "canonical_url": "https://ross.abutalabs.com/products/nudge", "card": {"archived": false, "artifact_type": "application", "description": "A tool for encouraging the installation of macOS security updates.", "domain": ["security", "apple-ecosystem", "self-hosted"], "enriched": true, "function": ["security", "configuration-management", "developer-tools"], "health_score": 88, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["macadmins/nudge"], "name": "macadmins/nudge", "platform": [], "pushed_at": "2026-05-07T16:51:56+00:00", "repo": "macadmins/nudge", "stars": 1269, "tags": ["macos-updates", "mdm", "macadmins", "swiftui", "patch-management", "end-user-experience", "automation", "macos"], "topics": [], "urls": [], "use_cases": ["force mac users to install security updates", "nudge employees to update macOS before deadline", "manage macOS update compliance across a fleet", "customize update reminder deferrals for end users", "automate macOS version upgrades via MDM", "show localized update prompts on managed Macs"], "what_it_is": "Nudge is a Swift/SwiftUI macOS application that strongly encourages users to install macOS security updates through customizable, multilingual reminder windows with deferral options. It supports fully automated updates by querying the SOFA feed for Apple software releases and is designed for deployment via MDM in managed Mac fleets.", "when_to_avoid": ["you need to enforce updates on macOS versions older than Big Sur 11 (use nudge-python instead)", "you want a cross-platform patch management solution for Windows or Linux", "you need a full patch management suite rather than a single-purpose nudge tool"], "when_to_choose": ["you manage macOS devices with MDM (Jamf, etc.) and need update enforcement", "you need multilingual, customizable update prompts with deferral logic", "you want automated macOS updates using the SOFA feed on Big Sur 11 or later"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nudge", "repo": "macadmins/nudge", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "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:11.520516+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.520516+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:32.751971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9796f05b2225794e086335231deb59210b7a29eafe7f9479f1728fec9f6d4bd2", "fetched_at": "2026-08-28T04:04:11.520516+00:00", "kind": "readme", "missing": false, "url": "https://github.com/macadmins/nudge"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 100, "rhythm": 83}, "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": 2038, "days_push": 118, "days_rel": 118, "gap_med": 20.0, "n_releases_24m": 5}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}