{"adoption": {"forks": 59, "observed_at": "2026-09-03T02:15:13.232109+00:00", "stars": 1206}, "canonical_url": "https://ross.abutalabs.com/products/obsidian-commander", "card": {"archived": false, "artifact_type": "plugin", "description": "Commander - Obsidian Plugin | Add Commands to every part of Obsidian's user interface", "domain": ["developer-tools", "text-editors", "cross-platform"], "enriched": true, "function": ["ui-components", "developer-tools", "configuration-management"], "health_score": 100, "homepage": null, "language": "CSS", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["jsmorabito/obsidian-commander"], "name": "jsmorabito/obsidian-commander", "platform": ["cross-platform"], "pushed_at": "2026-09-02T02:07:19+00:00", "repo": "jsmorabito/obsidian-commander", "stars": 1206, "tags": ["obsidian", "obsidian-plugin", "ui-customization", "commands", "note-taking", "desktop", "mobile"], "topics": ["obsidian", "obsidian-md", "obsidian-plugin"], "urls": [], "use_cases": ["add custom command buttons to the Obsidian titlebar", "hide unwanted commands added by other plugins", "reorder ribbon and menu commands in Obsidian", "show certain commands only on desktop or mobile", "customize Obsidian's UI without editing CSS or code"], "what_it_is": "Commander is an Obsidian plugin that lets users add, remove, edit, reorder, and hide commands across every part of Obsidian's user interface, including titlebars, menus, and toolbars. It also supports per-device command visibility for users syncing across multiple devices.", "when_to_avoid": ["you don't use Obsidian as your note-taking app", "you only need simple hotkey binding, which Obsidian already supports natively", "you need a plugin for a different editor like VS Code or Vim"], "when_to_choose": ["you use Obsidian and want fine-grained control over where commands appear in the UI", "you want to declutter menus and toolbars by hiding commands from other plugins", "you sync your vault across devices and need device-specific command visibility"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/obsidian-commander", "repo": "jsmorabito/obsidian-commander", "role": "main", "score": 100}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:13.232109+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:21:10.247614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ac6786e603954102c166d7955d5b412eaa5caf7493ac562b6aeea1269acf1a7", "fetched_at": "2026-09-03T02:15:13.232109+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jsmorabito/obsidian-commander"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 99}, "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": 1595, "days_push": 1, "days_rel": 5, "gap_med": 25, "n_releases_24m": 8}, "score": 100, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}