Files
0f76b5490b feat(web): v0.26 refresh — buddy page, changelog, partners, provider … (#2060)
* feat(web): v0.26 refresh — buddy page, changelog, partners, provider catalog

- Single-source the site version from the root package.json (never stale again)
- New /buddy/ page: all 7 hero sprites rendered as animated SVGs generated
  from src/buddy/pixelSprites.ts, attack descriptions, commands, hatch lore,
  plus a dedicated 1200x630 OG image composed from the real sprites
- New /changelog/ page: curated release highlights 0.19 -> 0.26 from a typed
  releases.ts data file
- Landing: buddy teaser section, partners strip (GitLawb, Bankr, Atomic Chat,
  Xiaomi MiMo, Atlas Cloud, AI/ML API, Novita AI) with self-hosted logos,
  community links, refreshed provider strip, node >= 22 fix
- Providers docs rebuilt as grouped catalog (39 providers: subscriptions,
  gateways, vendors, local, custom) incl. xAI OAuth, AI/ML API, Cloudflare
  Workers AI, NVIDIA NIM, Kimi K3, GPT-5.6, Opengateway free models
- Data refresh vs v0.26.0 source: 16 new slash commands, pdf skill, new CLI
  flags + 10 subcommands, modelLimits/providerFallbackChain/agentRouting
  settings, corrected env vars (GEMINI_API_KEY, OPENGATEWAY_API_KEY, ...)
- Nav/footer/docs sidebar link the new pages; JSON-LD breadcrumbs on both

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>

* fix(web): address CodeRabbit review — flag description + dist verification

- Correct --disable-slash-commands description: the flag empties the entire
  slash-command list (REPL.tsx filters all commands), not just skills; the
  upstream help string "Disable all skills" is the misleading one
- Add scripts/verify-dist.ts, wired into `bun run build` (so the existing CI
  web job runs it): asserts SITE.version matches the root package.json in the
  rendered pages, nav exposes /buddy/ and /changelog/, every release renders
  with its GitHub URL, every hero renders with its sprite asset, partner and
  community links render on the landing page, and the sitemap covers the new
  routes

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>

* fix(web): harden verify-dist per review — empty-page guard, rendered-nav check, tests

- page() now records a failure for a present-but-empty file, so '' is only
  ever returned alongside a recorded failure and skipped assertions can no
  longer mask a blank page
- assert the rendered docs sidebar (dist/docs/) links every docsNav route,
  not just the source data array and the landing nav
- extract pure verifyDist(dist) and add 9 fixture-based bun tests covering
  missing/empty pages, lost sidebar links, missing sprites, stale partner
  links, missing release URLs, and sitemap regressions; discovered by the
  root `bun test` run in CI, no workflow changes needed

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>

* test(web): derive the missing-sprite fixture from heroes data

Hard-coding robinhood.svg would make the test throw during fixture mutation
if that hero were renamed, instead of exercising verifyDist().

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>

---------

Co-authored-by: OpenClaude <openclaude@gitlawb.com>
2026-07-29 12:32:47 +08:00
..