GPUI Box GitHub

Deploying the GPUI Box catalog

The production catalog endpoint is https://gpui-box.origingame.dev. The former https://gpui-kit.origingame.dev hostname remains a compatibility alias served by the same Worker, so existing clients continue to receive the exact same catalog and MCP implementation.

tools/site/deploy.sh

The script checks the API index, generates the site, copies the shared MCP tool description, and deploys one Cloudflare Worker. / serves people and /mcp serves agents. Hosted render_scene returns committed catalog captures rather than compiling per request; the stdio server in mcp.md is required for working-copy rendering.

{
  "mcpServers": {
    "gpui-box": { "url": "https://gpui-box.origingame.dev/mcp" }
  }
}

Credentials and routing

Authenticate locally with wrangler login; set CLOUDFLARE_ACCOUNT_ID when needed. CI/orb deployment requires CLOUDFLARE_ACCOUNT_ID and a least-privilege CLOUDFLARE_API_TOKEN with Workers Scripts Edit and the current zone's Workers Routes Edit permission. Keep those values in protected project settings and never print them.

Both hostnames are bound to the same Worker:

[[routes]]
pattern = "gpui-box.origingame.dev"
custom_domain = true

[[routes]]
pattern = "gpui-kit.origingame.dev"
custom_domain = true

The GPUI Box hostname is canonical. The GPUI Kit hostname is compatibility infrastructure, not a second site or a forked catalog. workers_dev = false, so these custom domains are the production routes.

Published inputs

PathSource
/ and /components/*generated from docs/api-index.json
/scenes/*canonical scene source and committed theme captures
/docs/*public documentation
/llms.txt, /api-index.jsonmachine-readable catalog inputs
/images/*fingerprinted macOS scene captures
/mcptools/site/worker/index.js and tools/mcp/tools.json

tools/site/public/ is generated and uncommitted. cargo run -p xtask -- site check builds it in scratch space without deploying.