Phase 14 구현: 회의 모드 (Meeting Mode)
실시간 녹음 + 타임스탬프 메모 + STT 전사 + LLM 구조화 회의록 + PDF/MD 내보내기. CaptionService 연동, 동시 사용 충돌 방지, 긴 회의 2-pass 요약 지원. DB 2테이블, IPC 15채널, UI 3뷰(목록/녹음/상세), 12개 locale i18n.
This commit is contained in:
parent
dd68fc9ccd
commit
d0c4f9ee53
38 changed files with 2550 additions and 769 deletions
|
|
@ -1,47 +1,65 @@
|
|||
---
|
||||
name: implement-phase
|
||||
description: Speakly RE 노하우를 기반으로 D3RO-VOICE의 특정 페이즈를 구현. 페이즈 번호를 인자로 전달.
|
||||
argument-hint: "[phase number, e.g. 1]"
|
||||
argument-hint: "[phase number or feature name]"
|
||||
allowed-tools: Read Write Edit Bash Glob Grep Agent
|
||||
---
|
||||
|
||||
# Phase Implementation
|
||||
# Feature / Phase Implementation
|
||||
|
||||
지정된 페이즈를 구현합니다.
|
||||
페이즈 또는 새 기능을 구현합니다.
|
||||
|
||||
## 실행 순서
|
||||
## 0. 사전 조건 가드 (스킵 불가)
|
||||
|
||||
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. **현재 코드 상태 파악**: 기존 구현된 코드 검토
|
||||
4. **구현 계획 수립**: TaskCreate로 세부 태스크 생성
|
||||
5. **구현**: 태스크별로 순차 구현
|
||||
- 타입 정의 (shared/) 먼저
|
||||
- 메인 프로세스 서비스 구현
|
||||
- IPC 핸들러 등록
|
||||
- 렌더러 UI 구현
|
||||
- 프리로드 브릿지 업데이트
|
||||
6. **테스트**: 각 모듈 단위 테스트
|
||||
7. **CLAUDE.md 업데이트**: 현재 상태 갱신
|
||||
8. **Memory 갱신** (필수): `project_status.md`에 완료된 Phase, 작업 내역, 기술 결정 기록
|
||||
구현 시작 전 반드시 아래를 확인하고, 실패 시 유저에게 보고 후 중단:
|
||||
|
||||
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` 갱신 (즉시, 미루지 말 것)
|
||||
|
||||
## 구현 규칙 (위반 불가)
|
||||
- 서비스는 **설계서 01**의 인터페이스를 그대로 구현 (메서드 시그니처, 이벤트 페이로드 일치)
|
||||
- IPC 채널은 **설계서 02**의 `IPC_CHANNELS` 상수를 그대로 사용 (임의 채널명 금지)
|
||||
- 타입은 **설계서 02**의 `shared/types.ts` 정의를 그대로 사용 (임의 타입 금지)
|
||||
- 에러는 **설계서 02**의 `D3ROError` + `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 완료 내역, 기술 결정, 다음 작업)
|
||||
- 서비스: 싱글톤 + EventEmitter, 설계서 01 인터페이스 준수
|
||||
- IPC: 설계서 02의 IPC_CHANNELS 상수 사용
|
||||
- 에러: D3ROError + ErrorCode enum
|
||||
- DB: drizzle-orm 스키마
|
||||
- UI: d3roPalette/d3roTypo/d3roShadow 토큰만 (hex 리터럴 금지)
|
||||
- i18n: t() 함수 (하드코딩 문자열 금지)
|
||||
- any 타입 절대 금지, console.log 절대 금지
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue