nba-go
What it is
Section titled “What it is”nba-go is a Node CLI for NBA fans. Three top-level subcommands: nba-go schedule (browse and select a game), nba-go game (live play-by-play during a game, box score after, with rolling stat overview), and nba-go player (player info + season averages + last-five-game log + side-by-side compare of two players where the higher value in each stat row is highlighted green). The compare view is the most distinctive single feature in the project — two players side by side, each stat row colored to indicate which player wins that stat.
Key takeaways for KN-86
Section titled “Key takeaways for KN-86”- Compare-with-highlight as a sanctioned KN-86 pattern. The side-by-side compare with per-row winner highlighting is the right shape for any KN-86 cart that needs to render an A-vs-B view — faction reputation comparisons, dispatch zone-vs-zone risk profiles, character spec comparison (in a hypothetical RPG cart). On a monochrome amber device the “winner-side highlight” is intensity-based: full amber on the winning row’s cell on each side, dimmer amber on the losing side. Cross-link to golazo’s horizontal A-vs-B stat bars — same intent, different rendering.
- Subcommand + flag CLI design.
nba-go [command] [--flag value]. Clean, learnable, the standard Unix tool shape. For KN-86 this is the external CLI surface for the desktop tools (cart packing, emulator launch, debug overlay control), not the on-device runtime — but it’s the right pattern for any tooling-side CLI: clear top-level verbs, named flags, short help. - Rolling stat overview during live games. During the
gamesubcommand, the play-by-play scrolls in the foreground while a small rolling stat-overview pane updates in the background. Direct precedent for KN-86’s CIPHER-LINE OLED running a continuous summary while the primary display carries the cart’s main content — the auxiliary display does the rolling-overview job; the main display does the focused interaction. - API data fetched cleanly. nba-go pulls from
stats.nba.comAPIs. For KN-86 (and KN-86 desktop tooling), the pattern of fetch upstream, cache locally, render asynchronously is the right shape — and for the Lisp scripting layer, mirrors the emacs-request.md async HTTP pattern. Cross-link. - Color discipline is functional. Greens for “this stat is better”; reds for losses or declines; whites/grays for neutral. Each color carries meaning, not vibe. Same rule the Civilization entry called out and the data-density-discipline section of the Batch-2 visual identity brief commits to. KN-86’s intensity-delta-as-semantic rule is the monochrome restatement.
No image downloaded.
- Cross-link worldmonitor.md for the more elaborate situational-awareness dashboard idea; nba-go is the focused single-domain compact version, worldmonitor is the all-domains synthesis version. Both are legitimate at different KN-86 cart scopes.
- Cross-link emacs-request.md — both projects are doing the same async-data-fetch-then-render pattern. nba-go in Node, emacs-request in Elisp.
- The compare-with-winner-highlight idea is the standout single takeaway. Worth a small entry in
docs/software/cartridges/authoring/ui-patterns.md— “A-vs-B compare view, winner cell at full intensity, loser cell dimmed.”