{"adoption": {"forks": 210, "observed_at": "2026-08-28T04:07:03.410302+00:00", "stars": 2602}, "canonical_url": "https://ross.abutalabs.com/products/betty", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Friendly English-like interface for your command line. Don't remember a command? Ask Betty.", "domain": ["developer-tools"], "enriched": true, "function": ["cli", "nlp", "developer-tools"], "health_score": 20, "homepage": null, "language": "Ruby", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["pickhardt/betty"], "name": "pickhardt/betty", "platform": ["cli", "cross-platform"], "pushed_at": "2021-06-24T08:25:17+00:00", "repo": "pickhardt/betty", "stars": 2602, "tags": ["natural-language-interface", "ruby", "siri-for-terminal", "command-translation", "unmaintained", "command-line", "natural-language-processing", "automation", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["translate english phrases into shell commands", "find a command without leaving the terminal", "count words or lines in files using plain english", "uncompress archives by describing the task in english", "get system info like username or date via natural language"], "what_it_is": "Betty is a Ruby-based command line tool that translates plain English phrases into shell commands, acting like Siri for the terminal. It lets users run things like 'betty whats my username' without memorizing obscure commands.", "when_to_avoid": ["you need actively maintained software with a license", "you need robust NLP beyond a fixed phrase-matching rule set", "you work on Windows or need non-Unix shell support"], "when_to_choose": ["you frequently forget shell command syntax", "you want a lightweight natural language layer over the terminal", "you prefer staying in the command line instead of searching the web for commands"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/betty", "repo": "pickhardt/betty", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "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:07:03.410302+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:03.410302+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:21:08.713404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "75e66d7e7e8b52a2fbf43f810c99b2d86183c2b4afd376ab89a967d2856bdde6", "fetched_at": "2026-08-28T04:07:03.410302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pickhardt/betty"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 4504, "days_push": 1896, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}