| name | mandu-create-feature |
| description | Mandu 피처 생성. 페이지/API/Island 스캐폴딩. '만들어줘', 'create', 'add page' 시 자동 호출
|
Mandu Create Feature
Mandu 프로젝트에 새 피처를 생성하는 5단계 워크플로우.
MCP 도구 파이프라인을 통해 페이지, API, Island을 자동 스캐폴딩합니다.
5-Phase Workflow
Phase 1: Negotiate (요구사항 분석)
MCP 도구 mandu_negotiate를 호출하여 피처 요구사항을 분석합니다.
mandu_negotiate({ description: "사용자 프로필 페이지와 편집 기능" })
결과: 필요한 라우트, 컴포넌트, API 엔드포인트 목록이 반환됩니다.
Phase 2: Add Routes (라우트 생성)
분석 결과를 바탕으로 mandu_add_route로 라우트를 생성합니다.
mandu_add_route({ path: "/users/[id]", type: "page" })
mandu_add_route({ path: "/api/users/[id]", type: "api" })
파일 생성 규칙:
- Page:
app/users/[id]/page.tsx
- API:
app/api/users/[id]/route.ts
- Layout:
app/users/layout.tsx
Phase 3: Create Contracts (타입 계약)
mandu_create_contract로 API 계약을 정의합니다.
mandu_create_contract({
name: "user",
methods: ["get", "patch"],
fields: { name: "string", email: "string", avatar: "string?" }
})
생성 위치: src/shared/contracts/user.contract.ts
Phase 4: Generate Scaffold (코드 생성)
mandu_generate로 전체 스캐폴드를 생성합니다.
mandu_generate({ spec: negotiateResult })
생성되는 파일:
.mandu/generated/server/ - 서버 코드
.mandu/generated/web/ - 클라이언트 코드
spec/slots/*.slot.ts - 서버 데이터 로더
app/**/*.island.tsx - Island 컴포넌트
Phase 5: Guard Heal (아키텍처 검증)
mandu_guard_heal로 생성된 코드의 아키텍처 규칙 준수를 검증합니다.
mandu_guard_heal({ autofix: true })
위반 사항이 있으면 자동 수정을 시도합니다.
Quick Recipes
새 페이지 추가
negotiate → add_route(page) → generate
새 API + 페이지
negotiate → add_route(page) → add_route(api) → create_contract → generate → guard_heal
Island 추가
negotiate → add_route(page) → generate → island 파일에 "use client" 확인
Key Rules
- 항상
mandu_negotiate부터 시작 (분석 없이 직접 생성하지 않기)
- API 엔드포인트에는 반드시 contract 생성
- 생성 후
mandu_guard_heal로 검증
- Layout에
<html>/<head>/<body> 태그 사용 금지
- Island 파일은
@mandujs/core/client에서 import
See also
mandu-mcp-create-flow — MCP 도구 오케스트레이션 순서 (negotiate → contract → generate)
mandu-mcp-verify — 생성 직후 자동 검증 루프