Deployment & Operations
Source: .usm/system.usm → deployment + operations
Environments
| Name | URL | Type | Notes |
|---|---|---|---|
| dev | http://localhost:5173 | local | usm docs serve — VitePress dev server |
| production | https://usm.dev | cloudflare-pages | Marketing site (Next.js + shadcn). Deployed via GitHub Actions |
| (.github/workflows/marketing.yml) on push to main when web/ changes. | |||
| Cloudflare Pages — free tier. | |||
| help-docs | https://docs.usm.dev | cloudflare-pages | Help 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:
- Create Cloudflare API token (Pages:Edit, Account:Read scopes)
- Add GitHub secrets: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
- Create Pages project 'usm-dev' connected to GitHub repo
- Set build output directory: .usm-workspace/docs/.vitepress/dist
- 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