skill updated

This commit is contained in:
Yun Chan 2026-04-08 13:23:51 +09:00
parent d9fb12763a
commit c5eea6f7db

View file

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