Files
dxf-to-3d-gasiseol/.claude/commands/convert.yaml
T
Claude Haiku ce52ddd55d step6: Claude Code 에이전트 & 커맨드 정확한 포맷 구현 (1단계)
구현된 파일:
✅ 에이전트 (4개)
  - .claude/agents/dxf-research.md (DXF 분석)
  - .claude/agents/pipeline-build.md (3D 생성)
  - .claude/agents/web-ui-dev.md (React 웹앱)
  - .claude/agents/deploy-ci.md (CI/CD)

✅ 커맨드 (3개)
  - .claude/commands/convert.yaml (통합 변환, 병렬)
  - .claude/commands/validate.yaml (4단계 검증)
  - .claude/commands/deploy.yaml (자동 배포)

특징:
- 하네스 설계 원칙 적용 (파일 기반 핸드오프)
- 병렬 처리 (Research + WebUI 동시)
- 자동 검증 (4단계)
- 오류 복구 전략 포함

향후: 스킬, settings.json, 테스트
2026-10-16 16:26:48 +09:00

113 lines
2.8 KiB
YAML

name: convert
description: DXF → 3D 전체 파이프라인 (병렬 처리)
# 사용법: /convert gasiseol
# 또는: /convert gasiseol --dry-run
parameters:
drawing:
type: string
description: 도면명 (예: gasiseol)
required: true
options:
type: object
properties:
dry-run:
type: boolean
description: 실행하지 않고 계획만 표시
default: false
parallel:
type: boolean
description: 병렬 처리 (Research + WebUI 동시)
default: true
skip-web:
type: boolean
description: WebUI 스킵 (3D만 생성)
default: false
stages:
# Stage 1: DXF 분석 (필수)
- name: "1️⃣ Research"
agent: dxf-research
description: "DXF 분석 & 설정 파일 생성"
input: "RAG/{{ drawing }}*.dxf"
output: "src/drawings/{{ drawing }}.mjs"
timeout: "5m"
on_error: "abort" # 실패하면 전체 중단
# Stage 2: 3D 생성 (필수, Stage 1 후)
- name: "2️⃣ Pipeline"
agent: pipeline-build
description: "3D 생성 & 검증"
depends_on: ["Research"]
input: "src/drawings/{{ drawing }}.mjs"
output: "out/{{ drawing }}.obj"
timeout: "10m"
on_error: "abort"
# Stage 3: 웹앱 (선택, 병렬)
- name: "3️⃣ WebUI"
agent: web-ui-dev
description: "React 웹앱 개발"
parallel_with: ["Research"] # Research와 동시 진행
input: "out/{{ drawing }}.obj"
output: "src/web/"
timeout: "10m"
skip_if: "options.skip_web"
on_error: "warn" # 실패해도 계속
# Stage 4: 병합 (모든 완료 대기)
- name: "4️⃣ Summary"
type: "orchestrator"
description: "결과 병합 & 최종 검증"
depends_on: ["Pipeline"]
action: |
- 모든 에이전트 완료 대기
- 최종 검증 실행 (/validate)
- 결과 리포트 생성 (/report)
- 배포 준비 (WebUI 있으면)
timeout: "2m"
output:
primary: "out/{{ drawing }}.obj"
secondary:
- "out/{{ drawing }}.ifc"
- "baselines/{{ drawing }}.volumes.json"
- "src/web/" (if WebUI executed)
success_message: |
✅ DXF to 3D 변환 완료!
📊 결과:
- 3D 모델: out/{{ drawing }}.obj
- BIM 파일: out/{{ drawing }}.ifc
- 부피 검증: baselines/{{ drawing }}.volumes.json
- 웹앱: src/web/ ({{ "준비 완료" if not options.skip_web else "스킵됨" }})
다음: /deploy (웹사이트 배포)
error_handling:
Research_failed: |
❌ DXF 분석 실패
확인 사항:
1. RAG/{{ drawing }}*.dxf 파일 존재?
2. 파일 포맷 (DWG vs DXF)?
3. 인코딩 문제?
다시 시도: /step-5 (Research만 재실행)
Pipeline_failed: |
❌ 3D 생성 실패
확인 사항:
1. DXF 설정 파일 유효?
2. 폐곡선 폐쇄?
3. 자기교차 링?
디버그: node src/build.mjs {{ drawing }} --loops