빌드/배포 파이프라인 워크플로우. "배포", "deploy", release 전 자동 호출. deploy.check 는 fail-fast 게이트. deploy.preview 로 프로덕션 리허설. manual build + guard + seo 나열 대신 aggregate 도구 사용.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add konamgil/mandu --skill mandu-mcp-deploy --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mandu Mcp Deploy?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/konamgil-mandu-mcp-deploy)More formats (shields.io, HTML) on the badges page.
---
name: mandu-mcp-deploy
description: |
빌드/배포 파이프라인 워크플로우. "배포", "deploy", release 전 자동 호출.
deploy.check 는 fail-fast 게이트. deploy.preview 로 프로덕션 리허설.
manual build + guard + seo 나열 대신 aggregate 도구 사용.
---
# Mandu MCP Deploy
프로덕션 배포 직전의 **fail-fast 파이프라인**. 개별 검증 도구를 손으로 나열하는
대신, `mandu.deploy.check` 와 `mandu.deploy.preview` 집계 도구를 쓴다.
## Trigger
- "배포", "release", "deploy"
- release tag 직전, `git push origin main` 직전
- 프로덕션 환경 업로드 전
- CI/CD 에서 deploy job 이전
- `mandu-deploy` task-shaped skill 이 활성화될 때
## Recipe (순서 고정, 게이트 엄격)
```
mandu_build ← 프로덕션 빌드 시작
└─> mandu_build_status ← green 대기 (polling)
└─> mandu.deploy.check ← Tier-0 aggregate: guard+contract+manifest 병렬
│ ─ fail → 즉시 중단, deploy_preview 금지
└─> mandu_write_seo_file ← sitemap/robots/meta 확정
└─> mandu.deploy.preview ← 프로덕션 리허설 (Tier-0)
└─> 사용자에게 배포 승인 요청
└─> (사용자 승인) 외부 배포 실행
```
## Step Detail
### Step 1 — `mandu_build`
```
mandu_build({ profile: "production" })
```
alias of `mandu.build`. 프로덕션 번들 생성. 반환에 jobId / status 포함.
이 호출은 비동기일 수 있다 — 즉시 반환 후 Step 2 로 poll.
### Step 2 — `mandu_build_status` (poll until green)
```
mandu_build_status({ jobId })
```
alias of `mandu.build.status`. status ∈ {pending, running, success, failed}.
- `success` → Step 3
- `failed` → 중단, 빌드 에러 분석 후 `mandu-mcp-verify` 로 이동
- `running` → 짧은 간격으로 재호출
CRITICAL: 빌드 `failed` 이면 **`mandu.deploy.check` 절대 호출하지 않는다**.
빌드가 깨진 상태에서 deploy check 를 돌리면 잘못된 positive/negative 가 나온다.
### Step 3 — `mandu.deploy.check` (Fail-Fast Gate)
```
mandu.deploy.check({ target: "bun" })
```
반환:
- `ok: true` → Step 4 로 진행
- `ok: false, blockers: [...]` → **즉시 중단**
blockers 예시:
- guard 위반 (레이어, 금지 import)
- contract validation 실패
- manifest 깨짐 (route 누락 / 중복)
각 blocker 는 가리키는 도구가 있다:
- guard → `mandu_guard_explain`, `mandu_guard_heal` (단, safe-change 감싸기)
- contract → `mandu_validate_contracts`, `mandu_create_contract`
- manifest → `mandu_validate_manifest`
blocker 를 고치면 Step 1 부터 재실행. `deploy_preview` 로 건너뛰지 않는다.
### Step 4 — `mandu_write_seo_file`
```
mandu_write_seo_file({ target: "sitemap" })
mandu_write_seo_file({ target: "robots" })
mandu_write_seo_file({ target: "meta" })
```
alias of `mandu.seo.write`. 프리뷰 도구 (`mandu_preview_seo`) 가 아니라
**실제 파일 기록**. 배포 전에 `public/sitemap.xml`, `public/robots.txt` 가 고정돼야 함.
선택 사항: 먼저 `mandu_preview_seo` 로 결과 확인 후 `mandu_write_seo_file`.
CI 에서는 바로 write.
### Step 5 — `mandu.deploy.preview`
```
mandu.deploy.preview({ port: 4173 })
```
프로덕션 빌드를 로컬에서 serve. 스모크 테스트 용도:
- 초기 페이지 로드
- 주요 라우트 200
- critical island 하이드레이션
- SEO 파일 서빙
preview 가 깨지면 배포 금지.
### Step 6 — 외부 배포 (프레임워크 밖)
Docker / Fly / Vercel / Cloudflare 등. 이 단계는 mandu MCP 범위 밖이므로
`mandu-deploy` (task-shaped skill) 의 Dockerfile / CI 예시 참조.
## 절대 규칙
| # | 규칙 | 이유 |
|---|------|------|
| D-1 | `deploy.check` 실패 → **즉시 중단**, preview 금지 | fail-fast. 깨진 빌드를 preview 해도 의미 없음 |
| D-2 | 빌드 `failed` → `deploy.check` **호출 금지** | 빌드 산출물이 없는데 check 돌리면 false negative |
| D-3 | `mandu_write_seo_file` 은 **check green 이후** | check 실패 상태로 SEO 쓰면 잘못된 meta 확정 |
| D-4 | preview 깨지면 **배포 중단** | 로컬에서 안 뜨는 빌드가 프로덕션에서 뜰 리 없다 |
| D-5 | 개별 검증 (`guard_check`, `validate_contracts`, `validate_manifest`) 를 **손으로 나열하지 않는다** | `deploy.check` 가 이들을 병렬 집계. 수동 나열 = AP-7 (index 참조) |
| D-6 | deploy.check blocker 를 `guard_heal` / refactor 로 고칠 땐 **safe-change 래핑** | 프로덕션 직전 파일 수정은 위험 변경 |
## Anti-patterns
### AP-7 — Manual Build Pipeline (index AP-7 재인용)
- 증상: 배포 전에 `mandu_build` + `mandu_guard_check` + `mandu_validate_contracts` + `mandu_validate_manifest` + `mandu_preview_seo` 를 손으로.
- 왜 안 되나: `mandu.deploy.check` 가 이 시퀀스를 병렬 집계로 이미 처리. 수동 나열은 왕복 5배 + 순서 오류 가능.
- 대응: `mandu.deploy.check` 한 방.
### AP — preview 스킵
- 증상: `deploy.check` 통과했다고 바로 외부 배포.
- 왜 안 되나: check 는 정적 검증. 실제 serve 에서만 드러나는 런타임 에러 (island 하이드레이션, SSR 에러, asset 경로) 가 누락.
- 대응: Step 5 필수.
### AP — write 전에 preview
- 증상: `mandu_preview_seo` → `mandu.deploy.preview` → `mandu_write_seo_file`.
- 왜 안 되나: preview 가 아직 안 쓰인 SEO 파일로 돌면 실제 배포와 차이. write 를 preview 전에.
- 대응: Step 4 → Step 5 순서 지킨다.
### AP — 빌드 실패 후 check 강행
- 증상: `mandu_build_status` 가 `failed` 인데 "뭐라도 확인해보자" 로 `deploy.check`.
- 왜 안 되나: 빌드 산출물 없이 돌린 check 는 신뢰 불가. 왕복 낭비.
- 대응: D-2, 빌드 고친 뒤 Step 1 부터.
### AP — blocker 를 배포 전에 급하게 heal
- 증상: `deploy.check` 위반을 `guard_heal` 로 바로 수정 후 다시 check.
- 왜 안 되나: 배포 직전 수정은 위험 변경. 스냅샷 없이 자동수정 = 롤백 어려움.
- 대응: D-6, `mandu-mcp-safe-change` 래퍼 안에서 heal.
## Quick Reference
```
release 준비
mandu_build (1 call)
mandu_build_status (poll, 1~n calls)
mandu.deploy.check (1 call, fail-fast gate)
└ blocker 있으면 safe-change 로 escalate
mandu_write_seo_file (1~3 calls)
mandu.deploy.preview (1 call)
────────────────────────────
green → 외부 배포
실패 → 해당 단계에서 중단, 원인 수정 후 처음부터
```
표준 호출 수: **5~8** (polling 제외). 수동 파이프라인 (AP-7) 은 12+.
## See Also
- `mandu-mcp-index` — AP-7 (manual build pipeline), Tier-0 aggregate 규칙
- `mandu-mcp-verify` — blocker 진단 / drill-down
- `mandu-mcp-safe-change` — 배포 직전 수정은 safe-change 필수
- `mandu-deploy` — Dockerfile / nginx / CI 설정 (외부 배포 단계)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!