--- name: implement-phase description: Speakly RE 노하우를 기반으로 D3RO-VOICE의 특정 페이즈를 구현. 페이즈 번호를 인자로 전달. argument-hint: "[phase number or feature name]" allowed-tools: Read Write Edit Bash Glob Grep Agent --- # Feature / Phase Implementation 페이즈 또는 새 기능을 구현합니다. ## 0. 사전 조건 가드 (스킵 불가) 구현 시작 전 반드시 아래를 확인하고, 실패 시 유저에게 보고 후 중단: 1. **Git 클린 상태**: `git status --porcelain` — 커밋되지 않은 변경이 있으면 경고 후 커밋/스태시 제안 2. **페이즈 문서 존재**: 페이즈 번호 전달 시 `docs/phases/phase-$ARGUMENTS.md` 파일 존재 확인. 없으면 중단 3. **이전 페이즈 완료 확인**: `memory/project_status.md` 읽어서 선행 페이즈 완료 여부 확인. 미완료 시 경고 4. **설계서 4종 존재 확인**: `docs/design/00~03` 파일 모두 존재 확인 ## 1. 설계서 로드 (필수) - `docs/design/00-master-architecture.md` — 아키텍처, 서비스 의존관계 - `docs/design/01-service-specifications.md` — 서비스 인터페이스, 상태 머신 - `docs/design/02-ipc-and-types.md` — IPC 채널, 타입, 에러 코드 - `docs/design/03-db-and-ui.md` — DB 스키마, 컴포넌트 명세 ## 2. 요구사항 파악 - 페이즈 번호 전달 시: `docs/phases/phase-$ARGUMENTS.md` 읽기 - 피처명 전달 시: 유저 요구사항 분석 + 기존 코드 검토 ## 3. RE 참조 `docs/re-findings/`에서 관련 Speakly 패턴 확인 ## 4. 현재 코드 파악 기존 구현 검토, 영향 범위 분석 ## 5. 구현 (순서 중요) - shared/ 타입 정의 - 메인 프로세스 서비스 - IPC 핸들러 - Preload 브릿지 - 렌더러 UI (d3roPalette + DS 컴포넌트 활용) - i18n 키 추가 (ko/en) ## 6. 검증 `npm run typecheck` 통과 ## 7. 후속 워크플로우 구현 완료 후 아래 순서로 유저에게 안내: 1. `/review-phase $ARGUMENTS` 실행을 제안 (코드 리뷰) 2. 리뷰 통과 시 `/test-and-commit` 실행을 제안 (테스트 + 커밋) 3. `memory/project_status.md` 갱신 (즉시, 미루지 말 것) ## 구현 규칙 (위반 불가) - 서비스: 싱글톤 + EventEmitter, 설계서 01 인터페이스 준수 - IPC: 설계서 02의 IPC_CHANNELS 상수 사용 - 에러: D3ROError + ErrorCode enum - DB: drizzle-orm 스키마 - UI: d3roPalette/d3roTypo/d3roShadow 토큰만 (hex 리터럴 금지) - i18n: t() 함수 (하드코딩 문자열 금지) - any 타입 절대 금지, console.log 절대 금지