The React/Vite site for sagerouter.dev. It is the marketing site, account onboarding UI, public documentation surface, and Cloudflare Pages Functions for narrow browser-facing flows.
cd web
npm ci
npm run devVite prints the local URL. Use npm run build before opening a pull request;
the production assets are written to dist/.
npm run previewserves a local production build.
src/: the site and account/onboarding UI.functions/: Cloudflare Pages Functions such as/api/waitlistand/api/funnel-event.public/: static assets, sitemap, and LLM-discovery files.DEPLOY.md: Cloudflare Pages deployment and DNS instructions.OPERATIONS.md: browser endpoint contracts, privacy boundaries, and launch checks.
The Python router, local deployments, and OpenClaw skill packaging live outside this directory.
Cloudflare Pages deploys the static build and Pages Functions together. The repository deployment helper builds both before upload:
scripts/deploy_sagerouter_public.shRun it only with the required Cloudflare credentials available in the execution environment. Do not place secrets in source files, browser bundles, or docs.
For Pages configuration, DNS, and release phases, see DEPLOY.md.
The site may describe local routing, customer-authorized provider access, and capacity-gated hosted routing. It must not promise hosted model access when the public edge has no verified capacity, or imply that Sage Router pools, resells, or bypasses third-party subscriptions.
Customer API keys, provider credentials, prompts, wallet addresses, and typed email fields must never be sent through anonymous marketing telemetry. Details and endpoint contracts are in OPERATIONS.md.
cd web
npm run buildFor release checks that exercise the public edge and browser onboarding, run
scripts/check_sagerouter_launch_readiness.sh from the repository root.