Skip to content

feat(hub): Agent Hub launch — Railway deployment, publish pipeline, website redesign#1564

Draft
kovtcharov wants to merge 10 commits into
mainfrom
feat/agent-hub-launch
Draft

feat(hub): Agent Hub launch — Railway deployment, publish pipeline, website redesign#1564
kovtcharov wants to merge 10 commits into
mainfrom
feat/agent-hub-launch

Conversation

@kovtcharov

@kovtcharov kovtcharov commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Why this matters

Until now the Agent Hub existed only as code: the catalog API dropped the fields the Hub UI needs, there was no deploy story, publishing agents meant hand-crafted curl calls, and the website rendered a bundled fixture with a generic look. After this PR: the hub runs as a real service (Railway), all production agents publish with one command (wheels + READMEs, checksummed, immutable versions), and all GAIA surfaces — website, Agent Hub, docs site, and the Agent UI's accent system — share one minimal black-white-AMD-gold design with light + dark themes and Open in GAIA (gaia:// deep link) as the primary consumer flow.

The redesign

Dark Light
Home home dark home light
Hub hub dark hub light
Detail detail dark detail light

Design tokens live in a shared Tailwind preset (website/src/design/). The Agent UI adopts the gold accent now via a semantic --accent/--danger split (errors stay red; brand moments go gold) ahead of its full Phase-2 restyle. Docs (Mintlify) carry the same palette — config and all 38 content files (Mermaid themes, hero, auth page) with contrast-safe text on gold fills.

Test plan

  • cd workers/agent-hub && npm test && npm run typecheck (52 tests)
  • python -m pytest tests/unit/test_publish_agents_to_hub.py tests/unit/test_hub_publisher.py tests/unit/test_hub_packager.py
  • Local E2E: wrangler dev worker → util/publish_agents_to_hub.py --hub-url http://localhost:8787 publishes all 11 agents; --skip-existing rerun exits 0
  • cd website && npm run build (fixture mode) and HUB_CATALOG_URL=<worker> npm run build (live mode, 11 agents)
  • cd src/gaia/apps/webui && npm run build (gold accent migration)
  • grep -rniE '#(ED1C24|C8171E|F4484D)' docs/ website/src src/gaia/apps/webui/src → zero hits
  • Visual: home, /hub, detail in both themes (screenshots above); Agent UI errors still render red, accents gold

…sh pipeline

The Agent Hub worker previously dropped the fields the Hub UI needs
(tags, tools_count, models, permissions, readme), had no deployable
container story, and publishing agents was a manual curl per agent.
Now: the worker catalog carries the full website contract including
per-version READMEs, it runs on Railway via a persisted-volume
container, and util/publish_agents_to_hub.py packs and publishes the
whole production agent set in one command (409-aware, fail-loud).

Also fixes a packager bug where re-packing an unchanged version
overwrote the wheel mid-snapshot and failed wheel discovery, and
removes the SPA flag from the website serve command which made every
/hub route serve the homepage.

Validated: 52 worker vitest, 94 pytest (hub publisher/packager/
pipeline), lint clean, E2E publish of all 11 agents against a local
worker with persistence across restart.
Design system approved in brainstorming: black/white foundations with
AMD gold as sole accent, light+dark themes from shared tokens that the
Agent UI adopts in Phase 2, aurora + living-terminal energy layers, and
'Open in GAIA' (gaia:// deep link) as the primary consumer flow. Docs
site (Mintlify) gets palette/type alignment. ISV distribution program
captured as future work.
@github-actions github-actions Bot added documentation Documentation changes tests Test changes website GAIA website (amd-gaia.ai) labels Jun 10, 2026
…D-gold, both themes)

Foundation for the redesign: CSS-variable tokens (RGB triplets, light
default + data-theme=dark) and a framework-agnostic Tailwind preset the
Agent UI adopts in Phase 2. Legacy gaia-* palette kept temporarily
until pages migrate.
Spec/plan stay as local working docs; the PR carries the
implementation, not the planning paperwork.
Light/dark themes with pre-paint script (no wrong-theme flash), minimal
nav with theme toggle, and the redesign primitives: Eyebrow, AuroraBg,
living TerminalBlock (IntersectionObserver typing, reduced-motion
instant render), click-to-copy InstallCommand, AgentRow with the
Open-in-GAIA hover affordance, FeaturedCard aurora spotlight. Mintlify
docs switch from red to the same gold palette with system light/dark
and the corrected main-site link.
Homepage drops from 1112 lines of dense sections to five beats (aurora
hero, living terminal, pillars, featured agents, footer). Hub becomes
spotlight + pill filters + scannable rows. Agent detail leads with
'Open in GAIA' (gaia:// deep link) over the CLI copy chip, readable
README column, quiet metadata sidebar. Legacy red palette fully purged
(securityTierClasses dead code removed, TEMP Tailwind colors dropped).

Verified: build green in fixture mode (20 pages) and live-catalog mode
(11 agents from a local worker).
…anger split

The webui's --amd-red family doubled as brand accent AND error color, so
rebranding red->gold blindly would have turned error states gold. The
var family is now semantic: --accent (gold, 217 sites — links, buttons,
active states, spinners, focus) and --danger (neutral red, 45 sites —
error banners, terminal error stream, destructive hovers, btn-danger).
White-on-gold text flipped to dark in 13 spots for contrast. Aligns the
Agent UI with the website's shared design tokens ahead of the full
Phase 2 restyle.
docs.json was rebranded to gold but content still hardcoded the red
palette: Mermaid diagram themes across guides/playbooks/sdk/spec/cpp,
the landing hero span, and the auth-gate login page in server.js. All
red hexes map to the gold scale, with dark text wherever a fill became
light gold (Mermaid nodes, init primaryTextColor, login button) so
nothing ships white-on-light-gold. Verified: zero red-hex grep hits,
mint dev serves index and eval pages 200.
@github-actions github-actions Bot added mcp MCP integration changes electron Electron app changes labels Jun 10, 2026
Hardcoded -l 3000 502'd behind Railway's edge, which routes to $PORT.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Documentation changes electron Electron app changes mcp MCP integration changes tests Test changes website GAIA website (amd-gaia.ai)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant