{"adoption": {"forks": 86, "observed_at": "2026-08-28T04:08:17.762700+00:00", "stars": 3753}, "canonical_url": "https://ross.abutalabs.com/products/jankyborders", "card": {"archived": false, "artifact_type": "application", "description": "A lightweight window border system for macOS", "domain": ["desktop-applications", "developer-tools", "windows"], "enriched": true, "function": ["gui", "developer-tools"], "health_score": 88, "homepage": null, "language": "C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["FelixKratz/JankyBorders"], "name": "FelixKratz/JankyBorders", "platform": ["cli"], "pushed_at": "2026-05-14T12:26:18+00:00", "repo": "FelixKratz/JankyBorders", "stars": 3753, "tags": ["window-border", "yabai", "aerospace", "tiling-window-manager", "desktop-customization", "macos"], "topics": ["border", "customization", "macos", "tiling-window-manager", "window-border", "yabai", "fast", "lightweight"], "urls": [], "use_cases": ["highlight the focused window on macOS with a colored border", "customize window border colors, width, and style on macOS", "add window borders alongside yabai tiling window manager", "add window borders alongside AeroSpace window manager", "run borders as a background service via brew services", "change border appearance at runtime without restarting"], "what_it_is": "JankyBorders is a lightweight macOS tool that draws colored borders around windows to visually highlight the focused window. It works without the accessibility API, making it faster than comparable tools, and integrates easily with tiling window managers like yabai and AeroSpace.", "when_to_avoid": ["you are on macOS older than 14.0", "you need window management features beyond borders, such as tiling itself", "you need cross-platform window decoration on Linux or Windows"], "when_to_choose": ["you use a tiling window manager like yabai or AeroSpace on macOS 14+ and want visual focus indication", "you want a fast, lightweight border tool that avoids the accessibility API", "you want configurable border colors, styles, and widths with runtime updates"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jankyborders", "repo": "FelixKratz/JankyBorders", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "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:17.762700+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.762700+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.317087+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6e7ef97edd069949ade6c451d03e23d12bcf8fc121bde6984ca276bf50d7c4b", "fetched_at": "2026-08-28T04:08:17.762700+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FelixKratz/JankyBorders"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 73, "rhythm": 52}, "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": 1035, "days_push": 111, "days_rel": 111, "gap_med": 270.5, "n_releases_24m": 3}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}