← ClaudeAtlas

deployment-architecturelisted

ShipIt deployment architecture: auto-deploy on push via platform Git integration, GitHub Deployments API for status tracking, deployment status in PR lifecycle card. Load when working on deployment features.
nikzlabs/shipit · ★ 9 · Code & Development · score 75
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 agent 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 agent 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` | `src/server/orchestrator/pr-status-poller.ts` | Polls GitHub for PR + deployment status | | GraphQL selection + `mapDeploymentState` | `src/server/orchestrator/pr-status-parser.ts` | The `deployments` query fields and the GitHub-state → ShipIt-state mapping | | `GitHubDeploymentStatus` | `src/server/shared/types/deployment-types.ts` | Type for deployment status data | | `PrStatusSummary.deployments` | `src/server/shared/types/github-types.ts` | Deployment data on PR status | | `DeploymentStatusRow` | `src/client/components/PrLifecycleCard/indicators/DeploymentStatusRow.tsx` | UI row showing deploy status, rendered from `phases/OpenPhas