d3ro-voice/.claude/skills/implement-phase/SKILL.md
Yun Chan 1d152d01a1 Phase 1+2 구현: Electron 뼈대 + STT/핫키/오케스트레이터
Phase 1:
- 프로젝트 초기화 (TypeScript strict, electron-vite, ESLint, Prettier)
- shared 타입 (ipc-channels 113채널, types, errors, constants)
- 메인 프로세스 뼈대 (bootstrap, lifecycle, 단일 인스턴스)
- LoggerService, ConfigService (electron-store ESM dynamic import)
- React 19 + MUI 7 Dashboard, 시스템 트레이

Phase 2:
- AudioCaptureService (node-record-lpcm16, PCM16 16kHz mono)
- HotkeyService (uiohook-napi, 더블프레스, holdMode/toggleMode)
- LocalSTTService (faster-whisper Python sidecar, 이중 조건 플러시)
- VoiceModeService 오케스트레이터 (이중 상태머신, Action Queue)
- Python sidecar (FastAPI: health/load/transcribe/shutdown)
- IPC 핸들러 (voice, stt, hotkey) + Preload API 확장
2026-04-05 02:01:37 +09:00

2.3 KiB

name description argument-hint allowed-tools
implement-phase Speakly RE 노하우를 기반으로 D3RO-VOICE의 특정 페이즈를 구현. 페이즈 번호를 인자로 전달. [phase number, e.g. 1] Read Write Edit Bash Glob Grep Agent

Phase Implementation

지정된 페이즈를 구현합니다.

실행 순서

  1. 설계서 로드 (필수, 반드시 먼저):
    • docs/design/00-master-architecture.md — 파일 트리, 초기화 순서, 서비스 의존관계
    • docs/design/01-service-specifications.md — 서비스 인터페이스, 상태 머신, 이벤트
    • docs/design/02-ipc-and-types.md — IPC 채널, TypeScript 타입, 에러 코드
    • docs/design/03-db-and-ui.md — DB 스키마, 컴포넌트 명세, MUI 테마
  2. 페이즈 문서 로드: docs/phases/phase-$ARGUMENTS.md 읽기
  3. RE 참조 문서 확인: docs/re-findings/ 에서 관련 노하우 확인
  4. 현재 코드 상태 파악: 기존 구현된 코드 검토
  5. 구현 계획 수립: TaskCreate로 세부 태스크 생성
  6. 구현: 태스크별로 순차 구현
    • 타입 정의 (shared/) 먼저
    • 메인 프로세스 서비스 구현
    • IPC 핸들러 등록
    • 렌더러 UI 구현
    • 프리로드 브릿지 업데이트
  7. 테스트: 각 모듈 단위 테스트
  8. CLAUDE.md 업데이트: 현재 상태 갱신
  9. Memory 갱신 (필수): project_status.md에 완료된 Phase, 작업 내역, 기술 결정 기록

구현 규칙 (위반 불가)

  • 서비스는 설계서 01의 인터페이스를 그대로 구현 (메서드 시그니처, 이벤트 페이로드 일치)
  • IPC 채널은 설계서 02IPC_CHANNELS 상수를 그대로 사용 (임의 채널명 금지)
  • 타입은 설계서 02shared/types.ts 정의를 그대로 사용 (임의 타입 금지)
  • 에러는 설계서 02D3ROError + ErrorCode enum 사용
  • DB는 설계서 03의 drizzle-orm 스키마 그대로 사용
  • UI는 설계서 03의 컴포넌트 Props/상태 명세 준수
  • 팝업은 설계서 03의 HTML/CSS/애니메이션 수학 공식 준수

완료 조건

  • 모든 태스크 completed
  • npm run typecheck 통과
  • npm run test 통과
  • CLAUDE.md "현재 상태" 업데이트됨
  • Memory project_status.md 갱신됨 (Phase 완료 내역, 기술 결정, 다음 작업)