Operate the docs site
Deployment
The public docs and demo are deployed from site/ to Cloudflare Pages. Pages Functions power /429 and /.well-known/x429.json.
Deploy
cd site
npx wrangler pages deploy . --project-name x429
Wrangler is required because drag-and-drop Pages deploys do not compile the functions/ directory.
Verify
curl -I https://x429.dev/
curl -I https://x429.dev/docs/
curl -I https://x429.dev/429
curl https://x429.dev/.well-known/x429.json
Expected status codes:
| URL | Expected |
|---|---|
/ | 200 |
/docs/ | 200 |
/429 | 429 with X429-Version: 1 |
/.well-known/x429.json | 200 JSON |
Custom domain
Cloudflare Pages should have both custom domains attached:
x429.dev
www.x429.dev
DNS should be configured using the records or nameservers shown in the Cloudflare dashboard for this Pages project. Keep registrar-specific or account-specific values out of the public repository.
Production headers
The site includes a Pages _headers file. Keep protocol endpoints conservative: no cached tickets, clear content types, and predictable agent discovery.
| Route | Header goal |
|---|---|
/429 | Return 429, X429-Version: 1, Retry-After, and Cache-Control: no-store. |
/.well-known/x429.json | Return JSON discovery metadata for agents and SDKs. |
/llms.txt | Return concise text instructions for agent builders and crawlers. |
/docs/* | Return normal static HTML; cache immutable assets such as fonts and images where safe. |
Repo workflow
- Edit the public site files in
site/. - Run
npm run checkfrom the repo root. - Commit changes.
- Push to GitHub.
- Deploy with Wrangler from
site/.