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, 테스트
This commit is contained in:
1 parent
800b73aab0
commit
ce52ddd55d
7 files changed
+1154
No files matched your search
@@ -0,0 +1,112 @@
|
||||
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
|
||||
|
||||
Reference in new issue
Block a user