deployment-architecturelisted
Install: claude install-skill nikzlabs/shipit
# Deployment Architecture
ShipIt uses **automatic deployments via platform Git integration** — no manual deploy button or
ShipIt-managed build. Users connect their repo to Vercel, Cloudflare Pages, or Netlify once, and
every push triggers the platform's native deploy pipeline. Since ShipIt auto-pushes after every
Claude turn, deploys happen automatically.
## How It Works
1. User imports their GitHub repo on a hosting platform (Vercel, Cloudflare Pages, Netlify)
2. ShipIt's auto-push after Claude turns triggers the platform's deploy pipeline
3. The platform creates GitHub Deployments on each deploy
4. ShipIt's `PrStatusPoller` fetches deployment status via the GitHub GraphQL API
5. Deployment status (URLs, state) appears in the PR lifecycle card
## Components
| Component | Location | Role |
|-----------|----------|------|
| `PrStatusPoller` | `orchestrator/pr-status-poller.ts` | Polls GitHub for PR + deployment status |
| `GitHubDeploymentStatus` | `shared/types/deployment-types.ts` | Type for deployment status data |
| `PrStatusSummary.deployments` | `shared/types/github-types.ts` | Deployment data on PR status |
| `DeploymentStatusRow` | `client/components/PrLifecycleCard.tsx` | UI row showing deploy status |
| Settings "Deployments" tab | `client/components/Settings.tsx` | Setup guide with platform links |
## Deployment Status Tracking
The `PrStatusPoller` GraphQL query includes `commit.deployments(last:5)` to fetch the latest
deployments for each PR's head commit. E