{"adoption": {"forks": 63, "observed_at": "2026-08-28T04:03:22.981953+00:00", "stars": 1050}, "canonical_url": "https://ross.abutalabs.com/products/rustcast", "card": {"archived": false, "artifact_type": "application", "description": "An open source alternative to raycast, in rust!!", "domain": ["developer-tools", "desktop-applications", "self-hosted"], "enriched": true, "function": ["search-engine", "gui", "cli", "plugin-system", "developer-tools"], "health_score": 98, "homepage": "http://rustcast.app/", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["MystikoLab/rustcast"], "name": "MystikoLab/rustcast", "platform": ["rust"], "pushed_at": "2026-08-08T03:12:03+00:00", "repo": "MystikoLab/rustcast", "stars": 1050, "tags": ["launcher", "spotlight-alternative", "raycast-alternative", "iced", "keyboard-first", "clipboard-history", "app-launcher", "shell-scripts", "themes", "calculator", "command-line", "automation", "macos", "desktop"], "topics": ["app", "application", "free", "iced", "iced-rs", "macos", "opensource", "powertoys", "productivty", "raycast", "search", "spotlight", "alternative", "blazing-fast", "blazingly-fast", "fast", "oss", "rust", "rust-lang", "objc2"], "urls": [], "use_cases": ["launch apps with a keyboard shortcut instead of Spotlight", "search files and open them quickly on macOS", "run shell commands and scripts from a launcher", "access clipboard history from a hotkey", "do quick calculations and unit conversions inline", "search the web directly from the launcher", "set up custom workflow modes like focus or presentation mode", "find and copy emojis by name"], "what_it_is": "RustCast is an open-source, blazing-fast popup launcher for macOS built in Rust with the iced GUI framework, serving as a free alternative to Raycast and Spotlight. It supports app search, calculator, clipboard history, web search, file search, emoji search, unit conversions, custom themes, and running shell scripts or custom modes from a single hotkey.", "when_to_avoid": ["you need a launcher on Windows or Linux (macOS only)", "you rely on Raycast's deep extension ecosystem or store", "you need a GUI-based plugin marketplace rather than TOML config and shell scripts", "you require built-in window management (use the author's Sxitch instead)"], "when_to_choose": ["you want a free, open-source Raycast or Spotlight alternative on macOS", "you value speed and keyboard-first workflows", "you want to trigger custom shell scripts and workflow modes from a launcher", "you prefer zero telemetry and no subscriptions", "you want a configurable, themeable launcher"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rustcast", "repo": "MystikoLab/rustcast", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "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:03:22.981953+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.981953+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.668301+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1f956e45333fd0126810b3b94e30ad3114b50d1b2f7c8cd75397c30803b3b829", "fetched_at": "2026-08-28T04:03:22.981953+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MystikoLab/rustcast"}, {"content_hash": "56cc6d6618f7fb745b03eca565253398ff3a33e81fc7aea172cf776ba7454e2f", "fetched_at": "2026-08-29T13:01:28.099499+00:00", "kind": "homepage", "missing": false, "url": "http://rustcast.app/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 19, "rhythm": 83}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 266, "days_push": 25, "days_rel": 33, "gap_med": 1.0, "n_releases_24m": 91}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}