{"adoption": {"forks": 478, "observed_at": "2026-08-28T04:09:12.098873+00:00", "stars": 5200}, "canonical_url": "https://ross.abutalabs.com/products/instructions", "card": {"archived": false, "artifact_type": "library", "description": "Create walkthroughs and guided tours (coach marks) in a simple way, with Swift.", "domain": ["mobile-development", "frontend", "developer-tools"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ephread/Instructions"], "name": "ephread/Instructions", "platform": [], "pushed_at": "2024-06-05T16:14:17+00:00", "repo": "ephread/Instructions", "stars": 5200, "tags": ["coach-marks", "walkthrough", "guided-tour", "onboarding", "deprecated", "ios", "swift", "mobile"], "topics": ["coach-marks", "tour", "walkthrough"], "urls": [], "use_cases": ["add onboarding coach marks to an iOS app", "create a guided tour highlighting UI elements", "show walkthrough overlays for first-time users", "build skippable feature tours on iPhone and iPad", "add animated tooltips pointing at UI controls"], "what_it_is": "A Swift library for adding customizable coach marks and guided tours to iOS apps. It supports customizable highlights, views, positions, skippable tours, and app extensions, and is now in maintenance mode with a recommendation to migrate to SwiftUI's TipKit.", "when_to_avoid": ["you are starting a new SwiftUI project (use TipKit instead)", "you need cross-controller walkthroughs or multiple simultaneous coach marks", "you expect new features or active development"], "when_to_choose": ["you need coach marks in a UIKit-based iOS app", "you require customizable highlight and overlay views", "you need app extension support for tours", "you want a mature library with RTL and size-transition support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/instructions", "repo": "ephread/Instructions", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "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:09:12.098873+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.098873+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.477927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e6064b760dcb1b30e749338c93dc337c4391d61cd0ccadcfd2bba58b268b9111", "fetched_at": "2026-08-28T04:09:12.098873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ephread/Instructions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3989, "days_push": 819, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}