{"adoption": {"forks": 53, "observed_at": "2026-08-28T04:08:11.341895+00:00", "stars": 3596}, "canonical_url": "https://ross.abutalabs.com/products/vim-clutch", "card": {"archived": false, "artifact_type": "application", "description": "A hardware pedal for improved text editing in Vim", "domain": ["developer-tools", "text-editors", "hardware"], "enriched": true, "function": ["developer-tools", "cli"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["alevchuk/vim-clutch"], "name": "alevchuk/vim-clutch", "platform": ["windows", "cross-platform"], "pushed_at": "2021-10-21T17:49:04+00:00", "repo": "alevchuk/vim-clutch", "stars": 3596, "tags": ["vim", "foot-pedal", "hardware-hack", "diy", "usb-hid", "text-editing", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["switch vim insert mode with a foot pedal", "build a hardware pedal for text editing", "hands-free vim mode switching", "repurpose a cheap USB foot switch for vim", "improve typing ergonomics while editing in vim"], "what_it_is": "VIM Clutch is a DIY hardware project that turns a cheap USB foot pedal into a Vim mode-switching controller: pressing the pedal sends 'i' to enter Insert Mode and releasing it sends Esc to return to Normal Mode. The repository documents how to build the pedal by combining two PC Sensor USB foot switches with a simple physical modification.", "when_to_avoid": ["you want a ready-made, purchasable product rather than a DIY project", "you need programmable pedal-down and pedal-up events without hardware modification", "you don't use Vim or a similar modal editor"], "when_to_choose": ["you want a fun DIY hardware hack to speed up Vim editing", "you already own or can cheaply buy PC Sensor USB foot pedals", "you want step-by-step instructions for wiring dual pedals into one enclosure"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vim-clutch", "repo": "alevchuk/vim-clutch", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "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:08:11.341895+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.341895+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:33:47.469975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a52d133f74002575bb89f730e8bcbba4becfcfeec991152bb5ee3315ef4bbd", "fetched_at": "2026-08-28T04:08:11.341895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alevchuk/vim-clutch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5485, "days_push": 1777, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}