{"adoption": {"forks": 57, "observed_at": "2026-08-28T04:03:24.260192+00:00", "stars": 1055}, "canonical_url": "https://ross.abutalabs.com/products/stackline", "card": {"archived": false, "artifact_type": "plugin", "description": "Visualize yabai window stacks on macOS. Works with yabai & hammerspoon.", "domain": ["desktop-applications", "developer-tools", "windows"], "enriched": true, "function": ["ui-components", "developer-tools"], "health_score": 67, "homepage": null, "language": "Lua", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["AdamWagner/stackline"], "name": "AdamWagner/stackline", "platform": ["lua"], "pushed_at": "2026-04-17T13:54:01+00:00", "repo": "AdamWagner/stackline", "stars": 1055, "tags": ["yabai", "hammerspoon", "window-manager", "tiling-window-manager", "window-stacking", "macos"], "topics": ["yabai", "window-manager", "hammerspoon", "tabbed-layout", "stacks"], "urls": [], "use_cases": ["visualize stacked windows in yabai on macOS", "show indicators for tabbed window stacks", "see which apps are in a yabai window stack", "manage stacked windows across multiple monitors", "add a UI to yabai window stacking"], "what_it_is": "Stackline is a Hammerspoon-based Lua plugin that adds visual indicators to yabai's window stacking feature on macOS. It shows the position and count of stacked windows, optionally using app icons, with multi-monitor support.", "when_to_avoid": ["you don't use yabai or Hammerspoon", "you need actively maintained software - the author stopped development in 2021", "you want a standalone window manager rather than a visualization add-on"], "when_to_choose": ["you use yabai as your macOS tiling window manager and rely on window stacks", "you already run Hammerspoon and want stack indicators", "you want app icons or slim indicators for stacked windows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/stackline", "repo": "AdamWagner/stackline", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "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:24.260192+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.260192+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:58:26.530008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0f9cd2296c2e64c37e33692c10d16872ca17f20bbdcf888c05e67e4b4440e63", "fetched_at": "2026-08-28T04:03:24.260192+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdamWagner/stackline"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 2224, "days_push": 138, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}