Skip to content

Deployment & Operations

Source: .usm/system.usmdeployment + operations

Environments

NameURLTypeNotes
devhttp://localhost:5173localusm docs serve — VitePress dev server
productionhttps://usm.devcloudflare-pagesMarketing site (Next.js + shadcn). Deployed via GitHub Actions
(.github/workflows/marketing.yml) on push to main when web/ changes.
Cloudflare Pages — free tier.
help-docshttps://docs.usm.devcloudflare-pagesHelp docs (VitePress, filtered for public audience). Deployed via
GitHub Actions (.github/workflows/docs.yml) on push to main.
Cloudflare Pages — free tier.

production Details

Build command: cd web && npm ci && npm run build

Output directory: web/out

Project name: usm-dev

Required secrets: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID

help-docs Details

Build command: pnpm install && pnpm build && usm generate && usm generate --only help-docs && usm docs build --audience help

Output directory: .usm-workspace/help-docs/.vitepress/dist

Project name: usm-docs

Required secrets: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID

Operations

Deployment Setup

One-time Cloudflare Pages setup:

  1. Create Cloudflare API token (Pages:Edit, Account:Read scopes)
  2. Add GitHub secrets: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
  3. Create Pages project 'usm-dev' connected to GitHub repo
  4. Set build output directory: .usm-workspace/docs/.vitepress/dist
  5. Add custom domain usm.dev (CNAME auto-added by Cloudflare)

Monitoring

Cloudflare Pages dashboard — build status and deploy logs

Alerts

GitHub Actions workflow failure notifications