{"adoption": {"forks": 101, "observed_at": "2026-08-28T04:04:28.160375+00:00", "stars": 1351}, "canonical_url": "https://ross.abutalabs.com/products/firefox-scripts", "card": {"archived": false, "artifact_type": "plugin", "description": "userChromeJS / autoconfig.js and extensions", "domain": ["browser-extensions", "developer-tools"], "enriched": true, "function": ["developer-tools", "plugin-system", "workflow-automation"], "health_score": 24, "homepage": null, "language": "JavaScript", "license": "MPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["xiaoxiaoflood/firefox-scripts"], "name": "xiaoxiaoflood/firefox-scripts", "platform": ["browser", "cross-platform", "windows"], "pushed_at": "2025-02-10T22:57:57+00:00", "repo": "xiaoxiaoflood/firefox-scripts", "stars": 1351, "tags": ["firefox", "userchromejs", "userscripts", "firefox-extension", "browser-customization", "autoconfig", "linux", "macos"], "topics": ["firefox", "userchromejs", "mozilla-firefox", "userchromejs-scripts", "firefox-addon", "firefox-extension", "firefox-extensions", "userscript", "userscripts", "userchrome"], "urls": [], "use_cases": ["customize Firefox UI with userChromeJS scripts", "load unsigned extensions in modern Firefox", "control media playback across tabs with hotkeys", "manage and toggle browser scripts without restarting Firefox", "apply the same customizations to Thunderbird"], "what_it_is": "A collection of userChromeJS scripts and legacy-style Firefox extensions loaded via autoconfig.js, enabling deep customization of Firefox and Thunderbird without restarts. It includes a loader/manager (rebuild_userChrome.uc.js) plus scripts for media control, UI tweaks, and more.", "when_to_avoid": ["you only need standard add-ons from Mozilla's store", "you're uncomfortable modifying the Firefox installation folder and profile", "you need something that survives Firefox's frequent internal API changes without maintenance"], "when_to_choose": ["you want deep, scriptable customization of Firefox beyond what WebExtensions allow", "you need to run legacy-style extensions or userChrome scripts on current Firefox versions", "you want restartless script management with a toolbar button"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/firefox-scripts", "repo": "xiaoxiaoflood/firefox-scripts", "role": "main", "score": 35}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "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:28.160375+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:28.160375+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:14.555473+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3facee40b6666194103c366a4aa5055439dca397dc6876cd832803e350aa9b66", "fetched_at": "2026-08-28T04:04:28.160375+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoxiaoflood/firefox-scripts"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 6, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3244, "days_push": 569, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 35, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}