{"adoption": {"forks": 38, "observed_at": "2026-08-28T04:06:29.158207+00:00", "stars": 2232}, "canonical_url": "https://ross.abutalabs.com/products/keyboardcowboy", "card": {"archived": false, "artifact_type": "application", "description": ":keyboard: The missing keyboard shortcut utility for macOS", "domain": ["developer-tools", "operating-systems", "desktop-applications"], "enriched": true, "function": ["workflow-automation", "gui", "developer-tools"], "health_score": 95, "homepage": null, "language": "Swift", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["zenangst/KeyboardCowboy"], "name": "zenangst/KeyboardCowboy", "platform": [], "pushed_at": "2026-08-19T17:46:13+00:00", "repo": "zenangst/KeyboardCowboy", "stars": 2232, "tags": ["keyboard-shortcuts", "macos-app", "swift", "hotkeys", "launcher", "automation", "macos", "desktop"], "topics": ["macos", "macos-app", "macos-application"], "urls": [], "use_cases": ["bind custom keyboard shortcuts on macos", "automate repetitive tasks on my mac", "launch apps and scripts with hotkeys", "run workflows when i switch applications", "control system settings from the keyboard", "manipulate files and folders with shortcuts"], "what_it_is": "Keyboard Cowboy is an open-source macOS productivity application for creating custom keyboard shortcuts and automated workflows. It lets users launch apps, run scripts, manipulate files, and control system settings entirely from the keyboard, with contextual triggers based on the active application.", "when_to_avoid": ["you need a cross-platform (Windows/Linux) automation tool", "you require GUI-based mouse automation or complex scripting beyond keyboard triggers", "you are not on macOS 13.0 or newer"], "when_to_choose": ["you want a free, open-source alternative to Keyboard Maestro or BetterTouchTool on macOS", "you prefer keyboard-driven control over apps, scripts, and system settings", "you need contextual workflows triggered by app focus or lifecycle events"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/keyboardcowboy", "repo": "zenangst/KeyboardCowboy", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "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:06:29.158207+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.158207+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:25.307731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9d19cae30f69b5fce3268fe3bd36d0cec2074d37bcae8967b38e4264b4a0c38", "fetched_at": "2026-08-28T04:06:29.158207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenangst/KeyboardCowboy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 61}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2191, "days_push": 14, "days_rel": 263, "gap_med": 7.0, "n_releases_24m": 17}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}