{"adoption": {"forks": 49, "observed_at": "2026-08-28T04:08:23.893030+00:00", "stars": 3837}, "canonical_url": "https://ross.abutalabs.com/products/hardtimenvim", "card": {"archived": false, "artifact_type": "plugin", "description": "Break bad habits, master Vim motions", "domain": ["developer-tools", "text-editors"], "enriched": true, "function": ["developer-tools"], "health_score": 89, "homepage": null, "language": "Lua", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["m4xshen/hardtime.nvim"], "name": "m4xshen/hardtime.nvim", "platform": ["editor-plugin"], "pushed_at": "2026-07-20T04:31:41+00:00", "repo": "m4xshen/hardtime.nvim", "stars": 3837, "tags": ["neovim", "vim-motions", "habit-breaking", "lua", "keybinding-training", "education"], "topics": ["neovim", "vim", "neovim-plugin", "lua"], "urls": [], "use_cases": ["stop relying on hjkl and arrow keys in Neovim", "learn faster Vim motions with hints", "block repeated key presses within a short time", "get a report of my most common bad Vim habits", "train myself to use relative jumps and word motions", "improve my Vim editing efficiency"], "what_it_is": "A Neovim plugin written in Lua that helps users break bad editing habits by blocking repeated keys and suggesting faster Vim motions. It also generates reports of the user's most common inefficient habits.", "when_to_avoid": ["you don't use Neovim or Vim-style editing", "you find key blocking disruptive to your workflow", "you need an editor-agnostic training tool"], "when_to_choose": ["you use Neovim (>= 0.10) and want to build better motion habits", "you want real-time hints and habit reports while editing", "you want a lightweight Lua plugin that integrates with lazy.nvim"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hardtimenvim", "repo": "m4xshen/hardtime.nvim", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "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:23.893030+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:23.893030+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:16.087562+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "690195ed1c9459008b45a8eaa9c462aee7ce40625a9dea5cfdbe63c17f0864f4", "fetched_at": "2026-08-28T04:08:23.893030+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m4xshen/hardtime.nvim"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 87, "rhythm": 40}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1227, "days_push": 44, "days_rel": 442, "gap_med": 14.5, "n_releases_24m": 3}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}