deploylisted
Install: claude install-skill mattbutlerengineering/mattbutlerengineering
# Deploy
Deployment orchestrator for the mattbutlerengineering monorepo. Three independent pipelines — all triggered by pushes to `main` with path filters.
## Architecture
```
Push to main
├── apps/* or packages/rialto|auth → deploy-static.yml → Cloudflare Workers Static Assets
├── services/* or packages/types|auth|agent-core → deploy-services.yml → DO App Platform (doctl)
└── infrastructure/* or apps/gen → pulumi-up.yml → Pulumi (after static deploys succeed)
```
## Pipeline Details
### 1. Static Sites (`deploy-static.yml`)
**Trigger paths**: `apps/marketing/**`, `apps/hospitality/**`, `apps/rialto-web/**`, `packages/rialto/**`, `packages/rialto-catalog/**`, `packages/auth/**`
**Change detection**: Uses `dorny/paths-filter` — only deploys apps whose deps changed. `workflow_dispatch` deploys all three.
| App | Build | Deploy |
| ----------- | ------------------------------------------------------------- | --------------------------------------------------------- |
| Marketing | `pnpm build --filter=@mbe/marketing` | `wrangler deploy --config apps/marketing/wrangler.toml` |
| Hospitality | `pnpm build --filter=@mbe/hospitality` (needs Auth0 env vars) | `wrangler deploy --config apps/hospitality/wrangler.toml` |
| Rialto Web | `pnpm build --filter=@mbe/rialto-web` | `wrangler deploy --config apps/rial