Skip to main content

Docs And Storybook Smoke Checks

Run these checks after production or preview deploys.

Docs Domain

curl -I https://docs.mayadev.cloud/
curl -I https://docs.mayadev.cloud/packages/assistant-ui
curl -I https://docs.mayadev.cloud/reference/component-states
curl -I https://docs.mayadev.cloud/reference/api

Expected:

  • HTTP status is 200
  • response is served from docs.mayadev.cloud
  • HTML routes do not redirect to a *.pages.dev URL
  • security headers from apps/docs/static/_headers are present: Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy

Storybook Domain

curl -I https://storybook.mayadev.cloud/
curl -I https://storybook.mayadev.cloud/iframe.html
curl -I https://storybook.mayadev.cloud/index.json
curl -I "https://storybook.mayadev.cloud/?path=/docs/assistant-ui-public-components--docs"

Expected:

  • HTTP status is 200
  • index.json is present
  • iframe.html is present
  • response is served from storybook.mayadev.cloud
  • security headers from projects/claude-ui/storybook-static-headers are present: Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy

Local Artifact Checks

Before deploy:

pnpm verify:docs-site
pnpm verify:ui-storybook-build

Expected local artifacts:

  • apps/docs/build/index.html
  • apps/docs/build/reference/component-states.html
  • apps/docs/build/reference/api.html
  • .tmp/storybook/assistant-ui/index.html
  • .tmp/storybook/assistant-ui/iframe.html
  • .tmp/storybook/assistant-ui/index.json
  • .tmp/storybook/assistant-ui/_headers

Failure Escalation

If a production smoke check fails:

  1. Stop further deploys.
  2. Roll back the affected Cloudflare Pages project only.
  3. Keep the other project live if its smoke checks pass.
  4. Open or update the Linear issue with the failing URL, status code, deployment id, and rollback target.