{"adoption": {"forks": 21, "observed_at": "2026-08-28T04:03:15.845981+00:00", "stars": 1021}, "canonical_url": "https://ross.abutalabs.com/products/sketchyvim", "card": {"archived": false, "artifact_type": "application", "description": "Adds all vim moves and modes to macOS text fields", "domain": ["text-editors", "operating-systems", "developer-tools"], "enriched": true, "function": ["editor", "accessibility"], "health_score": 25, "homepage": null, "language": "C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["FelixKratz/SketchyVim"], "name": "FelixKratz/SketchyVim", "platform": [], "pushed_at": "2024-03-16T07:27:24+00:00", "repo": "FelixKratz/SketchyVim", "stars": 1021, "tags": ["vim", "vim-keybindings", "system-wide", "libvim", "input-method", "accessibility-api", "keyboard-shortcuts", "macos", "desktop"], "topics": ["vim", "macos", "accessibility", "text", "input", "keyboard-shortcuts"], "urls": [], "use_cases": ["use vim keybindings in every macOS text field", "edit text in any mac app with vim motions", "system-wide vim mode on macOS", "use vim commands in browser text boxes", "avoid leaving vim muscle memory when writing emails or notes"], "what_it_is": "A macOS application that turns accessibility-compliant text fields across the system into full vim buffers by synchronizing them with a real vim core (libvim). It supports all vim modes and commands, custom svimrc configuration, and per-app blacklisting.", "when_to_avoid": ["you use Firefox or apps whose text fields break the accessibility API", "you need multikey remappings like jk for escape", "you are not on macOS or do not want to grant accessibility permissions to a background service"], "when_to_choose": ["you want real, complete vim behavior (all modes and commands) in native macOS text fields", "you want a configurable solution with custom remappings and app blacklists", "you prefer syncing with an actual vim core rather than reimplemented keybindings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sketchyvim", "repo": "FelixKratz/SketchyVim", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "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:15.845981+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.845981+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:08:47.175525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a57b9a53e18eb491330cae442fd015c0000f9b6e30ca885682003fc196e73598", "fetched_at": "2026-08-28T04:03:15.845981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/SketchyVim"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1664, "days_push": 900, "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}}