# Phase 11: 빌드 & 배포 + 라이선스 시스템 ## 목표 프로덕션 빌드 완성 + 라이선스 키 기반 Free/Pro/Pro+ 티어 시스템 구현 ## 11.1 LicenseService 구현 - `src/main/services/LicenseService.ts` — 싱글톤 - electron-store에 LicenseInfo 저장 (machineId 바인딩) - 기능 게이팅: Feature enum 기반 접근 제어 - 일일 쿼터: Free 티어 dictation 20회/일, LLM 10회/일 - LemonSqueezy API 연동: activate/validate/deactivate - 오프라인 유예: 마지막 검증 후 30일 ## 11.2 Feature Gate 미들웨어 - `src/main/utils/feature-gate.ts` — requirePro(), checkAccess() - 각 서비스 start()/execute()에 게이트 체크 삽입 - 렌더러: useProFeature() 훅 ## 11.3 라이선스 UI - LicenseModal.tsx — 키 입력 + 활성화 + 상태 표시 - ProUpgradeBanner.tsx — Free 사용자 업그레이드 유도 - 각 페이지 Pro 기능에 잠금 아이콘 + 업그레이드 넛지 ## 11.4 AutoUpdaterService - electron-updater 연동, GitHub Releases 기반 - 앱 시작 30초 후 체크, 4시간 주기 - Settings About 탭에 업데이트 버튼 ## 11.5 빌드 최종화 - electron-builder.yml 완성 (publish, asarUnpack, NSIS 커스텀) - GitHub Actions release workflow - prebuild 스크립트 (SoX + sidecar) ## 완료 조건 - npm run typecheck 통과 - npm run dist로 NSIS 인스톨러 생성 - Free/Pro 기능 게이팅 동작 - 라이선스 키 활성화/비활성화 UI 동작