{"adoption": {"forks": 101, "observed_at": "2026-08-28T04:04:51.780194+00:00", "stars": 1485}, "canonical_url": "https://ross.abutalabs.com/products/antonmedv-finder", "card": {"archived": false, "artifact_type": "library", "description": "CSS Selector Generator 🗺", "domain": ["web-development", "frontend", "developer-tools"], "enriched": true, "function": ["developer-tools"], "health_score": 62, "homepage": null, "language": "HTML", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["antonmedv/finder"], "name": "antonmedv/finder", "platform": ["browser"], "pushed_at": "2025-11-20T21:28:49+00:00", "repo": "antonmedv/finder", "stars": 1485, "tags": ["css-selector-generator", "dom", "element-identification", "automation", "web-development", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["generate a css selector for a clicked element", "record user interactions as css selectors", "build a browser extension that identifies dom elements", "create stable selectors for e2e testing tools", "find a unique selector for web scraping automation"], "what_it_is": "finder is a tiny (1.5kb) JavaScript library that generates the shortest, unique, and robust CSS selectors for DOM elements. It is commonly used to identify clicked elements for automation, recording, and testing tools.", "when_to_avoid": ["you need xpath selectors instead of css selectors", "you are working outside a DOM environment (node without jsdom)", "you need a full recording/replay automation framework rather than just selector generation"], "when_to_choose": ["you need minimal, unique css selectors for dom elements in the browser", "bundle size matters and you want a dependency-free tiny library", "you need configurable selector generation (root, timeout, class/attr filters)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/antonmedv-finder", "repo": "antonmedv/finder", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "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:51.780194+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.780194+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:55.340464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2380c6ba4930db447eb3d539ab335e58abe43fc9428b4bdfb4b1b519f700242", "fetched_at": "2026-08-28T04:04:51.780194+00:00", "kind": "readme", "missing": false, "url": "https://github.com/antonmedv/finder"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 53, "longevity": 100, "rhythm": 40}, "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": 3116, "days_push": 286, "days_rel": 628, "gap_med": 0.0, "n_releases_24m": 3}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}