skill updated
This commit is contained in:
parent
d9fb12763a
commit
c5eea6f7db
1 changed files with 48 additions and 42 deletions
|
|
@ -1,65 +1,71 @@
|
|||
---
|
||||
name: implement-phase
|
||||
description: Speakly RE 노하우를 기반으로 D3RO-VOICE의 특정 페이즈를 구현. 페이즈 번호를 인자로 전달.
|
||||
argument-hint: "[phase number or feature name]"
|
||||
description: D3RO-VOICE의 특정 페이즈를 구현. 인자로 Phase 번호 또는 "V2-1" 형식 전달. 완료 후 자동으로 /review-phase → /test-and-commit 체이닝.
|
||||
argument-hint: "[phase number, e.g. 14, 15.5, V2-1]"
|
||||
allowed-tools: Read Write Edit Bash Glob Grep Agent
|
||||
---
|
||||
|
||||
# Feature / Phase Implementation
|
||||
|
||||
페이즈 또는 새 기능을 구현합니다.
|
||||
페이즈 또는 새 기능을 구현합니다. **V1(Electron) + V2(Monorepo)** 모두 지원.
|
||||
|
||||
## 0. 사전 조건 가드 (스킵 불가)
|
||||
|
||||
구현 시작 전 반드시 아래를 확인하고, 실패 시 유저에게 보고 후 중단:
|
||||
|
||||
1. **Git 클린 상태**: `git status --porcelain` — 커밋되지 않은 변경이 있으면 경고 후 커밋/스태시 제안
|
||||
2. **페이즈 문서 존재**: 페이즈 번호 전달 시 `docs/phases/phase-$ARGUMENTS.md` 파일 존재 확인. 없으면 중단
|
||||
3. **이전 페이즈 완료 확인**: `memory/project_status.md` 읽어서 선행 페이즈 완료 여부 확인. 미완료 시 경고
|
||||
4. **설계서 4종 존재 확인**: `docs/design/00~03` 파일 모두 존재 확인
|
||||
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. 설계서 로드 (필수)
|
||||
## 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 스키마, 컴포넌트 명세
|
||||
인자가 `V2-*` 형식이면 V2 모드, 그 외는 V1 모드.
|
||||
|
||||
## 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 참조
|
||||
`docs/re-findings/`에서 관련 Speakly 패턴 확인
|
||||
### V1 (Electron)
|
||||
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/ 타입 정의
|
||||
- 메인 프로세스 서비스
|
||||
- IPC 핸들러
|
||||
- Preload 브릿지
|
||||
- 렌더러 UI (d3roPalette + DS 컴포넌트 활용)
|
||||
- i18n 키 추가 (ko/en)
|
||||
## 4. 자동 체이닝 (완료 후)
|
||||
|
||||
## 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 인터페이스 준수
|
||||
- IPC: 설계서 02의 IPC_CHANNELS 상수 사용
|
||||
- 에러: D3ROError + ErrorCode enum
|
||||
- DB: drizzle-orm 스키마
|
||||
- UI: d3roPalette/d3roTypo/d3roShadow 토큰만 (hex 리터럴 금지)
|
||||
- i18n: t() 함수 (하드코딩 문자열 금지)
|
||||
- any 타입 절대 금지, console.log 절대 금지
|
||||
- any 타입 금지, console.log 금지 (logger 사용)
|
||||
- 서비스: 싱글톤 + EventEmitter
|
||||
- IPC: IPC_CHANNELS 상수 사용, D3ROError + ErrorCode
|
||||
- UI: d3roPalette/d3roTypo/d3roShadow 토큰만 (hex 금지)
|
||||
- i18n: t() 함수 (하드코딩 금지)
|
||||
- V2: 앱 간 직접 import 금지, packages/* 통해서만
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue