d3ro-voice/.claude/skills/implement-phase/SKILL.md
2026-04-08 13:23:51 +09:00

2.6 KiB

name description argument-hint allowed-tools
implement-phase D3RO-VOICE의 특정 페이즈를 구현. 인자로 Phase 번호 또는 "V2-1" 형식 전달. 완료 후 자동으로 /review-phase → /test-and-commit 체이닝. [phase number, e.g. 14, 15.5, V2-1] Read Write Edit Bash Glob Grep Agent

Feature / Phase Implementation

페이즈 또는 새 기능을 구현합니다. V1(Electron) + V2(Monorepo) 모두 지원.

0. 사전 조건 가드 (스킵 불가)

  1. Git 클린 상태: git status --porcelain — 커밋되지 않은 변경이 있으면 경고 후 커밋/스태시 제안
  2. 페이즈 문서 존재:
    • V1: docs/phases/phase-$ARGUMENTS.md
    • V2: docs/v2/phase-$ARGUMENTS.md 또는 docs/v2/00-v2-master-plan.md 참조
  3. 이전 페이즈 완료 확인: memory/project_status.md 읽기
  4. 설계서 확인:
    • V1: docs/design/00~03 4종
    • V2: docs/v2/00-v2-master-plan.md

1. 타겟 감지

인자가 V2-* 형식이면 V2 모드, 그 외는 V1 모드.

V2 모드 추가 규칙

  • Monorepo 구조: packages/core, packages/ui, apps/desktop, apps/web, apps/mobile
  • 앱 간 직접 import 금지 (packages/* 통해서만)
  • Adapter 패턴: core는 순수 비즈니스 로직, transport는 adapter

2. 구현 순서

V1 (Electron)

  1. src/shared/ 타입 정의
  2. 메인 프로세스 서비스 (싱글톤 + EventEmitter)
  3. IPC 핸들러 (IPC_CHANNELS 상수)
  4. Preload 브릿지
  5. 렌더러 UI (d3roPalette + DS 컴포넌트)
  6. i18n 키 추가 (ko/en + 10개 locale)

V2 (Monorepo)

  1. packages/core/src/types/ 타입 정의
  2. packages/core/src/services/ 서비스 인터페이스
  3. 앱별 구현체 (apps/desktop/, apps/web/, apps/mobile/)
  4. packages/ui/ 공유 컴포넌트
  5. packages/i18n/ i18n 키
  6. Supabase 마이그레이션 (필요 시)

3. 검증

npm run typecheck   # 또는 pnpm turbo typecheck
npm run build

4. 자동 체이닝 (완료 후)

구현 완료 시 자동으로 다음을 순서대로 실행:

  1. /review-phase $ARGUMENTS — 코드 리뷰
  2. 리뷰 GO → /test-and-commit — 테스트 + 커밋
  3. memory/project_status.md 갱신 (즉시)

유저가 중단을 요청하지 않는 한 끝까지 진행.

구현 규칙 (위반 불가)

  • any 타입 금지, console.log 금지 (logger 사용)
  • 서비스: 싱글톤 + EventEmitter
  • IPC: IPC_CHANNELS 상수 사용, D3ROError + ErrorCode
  • UI: d3roPalette/d3roTypo/d3roShadow 토큰만 (hex 금지)
  • i18n: t() 함수 (하드코딩 금지)
  • V2: 앱 간 직접 import 금지, packages/* 통해서만