# AX Commander (런처) 고도화 계획

## 현재 상태 (v2.2.0)

### 핵심 기능 (123개 핸들러, L29 완료)
- 퍼지 검색 + 한글 초성 검색 (FuzzyEngine) + **최근 실행 지수 감소 랭킹 (30일 decay)**
- 110개+ 프리픽스 명령 (계산기·이모지·웹검색·스니펫·클립보드·프로세스·데이터·네트워크·업무양식 등)
- 10가지 테마 + 커스텀 테마
- 플러그인 시스템 (DLL + JSON 스킬)
- AX Agent AI 대화 통합 (Chat·Cowork·Code 3탭)
- 글로벌 핫키 (Alt+Space 외 12개 조합 설정 가능), 무지개 글로우 효과
- 파일/앱 인덱싱, **Shell32 실제 파일 아이콘 표시 (확장자별 캐시)**, 사용 빈도 랭킹
- 워크스페이스 프로파일 (창 레이아웃 저장/복원), 22개 스냅 레이아웃
- 클립보드 히스토리 (핀·카테고리 자동 분류·**이미지 썸네일 미리보기**), 스니펫 확장
- 스크린 캡처, OCR, 컬러 피커, JSON·YAML·XML·TOML·CSV 파서
- Excel 함수 레퍼런스, 업무 양식 템플릿 (회의록·보고서·이메일 등)
- **텍스트 파일 미리보기 패널** (선택 시 첫 6줄 인라인 표시)
- **창 위치 기억** (마지막 위치 복원, 멀티 모니터 경계 클램핑)

---

## 경쟁 서비스 심층 벤치마킹 (2026년 4월 기준)

> 조사 범위: Raycast v1.104+ (macOS + **Windows 베타 출시**), Alfred 5.6, Flow Launcher 2.1,
> PowerToys Command Palette 0.98, Listary 6.3, Wox 2.0 (개발 중)

### 주요 런처 기능 매트릭스

| 기능 | AX Commander | Raycast | Alfred 5 | Flow Launcher | PowerToys CP | Listary 6 |
|------|:---:|:---:|:---:|:---:|:---:|:---:|
| **플랫폼** | Windows | macOS + **Win 베타** | macOS | Windows | Windows | Windows |
| **기본 앱/파일 검색** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **한글 초성 검색** | ✅ **독점** | ❌ | ❌ | ❌ | ❌ | ❌ |
| **한국어 UI** | ✅ **독점** | ❌ | ❌ | ❌ | △ OS 따름 | ❌ |
| **AI 대화 통합** | ✅ AX Agent 3탭 | ✅ Quick AI | △ 워크플로우 | △ Ollama 플러그인 | ❌ | ❌ |
| **MCP 에이전트** | ✅ | ✅ @멘션 방식 | ❌ | ❌ | ❌ | ❌ |
| **사내망 LLM (Ollama)** | ✅ **특화** | ❌ | ❌ | △ 플러그인 | △ Foundry Local | ❌ |
| **AI 자동 모델 선택** | ✅ 폴백 모델 | ✅ Auto Model | ❌ | ❌ | ❌ | ❌ |
| **에이전트 코딩 루프** | ✅ 실구현 | 선언만 | ❌ | ❌ | ❌ | ❌ |
| **사내 보안 AI 게이트** | ✅ **독점** | ❌ | ❌ | ❌ | ❌ | ❌ |
| **클립보드 히스토리** | ✅ 핀·분류·이미지 | ✅ | ✅ | △ 플러그인 | ❌ | ❌ |
| **순차 붙여넣기** | ✅ (L27) | ✅ | ❌ | ❌ | ❌ | ❌ |
| **스니펫 확장** | ✅ | ✅ 동적 플레이스홀더 | ✅ | △ 플러그인 | ❌ | ❌ |
| **창 관리** | ✅ 22 레이아웃 | ✅ 70+ (Win 베타 탑재) | ❌ | ❌ | △ FancyZones 연동 | ❌ |
| **파일 탐색기 인라인** | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ **독점** |
| **파일 미리보기** | ✅ (L28 강화) | ❌ | ✅ Grid View | ❌ | ❌ | △ 사이드바 |
| **브라우저 북마크 검색** | ❌ **공백** | ✅ 확장 연동 | ✅ | △ 플러그인 | ✅ 내장 | ❌ |
| **브라우저 탭 AI 전달** | ❌ **공백** | ✅ {browser-tab} | ❌ | ❌ | ❌ | ❌ |
| **시스템 볼륨 제어** | ✅ (L27) | ✅ | ✅ | ❌ | ❌ | ❌ |
| **화면 밝기 제어** | ✅ (L27) | ✅ | ❌ | ❌ | ❌ | ❌ |
| **QR 코드 생성** | ✅ (L27) | ✅ | ✅ | △ 플러그인 | ❌ | ❌ |
| **회의 링크 빠른 열기** | ✅ (L27) | ✅ Calendar 연동 | ✅ | ❌ | ❌ | ❌ |
| **winget 앱 설치** | ✅ (L28) | ✅ Win 베타 | ❌ | △ 플러그인 | ❌ | ✅ 내장 |
| **노코드 워크플로우** | ❌ **공백** | △ AI Ext 베타 | ✅ 완전 지원 | ❌ | ❌ | ❌ |
| **스크립트 명령 실행** | ✅ ^ 프리픽스 | ✅ Script Commands | ✅ | ✅ | ✅ | ❌ |
| **Everything 연동** | ✅ es 프리픽스 | ❌ | ❌ | ✅ | ❌ | ❌ |
| **선택 텍스트 AI** | ✅ 팝업 | ✅ AI Commands | ❌ | ❌ | ❌ | ❌ |
| **AI 붙여넣기 변환** | ✅ (L28) | ❌ | ❌ | ❌ | ✅ Advanced Paste | ❌ |
| **OCR** | ✅ | ❌ | ❌ | △ 플러그인 | ✅ Text Extractor | ❌ |
| **독 바 (영구 표시)** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **플러그인 생태계** | DLL+JSON | 1,300+ | 수백+ | 200+ | 내장 중심 | ❌ |
| **클라우드 동기화** | ❌ 사내 정책 | ✅ Pro | ❌ | ❌ | ❌ | ❌ |

### 핵심 공백 분석 — 우선순위 3단계

#### 🔴 즉시 해소 대상 — 경쟁 2개+ 공통 제공, 구현 난이도 낮음, 매일 사용

| 순위 | 공백 기능 | Raycast | Alfred | PowerToys | 구현 방식 | 사무 적합성 |
|:---:|----------|:---:|:---:|:---:|----------|:---:|
| 1 | **브라우저 북마크 검색** (Edge/Chrome) | ✅ | ✅ | ✅ | 로컬 JSON 파싱 | ⭐⭐⭐ |
| 2 | **시스템 볼륨 제어** | ✅ | ✅ | ❌ | Windows Core Audio API | ⭐⭐⭐ |
| 3 | **QR 코드 생성** | ✅ | ✅ | ❌ | QRCoder NuGet (순수 행렬 렌더링) | ⭐⭐ |
| 4 | **회의 링크 전용 관리** | ✅ | ✅ | ❌ | 로컬 JSON + URI Scheme 실행 | ⭐⭐⭐ |
| 5 | **화면 밝기 제어** | ✅ | ❌ | ❌ | WMI MonitorBrightness | ⭐⭐ |
| 6 | **순차 붙여넣기** | ✅ | ❌ | ❌ | ClipboardHistoryHandler 확장 | ⭐⭐ |

#### 🟠 중기 과제 — 구현 난이도 중간, 차별화 효과 큼

| 순위 | 공백 기능 | 경쟁 현황 | 구현 방식 |
|:---:|----------|---------|---------|
| 1 | **winget 앱 검색·설치** | Raycast Win·PowerToys | `winget search/install` subprocess |
| 2 | **스니펫 동적 플레이스홀더** | Raycast {browser-tab} 등 | {date}, {clipboard}, {app}, {user} 치환 |
| 3 | **파일 미리보기 강화** | Alfred Grid View | 이미지 썸네일, PDF 첫 페이지 렌더링 |
| 4 | **AI 붙여넣기 변환** | PowerToys Advanced Paste | 선택 텍스트 → AX Agent 즉시 변환 |

#### 🟡 장기 과제 — 높은 구현 비용 또는 외부 의존

| 공백 기능 | 낮게 본 이유 |
|----------|------------|
| 노코드 워크플로우 편집기 | GUI 빌더 구현 복잡 — `flow` 핸들러 텍스트 방식으로 우선 대응 |
| 파일 탐색기 인라인 검색 | Listary 독점 영역, Hook 방식 불안정 |
| 클라우드 동기화 | 사내 보안 정책상 불가 |
| 1,000개+ 플러그인 스토어 | 생태계 규모는 단기 추격 불가 |

### AX Commander 경쟁 우위 — 지켜야 할 강점

| 강점 | 수준 | 경쟁 대비 |
|------|------|---------|
| **한글 초성 검색 + 한국어 UI** | 독점 | 경쟁 서비스 전무 |
| **사내망 LLM + AI 보안 게이트** | 독점 | 사내 배포 필수 — 타사 구조적 불가 |
| **에이전트 코딩 루프 실구현** | 선두 | Raycast는 방향 선언만, 실제 루프 없음 |
| **한국 특화 핸들러** | 독점 | cal·leave·fix·spell·phrase 등 |
| **독 바 영구 표시** | 차별화 | Raycast·Alfred 모두 없음 |
| **MCP 에이전트 통합** | 동급 | Raycast 2025년 출시, 대등 경쟁 |
| **OCR 통합** | 차별화 | PowerToys와 동급, Raycast 미지원 |

### 기존 핸들러 중 재검토 대상

`pip` 프리픽스처럼 **특정 도구 의존도가 높아 보편성이 낮은** 핸들러 현황:

| 핸들러 | 프리픽스 | 재검토 사유 |
|--------|---------|------------|
| PipHandler | `pip` | Miniconda·Anaconda·pyenv 등 환경이 달라 명령 다름. L22에 구현 완료했으나 향후 Phase에서 동일 패턴 반복 지양 |
| WslHandler | `wsl` | WSL 미설치 환경에서 무의미 |
| DockerHandler | `docker` | Docker Desktop 미설치 환경에서 무의미 |

→ **방침**: 특정 외부 도구가 설치된 환경에서만 동작하는 핸들러는 신규 추가 중단. 미설치 감지 후 안내 메시지는 유지.

---

## Phase L1 — 차세대 런처 고도화 (v1.5.0)

| # | 기능 | 구현 내용 |
|---|------|----------|
| L1-1 | 선택 텍스트 AI 명령 | TextActionPopup (커서 위치 팝업), 번역/요약/교정/설명/다시쓰기. 설정 기반 명령 선택, 1개 시 팝업 없이 바로 실행 |
| L1-2 | Everything 연동 | EverythingHandler (`es` 프리픽스), Everything64.dll P/Invoke, 미설치 시 graceful fallback |
| L1-3 | 윈도우 타일링 확장 | SnapHandler 11→22개 레이아웃 (3등분, 2/3, 3분할 조합) |
| L1-4 | 플러그인 자동 설치 | PluginHost.InstallFromZip() + UninstallPlugin(). 로컬 zip 기반 (URL 제외: 사내 보안) |
| L1-5 | 영구 독 바 | DockBarWindow (화면 하단 고정). 설정 기반 아이템, CPU/RAM, 시계, 글로우, 투명도, 위치 기억 |
| L1-6 | 대화상자 통합 | FileDialogWatcher (SetWinEventHook + #32770 감지). 열기/저장 시 런처 자동 열기 |
| L1-7 | 클립보드 핀/카테고리 | IsPinned/Category 필드, 자동 분류(URL/코드/경로), Ctrl+P 핀 토글, #pin/#url/#코드 필터 |
| L1-8 | 클라우드 설정 동기화 | 보류 (사내 환경) |
| L1-9 | 커스텀 테마 마켓 | 보류 (사내 환경) |
| 추가 | 독 바 설정 탭 | 설정창에 독 바 전용 탭 (표시 항목, 투명도, 글로우, 위치 초기화) |
| 추가 | 설정창 UI 개편 | 테마+색상편집 하위탭 합침, 일반+알림 하위탭 합침, v1.5.0 신기능 설정값 추가 |
| 추가 | 아이콘 교체 | 다이아몬드 픽셀 ICO (7 sizes). 앱/인스톨러/바로가기/AboutWindow/LauncherWindow/SVG 전체 통일 |

---

## Phase L1 추가 완료 (v1.5.0)

| # | 기능 | 상태 |
|---|------|------|
| 추가 | **Windows 탐색기 셸 확장** | ✓ ShellExtensionService — HKCU 레지스트리 등록/해제, 명령줄 파싱 |
| 추가 | **저장 공간 관리 UI** | ✓ StorageAnalyzer — 사용량 분석, 드라이브 여유, 7/14/30일 정리 |
| 추가 | **설정 도움말 아이콘** | ✓ AI 관련 설정 17개에 `?` 아이콘 + 커스텀 다크 툴팁 |
| 추가 | **독 바 실시간 설정** | ✓ 설정 변경 즉시 반영, 자동 표시, 위치 기억 |

---

## Phase L2 — 클립보드 고도화 + UX 개선 (v1.5.3)

> **방향**: 클립보드 히스토리의 실용성 극대화 (이미지 원본 품질, 자동 복사 워크플로우), 런처 UX 개선.
> Raycast의 리치 클립보드, Alfred의 Snippet 확장을 참고하되 사내 로컬 환경에 최적화.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L2-1 | **클립보드 이미지 원본 해상도 보존** | 원본 PNG를 `clipboard_images/` 캐시 폴더에 저장, 썸네일(80px)은 표시용으로만 사용. 캐시 정리 정책 (30일/500MB). Enter 복원 시 원본 해상도로 클립보드 복사 | ✅ 완료 |
| L2-2 | **Shift+Enter 실행 시 자동 클립보드 복사** | Shift+Enter로 외부 뷰어 열기 전에 해당 항목을 시스템 클립보드에 자동 복사. 텍스트/이미지(원본 해상도) 모두 지원 | ✅ 완료 |
| ✅ L2-3 | **클립보드 이미지 미리보기 창** | `#` 이미지 항목에서 Shift+Enter → `ClipboardImagePreviewWindow`. 원본 해상도 표시, Ctrl+휠/+−/0/F 줌, PNG·JPEG·BMP 저장, Ctrl+C 복사 | 중간 |
| ✅ L2-4 | **클립보드 검색 강화** | 이미지 OCR 텍스트 추출 → 텍스트 기반 이미지 검색. Windows OCR API (로컬) 활용. `OcrText` 필드, `ExtractOcrTextAsync()`, TFM `net8.0-windows10.0.17763.0` | 중간 |
| ✅ L2-5 | **클립보드 항목 병합** | Ctrl+Click 마우스 다중 선택 추가 (Shift+↑/↓ 키보드 선택은 기존 구현). `ResultList_PreviewMouseLeftButtonUp` 분기 | 낮음 |

### Phase L2 추가 완료 (v1.5.3)

| # | 기능 | 상태 |
|---|------|------|
| 추가 | **독 바 탭 위치 이동** | ✓ 설정 탭 순서에서 독 바를 3번째(테마 뒤)로 이동 — 사용 빈도 기반 접근성 향상 |
| 추가 | **설정 기타 탭 접기/열기** | ✓ 등록된 도구, MCP 커넥터, 슬래시 스킬 각각 접기/펼치기 섹션 (화살표 토글) |
| 추가 | **About 정보 변경** | ✓ ".NET 8" → "Commander + Agent" (기술 스택 비노출 원칙) |
| 추가 | **가이드 내장 뷰어** | ✓ GuideViewerWindow — 암호화된 가이드를 앱 내 WebBrowser로 복호화 렌더링. 개발자 모드 연동 |

---

## Phase L3 — 차세대 런처 (v2.0) — 진행 중 / 일부 완료

> **방향**: 경쟁 런처(Raycast 1500+ 확장, PowerToys Run)의 에코시스템 수준을 참고하되,
> 사내 보안/오프라인 환경에서 동작하는 자체 완결형 기능으로 구현.
> AX Agent **Phase 18 (v2.0)** 과 교차 개발 — 런처와 에이전트의 기능 경계가 겹치는 항목은 통합 구현.

| # | 기능 | 설명 | 우선순위 | 교차 |
|---|------|------|----------|------|
| ✅ L3-1 | **플러그인 갤러리 + 레지스트리** | 로컬 NAS/Git 레지스트리 기반 탐색/설치/업데이트 인앱 갤러리 | 높음 | → Agent 18-2 |
| ✅ L3-2 | **웹 검색 AI 요약** | ? 검색 결과를 AI가 요약하여 런처에 표시 | 중간 | → Agent 18-6 |
| ✅ L3-3 | **AI 스니펫** | `;email {수신자} {주제}` → LLM이 이메일 초안 자동 생성. 기존 스니펫에 AI 확장 | 중간 | → Agent 18-3 |
| ✅ L3-4 | **파라미터 퀵링크** | `jira {티켓번호}` → URL 템플릿 변수 치환 (사내 JIRA/Confluence 등) | 중간 | → Agent 18-4 |
| ✅ L3-5 | **파일 태그 시스템** | 파일에 사용자 태그 부여, `tag` 프리픽스로 태그 기반 검색. `file_tags.json` 로컬 저장 | 중간 | — |
| L3-6 | **오프라인 AI (로컬 SLM)** | ONNX Runtime + phi-3, 서버 없이 번역/요약 | 낮음 | → Agent 18-5 |
| ✅ L3-7 | **다중 디스플레이** | 마우스 커서 위치 모니터에 런처 표시, 독 바 per-monitor 위치 저장·유효성 검증 | 낮음 | — |
| ✅ L3-8 | **알림 센터 통합** | `notif` 프리픽스로 알림 이력 조회·검색·초기화. NotificationCenterService 이력 연동, 클립보드 복사 | 낮음 | — |
| ✅ L3-9 | **런처 미니 위젯** | 하단 위젯 바 4종: 시스템 모니터(CPU/RAM/디스크), 뽀모도로 타이머(`pomo` 프리픽스), 빠른 메모 건수, 서버 상태(Ollama/LLM/MCP). PerformanceMonitorService·PomodoroService·ServerStatusService 싱글턴 | 낮음 | — |

---

## Phase L4 — 검색/탐색 UX 혁신 + 생산성 확장 (v1.7.x) ✅ 완료

> **방향**: Raycast/Alfred 기능 갭 해소 + 기존 L1-7 미완 기능 이행. 런처 단독 완결형 생산성 강화.

| # | 기능 | 설명 | 상태 |
|---|------|------|------|
| ✅ L4-1 | **파일 탐색기 인라인 패널** | 경로 입력(`C:\`, `D:\`, `~\`) 감지 → 폴더 목록 표시. →/← 키로 폴더 진입/상위 이동. Enter로 탐색기/기본 앱 실행 | 완료 |
| ✅ L4-2 | **QuickLook F3 강화** | PDF(PdfPig 텍스트 추출), 코드 구문강조(14개 언어 배경색+줄번호), Word/Excel(OpenXml) 미리보기 | 완료 |
| ✅ L4-3 | **클립보드 핀 & 카테고리** | Ctrl+P 핀 고정, `#pin/#url/#코드/#경로` 필터, 자동 분류. L1-7 기구현 확인 | 완료 |
| ✅ L4-4 | **검색 히스토리** | ↑/↓ 키로 이전 검색어 탐색. 50개 FIFO `search_history.json` 로컬 저장 | 완료 |
| ✅ L4-5 | **고급 검색 필터 문법** | `ext:.pdf size:>1mb modified:week in:documents type:file` 인라인 필터. SearchFilterParser + FuzzyEngine.SearchWithFilter() | 완료 |
| ✅ L4-6 | **계산기 단위 변환 확장** | `=20km` 자동 제안, `=today+30d` 날짜 계산. UnitConverter.AutoSuggest() + DateShortcut | 완료 |

---

## Phase L5 — 전용 핫키 · OCR · 배치 작업 · 자동화 (v1.7.4~)

> **방향**: 파워유저의 반복 작업 제거. Raycast의 핫키 할당, Windows OCR 통합, 멀티파일 배치 이름변경,
> QuickLook 인라인 편집, 워크플로우 스냅 6가지로 런처를 "행동 허브"로 확장.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L5-1 | **항목별 전용 핫키** ✅ | 앱·URL·폴더에 `Ctrl+Alt+숫자` 등 글로벌 단축키 직접 할당. `hotkey` 프리픽스로 관리. `HotkeyAssignment` 모델 + `InputListener` 확장 + 설정창 "전용 핫키" 탭 | 높음 |
| L5-2 | **OCR 화면 텍스트 추출** ✅ | `ocr` 프리픽스 + F4 글로벌 단축키. RegionSelectWindow 재사용, Windows.Media.Ocr 로컬 엔진. 결과 → 클립보드 복사 + 런처 입력창 자동 채움 | 높음 |
| L5-3 | **QuickLook 인라인 편집** ✅ | F3 미리보기 → Ctrl+E 편집 모드 토글. 텍스트/코드 전체 읽기(300줄 제한 없음). Ctrl+S 저장, ● 수정 마커, Esc 취소 확인, 저장 후 미리보기 새로고침 | 중간 |
| L5-4 | **앱 세션 스냅** ✅ | `session` 프리픽스. `AppSession/SessionApp` 모델 추가 + `AppSettings.AppSessions` 저장. `SessionHandler`: 목록·실행·new/edit/del 서브커맨드. `SessionEditorWindow`: 세션 이름·설명·앱 행(경로+라벨+스냅 팝업 14종+삭제) 인라인 편집. 실행 시 Process.Start → 창 핸들 대기(6초) → ApplySnapToWindow(P/Invoke SetWindowPos+ShowWindow) | 중간 |
| L5-5 | **배치 파일 이름 변경** ✅ | `batchren` 프리픽스로 BatchRenameWindow 오픈. 변수 패턴(`{name}`, `{n:3}`, `{date:format}`, `{ext}`) + 정규식 모드(`/old/new/`). 드래그 앤 드롭·폴더/파일 추가, DataGrid 실시간 미리보기, 충돌 감지(배경 붉은 강조), 확장자 유지 토글, 시작 번호 지정, 적용 후 엔트리 갱신 | 중간 |
| L5-6 | **자동화 스케줄러** ✅ | `sched` 프리픽스. `ScheduleEntry` 모델(Id·Name·Enabled·TriggerType·TriggerTime·WeekDays·TriggerDate·ActionType·ActionTarget·ActionArgs·LastRun) + `AppSettings.Schedules` 저장. `SchedulerService`: 30초 간격 타이머, ±1분 트리거 윈도우, `LastRun.Date == today` 중복 방지, once 실행 후 자동 비활성화. `ScheduleHandler`: 목록(다음 실행 시각 표시)·new·edit·del·Enter 토글. `ScheduleEditorWindow`: 트리거 유형 4종(매일/주중/매주/한번)·요일 다중 선택·날짜 입력, 액션 2종(앱 실행/알림). `ComputeNextRun` + `TriggerLabel` 유틸 공유 | 낮음 |

### Phase L5 구현 순서 (권장)

```
L5-1 (핫키) → L5-2 (OCR) → L5-3 (편집) → L5-5 (배치 이름변경) → L5-4 (세션 스냅) → L5-6 (스케줄러)
```

---

## Phase L6 — 워크플로우 자동화 확장 (v1.7.5~) ✅ 완료

> **방향**: 런처를 "행동 허브"로 완성. 매크로 시퀀서, 컨텍스트 인식, 조건부 스케줄로 반복 작업을 완전 자동화.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L6-1 | **클립보드 파이프라인** ✅ | `pipe` 프리픽스(기존 구현). upper/lower/trim/sort/unique/b64e/b64d/urle/urld 등 체이닝 | 기존 |
| L6-2 | **런처 매크로 시퀀서** ✅ | `macro` 프리픽스. `MacroEntry/MacroStep` 모델 + `AppSettings.Macros` 저장. `MacroHandler`: 목록·new·edit·del·Enter 실행. `MacroEditorWindow`: 유형(앱/URL/폴더/알림/PS) + 대상 + 표시이름 + 딜레이(ms) 인라인 행 편집. 재생: 순서대로 Process.Start/알림 실행 | 중간 |
| L6-3 | **컨텍스트 감지 자동완성** ✅ | `ctx` 프리픽스. `GetForegroundWindow` P/Invoke로 현재 앱 감지. 5개 컨텍스트(웹 브라우저/코드 편집기/오피스/파일 탐색기/커뮤니케이션) → 상황별 런처 명령 제안. Enter 시 해당 프리픽스 런처 입력창에 자동 삽입 | 중간 |
| L6-4 | **조건부 스케줄** ✅ | `ScheduleEntry.ConditionProcess`(프로세스명) + `ConditionProcessMustRun`(실행중/비실행중) 필드 추가. `SchedulerService.ShouldFire()` 확장: `Process.GetProcessesByName()` 조건 체크. `ScheduleEditorWindow`에 조건 섹션 UI 추가 | 낮음 |

### L5-1 항목별 전용 핫키 — 구현 설계

```csharp
// HotkeyAssignment: 단축키 → 실행 대상 매핑 모델
public record HotkeyAssignment(string HotkeyStr, string TargetPath, string Label);

// GlobalHotkeyService 확장
// - RegisterCustomHotkeys(IEnumerable<HotkeyAssignment>) 추가
// - 기존 Alt+Space 핫키와 독립 관리 (별도 id 공간)

// HotkeyHandler (prefix="hotkey"): 등록/삭제/목록 조회
// 런처 -> "hotkey set ctrl+alt+1 C:\Apps\Chrome.exe 크롬"
// 런처 -> "hotkey list"  → 등록된 핫키 목록
// 런처 -> "hotkey del ctrl+alt+1"
```

### L5-2 OCR 화면 텍스트 추출 — 구현 설계

```csharp
// Windows.Media.Ocr.OcrEngine (이미 L2-4 ClipboardOcr에서 사용 중)
// OcrHandler (prefix="ocr"):
//   1. 런처 숨김
//   2. 반투명 오버레이 창(전체화면) 표시 → 마우스 드래그로 영역 선택
//   3. PrintScreen + crop → BitmapImage → OcrEngine.RecognizeAsync()
//   4. 결과 텍스트 클립보드 복사 + 런처 재표시 (결과 항목으로 표시)
// ScreenRegionSelector: 기존 ScreenCaptureHandler의 SelectionOverlay 재사용 가능
```

### L5-3 QuickLook 인라인 편집 — 구현 설계

```csharp
// QuickLookWindow.xaml에 편집 모드 토글 버튼 추가 (타이틀바 우상단 ✏ 아이콘)
// TextScrollViewer → TextBox (편집 모드에서만 활성)
// Ctrl+S → File.WriteAllText() + 저장 완료 토스트
// 수정 감지: TextBox.TextChanged → 타이틀에 "●" 마커
// Esc → 저장 안 함 확인(CustomMessageBox) 후 미리보기 모드 복귀
// 편집 가능 확장자: .txt, .md, .log, .cs, .py, .js, .ts, .json, .xml, .yaml 등
```

### L5-5 배치 파일 이름 변경 — 구현 설계

```csharp
// BatchRenameWindow: 선택 파일 목록 + 패턴 입력 + 미리보기 DataGrid
// 패턴 유형:
//   {name}   → 원본 이름
//   {n:3}    → 3자리 순번 (001, 002, ...)
//   {date}   → 오늘 날짜 (yyyyMMdd)
//   {ext}    → 확장자
//   정규식 치환: /old/new/
// LauncherWindow: 다중 선택(Shift+↑/↓) 후 F2 → BatchRenameWindow 열기
```

---

## 기술 부채 (v1.5.0 해결)

| 항목 | 상태 |
|------|------|
| SnapHandler 기본 기능만 | ✓ 22개 레이아웃으로 확장 (3등분, 2/3, 3분할 조합 추가) |
| Everything 미연동 | ✓ EverythingHandler 구현 (`es` 프리픽스, P/Invoke, graceful fallback) |
| 플러그인 설치 수동 | ✓ PluginHost.InstallFromZip() 로컬 zip 자동 추출·등록 (URL 제외: 사내 보안) |
| 이미지 클립보드 미지원 | ✓ PNG→Base64 DPAPI 암호화 저장/복원, 앱 재시작 후 이미지 히스토리 유지 |

---

## Phase L7 — 런처 개발자·글로벌 도구 확장 (v2.0.1) ✅ 완료

> **방향**: 개발자가 런처를 벗어나지 않고 Git 조회·정규식 테스트·시간대 변환·네트워크 진단을 수행.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L7-1 | **Git 빠른 조회** ✅ | `git` 프리픽스. `git status/log/branch/stash/diff/pull` 서브커맨드. 현재 AX Agent 작업 폴더에서 `.git` 루트 자동 탐색. 비동기 Process 실행 → 출력 클립보드 복사. `pull`은 별도 PowerShell 터미널로 실행. 브랜치명·변경 파일 수 실시간 요약 표시 | 높음 |
| L7-2 | **정규식 테스터** ✅ | `re` 프리픽스. 클립보드 텍스트에 패턴 적용 → 매치 목록 표시. `/old/new/` 치환 모드. `flags:im` 플래그 지정(대소문자·멀티라인·단일라인). `re patterns` 서브커맨드로 이메일·URL·전화번호·날짜·IP·UUID 등 14종 공통 패턴 라이브러리. 매치 결과·치환 결과 클립보드 복사 | 높음 |
| L7-3 | **시간대 변환기** ✅ | `tz` 프리픽스. 15개 주요 도시(서울·도쿄·베이징·뉴욕·LA·런던·파리·시드니 등) 현재 시각 실시간 표시. `tz <도시>` 단일 조회 + 서울 기준 시차 표시. `tz 14:00 to la` 시각 변환. `tz meeting 09:00` 미팅 시각 전 도시 동시 표시. Enter → 클립보드 복사 | 중간 |
| L7-4 | **네트워크 진단** ✅ | `net` 프리픽스. 로컬 어댑터 IP/MAC 즉시 표시. `net ping <호스트>` 4회 핑 테스트(사내 모드: 내부 호스트만). `net dns <도메인>` DNS A 레코드 조회(사외 모드에서 외부 도메인). `net ip`/`net adapter` 상세 정보. 기존 `port` 핸들러(포트·프로세스 조회)와 역할 분리 | 중간 |

---

## Phase L8 — 파일·시스템 유틸리티 강화 (v2.0.1) ✅ 완료

> **방향**: 파일 무결성 검증, 아카이브 조작, 시스템 이벤트 진단, SSH 원격 접속을 런처에서 바로 처리.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L8-1 | **파일 해시 검증** ✅ | `hash` 프리픽스. MD5/SHA1/SHA256/SHA512 비동기 계산. 경로 미입력 시 클립보드 파일 경로 자동 감지. `hash check <기대값>` 클립보드 해시 비교. 결과 클립보드 복사 | 높음 |
| L8-2 | **아카이브 관리** ✅ | `zip` 프리픽스. System.IO.Compression 기반. `zip <경로>` 파일 목록 미리보기(최대 20개). `zip extract` 동일/지정 폴더 압축 해제. `zip folder <폴더>` 폴더→zip 압축. 클립보드 경로 자동 감지 | 중간 |
| L8-3 | **시스템 이벤트 로그** ✅ | `evt` 프리픽스. 최근 24시간 System+Application 로그 조회. `evt error`/`evt warn`/`evt app`/`evt sys`/`evt <키워드>` 필터. EventLogEntry.InstanceId 기반. 이벤트 상세 클립보드 복사 | 중간 |
| L8-4 | **SSH 퀵 커넥트** ✅ | `ssh` 프리픽스. `SshHostEntry` 모델 + `AppSettings.SshHosts` 영속화. `ssh add user@host[:port]` 저장. `ssh del <이름>` 삭제. Enter → Windows Terminal(wt.exe)/PuTTY/PowerShell 순 폴백 실행. 직접 `user@host` 입력 즉시 연결 지원 | 높음 |

---

## Phase L9 — 보안·네트워크·시스템 유틸리티 (v2.0.1) ✅ 완료

> **방향**: 개발자·IT 관리자의 일상 도구 — 비밀번호 생성, 서브넷 계산, 시스템 정리, 진수 변환.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L9-1 | **비밀번호 생성기** ✅ | `pwd` 프리픽스. `RandomNumberGenerator` 기반 암호학적 난수. 강력(대소문자+숫자+특수)/알파뉴메릭/PIN/패스프레이즈 4가지 모드. `pwd 24 strong` 길이·모드 지정. 5개 후보 동시 생성, 강도 레이블 표시. Enter → 클립보드 복사 | 높음 |
| L9-2 | **IP 서브넷 계산기** ✅ | `subnet` 프리픽스. CIDR(x.x.x.x/24) 또는 공백 구분 입력. 네트워크·마스크·브로드캐스트·첫/마지막 호스트·사용 가능 호스트 수 계산. 서브넷 마스크→CIDR 변환. `subnet range x.x.x.10-50` 범위 계산. 이진 마스크 표시 | 높음 |
| L9-3 | **시스템 정리** ✅ | `clean` 프리픽스. 임시 파일(%TEMP%), 휴지통(SHEmptyRecycleBin), 다운로드 30일 이상, AxCopilot 로그. 예상 용량 사전 표시. `clean all`로 일괄 정리. 항목별 실시간 알림 | 중간 |
| L9-4 | **진수 변환기** ✅ | `base` 프리픽스. 10진/16진(0x)/2진(0b)/8진(0o) 자동 감지 변환. `base 255 to hex` 단일 방향 변환. `base ascii 65` ASCII 코드↔문자 변환. 4비트 그룹 이진 표시. Enter → 클립보드 복사 | 중간 |

---

## Phase L10 — 텍스트·데이터·개발 유틸리티 (v2.0.2) ✅ 완료

> **방향**: 개발자 일상 도구 확충 — XML 조작, UUID 생성, SSL 인증서 점검, 더미 데이터 생성.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L10-1 | **XML 포맷터·검증기** ✅ | `xml` 프리픽스. 클립보드 또는 인라인 XML 자동 포맷(들여쓰기). `xml compact/minify`로 압축. `xml validate`로 유효성 검증(줄·열 오류 표시). `xml xpath //경로`로 XPath 쿼리. `xml attr`로 속성 목록 추출. Enter → 클립보드 복사 | 높음 |
| L10-2 | **UUID/GUID 생성기** ✅ | `uuid` 프리픽스. `uuid` 기본 v4 1개 생성. `uuid 5`로 N개 일괄. `uuid upper` 대문자. `uuid seq` UUIDv7 스타일 순차 UUID(타임스탬프 상위 48비트). `uuid short` 8자리 hex 짧은 ID. `uuid nil` Nil UUID. `uuid parse <uuid>`로 버전·변형·타임스탬프 분석 | 높음 |
| L10-3 | **SSL 인증서 체커** ✅ | `cert` 프리픽스. 도메인/IP의 TLS 인증서 조회(443 기본, 포트 지정 가능). 만료일·D-day·발급 대상·발급 기관·SANs·지문 표시. 사내 모드에서는 내부 호스트(192.168.x, 10.x, 172.16-31.x)만 허용. Enter → 결과 클립보드 복사 | 중간 |
| L10-4 | **Lorem Ipsum 생성기** ✅ | `lorem` 프리픽스. `lorem 3`으로 3단락 생성. `lorem words 20` 단어 N개. `lorem sentences 5` 문장 N개. `lorem ko` 한국어 더미 텍스트. `lorem email 5` 더미 이메일 주소. `lorem name 5` 한국어 더미 이름. Enter → 클립보드 복사 | 중간 |

---

## Phase L11 — 개발자 데이터 파싱 도구 (v2.0.3) ✅ 완료

> **방향**: 데이터 형식 분석·변환 도구 — CSV, JWT, Cron, 유니코드 문자 전문 처리.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L11-1 | **CSV 뷰어·파서** ✅ | `csv` 프리픽스. 클립보드 CSV/TSV 자동 감지·파싱. 행수·열수·헤더 미리보기. `csv col N` 컬럼 추출. `csv row N` 행 조회. `csv stats` 숫자 컬럼 합계·평균·최대·최소 계산. `csv tsv` TSV 변환. 쉼표/탭 구분자 자동 감지 | 높음 |
| L11-2 | **JWT 디코더** ✅ | `jwt` 프리픽스. 클립보드 또는 인라인 토큰 자동 감지(eyJ 시작). 헤더(alg·typ)·페이로드(claims)·서명 유무 분석. exp/iat/nbf 타임스탬프 → 날짜 변환. 만료 D-day·남은 시간 계산. `jwt header` / `jwt payload` 부분 조회. **서명 검증 미지원(분석 전용)** | 높음 |
| L11-3 | **Cron 설명기** ✅ | `cron` 프리픽스. 5필드 표준 cron 표현식 파싱. 한국어 설명 생성(예: "평일 오전 9시 실행"). 다음 5회 실행 시간 계산 + 상대 시간 표시. `@daily/@weekly/@monthly/@hourly` 특수 키워드. 필드별 분석(분·시·일·월·요일). Enter → 표현식 복사 | 중간 |
| L11-4 | **유니코드 조회** ✅ | `unicode` 프리픽스. 문자 직접 입력, `U+XXXX`, `0xXXXX`, 10진수 코드포인트 방식 지원. UTF-8·UTF-16 바이트, HTML 엔티티, 카테고리(Lu/Ll/So 등), 블록명 표시. 한글 음절 초·중·종성 분해. 여러 문자 입력 시 코드포인트 범위 요약 | 중간 |

---

## Phase L12 — 시스템·네트워크·텍스트 도구 (v2.0.4) ✅ 완료

> **방향**: 실무 네트워크 진단·시스템 관리·재미있는 텍스트 변환 확충.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L12-1 | **HTTP 요청 테스터** ✅ | `http` 프리픽스. GET/HEAD/POST/PUT/DELETE 메서드. http:// 자동 추가. 상태 코드·응답 시간·Content-Type·주요 헤더 표시. 사내 모드에서 외부 URL 차단(내부 IP만 허용). Enter → 요청 실행 + 결과 클립보드 복사 | 높음 |
| L12-2 | **hosts 파일 관리** ✅ | `hosts` 프리픽스. C:\Windows\System32\drivers\etc\hosts 파싱. 활성·비활성(주석 처리) 항목 분류. `hosts search` 키워드 필터. `hosts open` 메모장 열기. `hosts copy` 전체 내용 복사. 항목 Enter → 클립보드 복사 | 중간 |
| L12-3 | **모스 부호 변환기** ✅ | `morse` 프리픽스. 텍스트 → 모스 부호 (영문자·숫자·구두점 56자 지원). 모스 → 텍스트 역변환 (.-/공백 자동 감지). SOS/AR/AS 프로사인 키워드. 클립보드 자동 감지. 문자별·코드별 대응표 표시 | 낮음 |
| L12-4 | **시작 프로그램 조회** ✅ | `startup` 프리픽스. HKCU/HKLM Run·RunOnce 레지스트리 + 시작 폴더(.lnk) 통합 조회. 범위(현재 사용자/모든 사용자) 그룹화. `startup search` 키워드 필터. `startup folder` 시작 폴더 열기. Enter → 명령 경로 클립보드 복사 | 중간 |

---

## Phase L13 — 시스템 정보·계산 도구 (v2.0.5) ✅ 완료

> **방향**: 네트워크 진단·파일시스템 정보·날짜 계산 도구 보강.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L13-1 | **DNS 레코드 조회** ✅ | `dns` 프리픽스. A/AAAA는 .NET Dns API 직접 사용. MX/TXT/NS/CNAME은 nslookup 서브프로세스 파싱. PTR(역방향 조회) 지원. 사내 모드에서 외부 도메인 차단(내부 IP만 허용). Enter → 비동기 조회 실행 + 결과 복사 | 높음 |
| L13-2 | **PATH 환경변수** ✅ | `path` 프리픽스. Process/User/Machine 세 범위 통합 조회. 경로 존재 여부 아이콘 표시. `path which <파일>` .exe/.cmd/.bat/.ps1 확장자 자동 시도. `path user/system` 범위별 표시. `path search` 키워드 필터 | 높음 |
| L13-3 | **드라이브 정보** ✅ | `drive` 프리픽스. DriveInfo.GetDrives() 기반 전체 드라이브 목록. 고정/이동식/네트워크/CD 드라이브 종류 구분. █░ 시각적 사용량 바 그래프. `drive C` 특정 드라이브 상세. `drive large` 사용량 많은 순 정렬. TB/GB/MB/KB 자동 단위 | 중간 |
| L13-4 | **나이·D-day 계산기** ✅ | `age` 프리픽스. YYYY-MM-DD / YYYYMMDD / M.d 형식 파싱. 과거 날짜 → 만 나이·한국 나이·경과 일수·다음 생일 D-day. 미래 날짜 → D-day·남은 주 계산. `age christmas/newyear` 특수 키워드. `age next monday` 다음 요일까지 D-day | 높음 |

---

## Phase L14 — 네트워크·계산·시스템 도구 (v2.0.6) ✅ 완료

> **방향**: IT 관리·개발 실무 도구 보강 — WoL, 레지스트리 조회, 비용 계산, 폰트 검색.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L14-1 | **Wake-on-LAN** ✅ | `wol` 프리픽스. MAC 주소(AA:BB:CC:DD:EE:FF, 대시, 구분자 없음) 매직 패킷 전송. 포트 9+7 브로드캐스트(255.255.255.255). `wol save 이름 MAC`으로 호스트 저장(`wol_hosts.json`). `wol delete 이름` 삭제. 저장 항목 목록에서 Enter → 즉시 전송 | 중간 |
| L14-2 | **레지스트리 조회** ✅ | `reg` 프리픽스. HKCU/HKLM/HKCR/HKU/HKCC 모든 하이브 지원. 하위 키·값 목록 표시. 값 타입(REG_SZ/DWORD/BINARY/MULTI_SZ) 포맷 출력. 9개 즐겨찾기 경로 빠른 접근. `reg search` 즐겨찾기 필터. 조회 전용(쓰기/삭제 없음) | 높음 |
| L14-3 | **팁·할인·분할 계산기** ✅ | `tip` 프리픽스. 금액만 입력 시 10/15/18/20/25% 팁 전체 표시. `tip 금액 %` 특정 팁. `tip 금액 % 인원` 팁+분할. `tip 금액 off %` 할인가 계산. `tip 금액 vat` VAT 포함/역산. `tip 금액 / 인원` 균등 분할. 100원 단위 올림 계산 | 높음 |
| L14-4 | **시스템 폰트 목록** ✅ | `font` 프리픽스. `Fonts.SystemFontFamilies` WPF API 기반. 설치 폰트 전체 목록 캐시(최초 1회 로드). `font 맑은/nanum/mono` 키워드 필터. 한글·나눔·코딩·Arial·Times 그룹 힌트. 검색 결과 전체 일괄 복사 지원 | 중간 |

---

## Phase L15 — WSL·환율·건강·Markdown 도구 (v2.0.7) ✅ 완료

> **방향**: 개발자 편의·생활 실용 도구 보강 — WSL 관리, 환율 변환, BMI 계산, Markdown 분석.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L15-1 | **WSL 관리** ✅ | `wsl` 프리픽스. `wsl --list --verbose` 서브프로세스 기반 distro 목록(UTF-16 인코딩). 상태(Running/Stopped) 아이콘 구분. `wsl stop [all/distro]` 종료. `wsl default <distro>` 기본 설정. distro 이름 직접 검색 → 실행. Windows Terminal(wt.exe) 우선, 없으면 UseShellExecute 폴백 | 높음 |
| L15-2 | **환율 변환기** ✅ | `currency` 프리픽스. KRW/USD/EUR/JPY/CNY/GBP/HKD/TWD/SGD/AUD/CAD/CHF/MYR/THB/VND 15개 통화 내장. `currency 100 usd` → KRW 환산. `currency 100 usd eur` → 크로스 환산. `currency 50000 krw usd`. `currency rates` 전체 환율표. 한글 별칭(달러/엔/위안) 지원. JPY/KRW/VND 소수점 0자리 포맷 | 높음 |
| L15-3 | **BMI·건강 계산기** ✅ | `bmi` 프리픽스. `bmi 170 65` BMI 지수 + WHO 아시아태평양 기준 판정. 적정 체중 범위(BMI 18.5~22.9). `bmi 170 65 30 m` 나이+성별 포함 시 Harris-Benedict 기초대사량 + 5단계 활동별 권장 칼로리. `bmi ideal 170` 키 기준 적정/과체중/비만 체중 범위 | 높음 |
| L15-4 | **Markdown 분석기** ✅ | `md` 프리픽스. 클립보드 Markdown 자동 읽기. `md toc` 앵커 포함 목차(TOC) 생성. `md strip` 마크다운 기호 완전 제거 → 순수 텍스트. `md count` 줄/단어/문자/제목/코드블록/목록/링크/이미지/볼드 통계. `md links` 링크 목록 추출. `md images` 이미지 URL 목록. [GeneratedRegex] 소스 생성기 활용 | 높음 |

---

## Phase L16 — ping·Docker·Todo·Table 도구 (v2.0.8) ✅ 완료

> **방향**: 개발자 인프라 도구 + 생산성 도구 보강 — 네트워크 진단, 컨테이너 관리, 할 일 목록, 표 변환.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L16-1 | **ping·tracert 실행기** ✅ | `ping` 프리픽스. 입력 즉시 1회 ping 시도 결과 표시(응답 ms 실시간). Enter → Windows Terminal(wt.exe) 우선 실행. `ping trace <host>` tracert. `ping local` 로컬 어댑터 IP·게이트웨이 정보. `ping scan <대역>` PowerShell 스캔 스크립트 실행. `ping -t` 무한 반복. 사내 모드에서 외부 도메인 차단 | 높음 |
| L16-2 | **Docker 관리** ✅ | `docker` 프리픽스. `docker ps` 실행 중 컨테이너 목록(이름·상태·포트). `docker all` 중지 포함 전체 목록. `docker images` 로컬 이미지 목록(크기·생성일). `docker stop/start <이름>` 터미널 없이 직접 실행. `docker logs <이름>` 터미널에서 로그. `docker shell <이름>` exec -it sh 접속. Docker 미설치 감지 | 높음 |
| L16-3 | **할 일 목록** ✅ | `todo` 프리픽스. `todo <내용>` 새 항목 추가. `todo done <번호>` 완료 토글. `todo del <번호>` 삭제. `todo clear` 완료 항목 정리. `todo clear all` 전체 삭제. `todo <검색어>` 키워드 필터. 번호만 입력 시 빠른 완료 토글. 미완료 먼저, 완료 항목 하단 그룹. `%APPDATA%\AxCopilot\todos.json` 로컬 저장 | 높음 |
| L16-4 | **텍스트 → 표 변환기** ✅ | `table` 프리픽스. 클립보드 텍스트 자동 읽기. 탭·CSV·공백 구분자 자동 감지. `table` → 마크다운 표. `table csv` → CSV 변환. `table html` → HTML `<table>` 태그. `table flip` 행·열 전치(transpose). `table sort N` N번 열 기준 정렬(숫자/문자 자동 감지). 셀 너비 자동 정렬(PadRight). 미리보기 3줄 표시 | 높음 |

---

## Phase L17 — 단위·숫자·YAML·Gitignore 도구 (v2.0.9) ✅ 완료

> **방향**: 개발자·업무 실용 도구 심화 — 단위 변환, 숫자 읽기, YAML 분석, 프로젝트 초기화.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L17-1 | **단위 변환기** ✅ | `unit` 프리픽스. 길이(km·m·ft·in·mi)·무게(kg·lb·oz·근)·온도(°C·°F·K)·넓이(m²·ha·acre·평)·속도(km/h·mph·m/s·knot)·데이터(bit·B·KB~PB)·압력(Pa·atm·bar·psi)·부피(L·mL·gallon·cup) 8개 카테고리 50+ 단위. `unit 100 km m` → 변환. 대상 단위 생략 시 같은 카테고리 전체 일괄 변환. 한글 단위명 별칭 지원 | 높음 |
| L17-2 | **숫자 포맷·읽기** ✅ | `num` 프리픽스. `num 1234567` → 천단위·한글 단위(만·억·조)·한국어 읽기·영어 읽기·16진수·8진수·2진수·과학표기·로마 숫자 일괄 표시. `0x/0b/0o` 접두사 진수 입력. `num 42 ko` 한국어 읽기만. `num 42 en` 영어 읽기만. 1~3999 로마 숫자 변환. ToKorean(): 조·억·만 단위 재귀 분해 | 높음 |
| L17-3 | **YAML 파서·분석기** ✅ | `yaml` 프리픽스. 클립보드 자동 읽기. 외부 라이브러리 없이 순수 구현(경량 파서). `yaml validate` 유효성 검사. `yaml keys` 최상위 키 목록. `yaml get key.sub` 점 표기법 경로 조회. `yaml stats` 줄·키·깊이 통계. `yaml flat` 점 표기법 평탄화(flatten). [GeneratedRegex] 소스 생성기 | 높음 |
| L17-4 | **.gitignore 생성기** ✅ | `gitignore` 프리픽스. Node/Python/C#(.NET)/Java/Go/Rust/React(Next.js·Vite·Vue)/Flutter/Android/iOS/Unity/Windows/macOS/Linux 14개 내장 템플릿. 별칭(nodejs·npm·dotnet·net·maven·golang·cargo·nextjs·swift 등) 지원. 여러 템플릿 명 입력 시 자동 병합. 미리보기 12줄 표시. Enter → 클립보드 복사 | 높음 |

---

## Phase L18 — SQL·TextCase·Aspect·Abbr 도구 (v2.1.0) ✅ 완료

> **방향**: 개발자 텍스트 처리·분석 도구 강화 — SQL 포맷, 텍스트 케이스, 해상도 계산, 약어 사전.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L18-1 | **SQL 포맷터·분석기** ✅ | `sql` 프리픽스. 클립보드 SQL 자동 읽기. 키워드 기반 들여쓰기 포맷(새 줄 시작 키워드 집합). `sql mini` 미니파이. `sql upper/lower` 키워드 대소문자 변환. `sql stats` 테이블·JOIN·WHERE 조건·서브쿼리·DML 유형 분석. `sql tables` FROM/JOIN 테이블 추출. `sql select <table>` SELECT 쿼리 템플릿 생성. [GeneratedRegex] 소스 생성기 | 높음 |
| L18-2 | **텍스트 케이스 변환기** ✅ | `text` 프리픽스. 클립보드 자동 읽기. 13가지 케이스 일괄 표시: camelCase·PascalCase·snake_case·SCREAMING_SNAKE·kebab-case·URL slug·dot.case·UPPER·lower·Title·Sentence·뒤집기·trim. 인라인 입력(`text camel hello world`) 지원. Tokenize(): camelCase 경계 분리 + 구분자 정규화. ToSlug(): 유니코드 정규화(NFC→ASCII). [GeneratedRegex] 소스 생성기 | 높음 |
| L18-3 | **화면 비율·해상도 계산기** ✅ | `aspect` 프리픽스. 9개 비율 프리셋 내장(16:9·4:3·21:9·1:1·9:16·3:2·2:1·5:4·2.35:1). `aspect 1920 1080` → GCD 약분 비율 계산·MP 표시. `aspect 16:9 1280` 너비 기준 높이 계산. `aspect 16:9 h 720` 높이 기준 너비 계산. `aspect crop 1920 1080 4:3` 크롭 영역+FFmpeg crop 파라미터. 소수 비율(2.35:1) 지원 | 높음 |
| L18-4 | **IT·개발 약어 사전** ✅ | `abbr` 프리픽스. 150개+ 내장 약어(웹/네트워크·개발·DB·보안·클라우드·AI·데이터형식·협업 8개 카테고리). 정확 일치 → 약어/원문/설명/카테고리 상세 표시. 부분 일치 → 목록 표시. `abbr 클라우드` 카테고리별 필터. `abbr jwt` → JWT 상세. API/CRUD/REST/JWT/MCP/SOLID/CAP/ACID/OWASP 등 포함 | 높음 |

---

## Phase L19 — Calc·Timer·IP·NPM 도구 (v2.1.0) ✅ 완료

> **방향**: 개발자·네트워크 실용 계산 도구 강화 — 공학 계산기, 백그라운드 타이머, IP 분석, 패키지 매니저 명령어 생성.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L19-1 | **공학 계산기** ✅ | `calc` 프리픽스. 삼각함수(sin·cos·tan·asin·acos·atan), 역삼각, 제곱근(sqrt·cbrt), 로그(log·log2·ln·exp), 거듭제곱(pow), 팩토리얼(0~20), GCD·LCM, 절댓값·올림·내림·반올림, 라디안↔도 변환, 상수(π·e·φ). 결과에 과학적 표기법·log₁₀ 부가정보 동시 표시. `calc sin 45` → 0.7071 형식 | 높음 |
| L19-2 | **타이머·알람** ✅ | `timer` 프리픽스. `timer 30`(초)·`timer 5m`(분)·`timer 1h30m`(시간+분) 형식 파싱. `timer stop`·`timer stop <id>` 특정 타이머 취소. 정적 타이머 레지스트리로 복수 타이머 동시 운영. `Task.Delay` 백그라운드 실행 + `NotificationService.Notify`로 완료 알림. 실행 중 목록 및 남은 시간 실시간 표시 | 높음 |
| L19-3 | **IP 주소 유틸리티** ✅ | `ip` 프리픽스. `ip my` → NetworkInterface 전 어댑터 IPv4·마스크·게이트웨이. `ip 192.168.1.1` → 분류(사설/공인/루프백/APIPA/멀티캐스트)·클래스(A~E)·이진·16진·정수 변환. `ip 10.0.0.0/8` CIDR → 네트워크·브로드캐스트·와일드카드·호스트 범위·수. `ip range <start> <end>` IP 범위 계산. `ip bin/hex/int` 표현 변환. `ip from <uint>` 정수→IP | 높음 |
| L19-4 | **npm/yarn/pnpm 명령어 생성기** ✅ | `npm` 프리픽스. `npm install <pkg>` → npm·yarn·pnpm 3종 설치 명령 동시 표시(일반/devDependencies/전역). init·uninstall·run·build·test·update·list·audit·publish·scripts·global·clean·ci·lock 서브커맨드 지원. `npm run dev` → yarn dev / pnpm run dev 동등 명령 비교. Enter로 클립보드 복사 | 높음 |

---

## Phase L20 — Hex·Rand·Str·Perm 도구 (v2.1.0) ✅ 완료

> **방향**: 개발자 데이터 처리·생성 도구 강화 — 16진수 변환, 랜덤 생성, 문자열 조작, Unix 권한 계산.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L20-1 | **16진수·바이트 변환기** ✅ | `hex` 프리픽스. 클립보드/인라인 텍스트→hex 변환(공백 구분·소문자·0x접두사). 순수 hex 문자열→UTF-8/ASCII 자동 디코딩. `hex dump <text>` 오프셋+hex+ASCII 형식 16줄 단위 덤프. `hex 0xFF` 단일 hex값→10진/8진/이진/ASCII. `hex add/xor/and/or/not` 비트 연산. `hex bytes <n>` KB/MiB/GB 크기 단위 변환. CS1631 catch-yield 패턴 적용 | 높음 |
| L20-2 | **랜덤 생성기** ✅ | `rand` 프리픽스. 기본: 1~100 난수. `rand <max>` / `rand <min> <max>`. `rand str [len] [charset]` 영숫자/alpha/num/hex/special 문자셋. `rand color` HEX+RGB+HSL 랜덤 색상 5개. `rand dice [NdS]` 다면체 주사위(1d6~100d10000). `rand coin` 동전 던지기. `rand pick/shuffle` 항목 선택·셔플. `rand uuid` UUID v4. `rand token` RandomNumberGenerator 보안 토큰. `rand pin [len]` PIN 번호 | 높음 |
| L20-3 | **문자열 조작 도구** ✅ | `str` 프리픽스. `str escape/unescape html/url/json/regex` 이스케이프 변환. `str repeat <n> [sep]` 반복. `str pad <w> [left/right/both] [char]` 패딩. `str wrap <cols>` 단어 단위 줄바꿈. `str sort [desc]` 줄 정렬. `str unique` 중복 제거. `str join/split <sep>` 구분자 변환. `str replace <from> <to>` 치환. `str extract email/url/number/ip` 패턴 추출. `str lines` 줄/단어/문자 통계. [GeneratedRegex] 소스 생성기 | 높음 |
| L20-4 | **Unix 파일 권한 계산기** ✅ | `perm` 프리픽스. `perm 755` 8진수→기호(rwxr-xr-x)·소유자/그룹/기타 상세 설명·용도 안내·관련 권한 제안. `perm rwxr-xr-x` 기호→8진수 역변환. `perm +x/-x/+w/-r 644` 비트 수정 연산. `perm umask 022` umask 적용 시 파일(666)/디렉토리(777) 결과 계산. `perm common` 14가지 자주 쓰는 권한 목록. chmod 명령 자동 생성 | 높음 |

---

## Phase L21 — TOML·Log·PowerShell·단축키 도구 (v2.1.0) ✅ 완료

> **방향**: 개발자 설정 파일·로그 분석·Windows 자동화·단축키 생산성 강화.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L21-1 | **TOML 파서·분석기** ✅ | `toml` 프리픽스. 클립보드 자동 읽기. 외부 라이브러리 없이 순수 구현. `toml validate` 유효성 검사. `toml keys` 최상위 키 목록. `toml get key.sub` 점 표기법 경로 조회. `toml stats` 줄·키·섹션 통계. `toml flat` 평탄화. YAML/JSON과 같은 패턴의 3번째 설정 파일 형식 지원 | 높음 |
| L21-2 | **로그 파일 분석기** ✅ | `log` 프리픽스. 클립보드 또는 `log <경로>` 파일 경로 입력. ERROR/WARN/INFO/DEBUG 레벨 파싱 + 건수 요약. `log error` 오류 줄만 필터. `log last <n>` 마지막 N줄 표시(tail). `log grep <키워드>` 키워드 필터. `log stats` 레벨별 통계 + 시간대 분포. 스택트레이스·예외 패턴 자동 감지 | 높음 |
| L21-3 | **PowerShell 명령 생성기** ✅ | `ps` 프리픽스. 자주 쓰는 PowerShell 명령어 빠른 조회·생성·실행. 카테고리별 명령(파일/프로세스/네트워크/서비스/레지스트리/이벤트). `ps <키워드>` 명령 검색. `ps <명령어>` 생성 → Enter 시 PowerShell 터미널 실행. 파이프라인 예시 표시. 원라이너 복사 지원 | 높음 |
| L21-4 | **단축키 참조 사전** ✅ | `key` 프리픽스. Windows/VS Code/Chrome/Vim/Excel 5개 앱 단축키 내장(100개+). `key vscode` 전체 목록. `key vscode find` 키워드 검색. `key win` Windows 단축키. `key chrome` 브라우저 단축키. `key vim` Vim 명령. 단축키 → 기능 설명 양방향 검색. Enter → 단축키 클립보드 복사 | 높음 |

---

## Phase L22 — 프로세스·Excel·pip·업무양식 도구 (v2.1.0) ✅ 완료

> **방향**: 일반 사무 업무 실용성 우선 — 기존 계획(`geo`·`cargo`)은 사무 환경과 거리가 있어 `xl`(Excel 함수 레퍼런스)과 `form`(업무 양식 템플릿)으로 대체.

| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L22-1 | **프로세스 상세 조회·정리** ✅ | `proc` 프리픽스 (`kill`=강제종료 분리, `proc`=조회·분석). 메모리 정렬 목록. `proc top` 상위 15개. `proc mem` 메모리 정렬. `proc <이름>` 검색. `proc kill <이름>` 종료. `proc stats` 전체 통계 (수·메모리 합·CPU 활성 수). PC 느릴 때 즉시 확인 가능 | 높음 |
| L22-2 | **Excel 함수 레퍼런스** ✅ | `xl` 프리픽스. 조회(VLOOKUP·XLOOKUP·INDEX/MATCH)·논리(IF·IFS·IFERROR)·합산(SUM·SUMIF)·개수(COUNT·COUNTIF)·텍스트(LEFT·MID·TRIM·SUBSTITUTE)·날짜(DATEDIF·EDATE)·수학(ROUND·MOD)·통계(AVERAGE·RANK) 8개 카테고리, 80개+ 함수. `xl lookup` 카테고리 조회. `xl <검색어>` 함수명·설명 검색. Enter → 함수명 복사 | 높음 |
| L22-3 | **Python pip 명령 생성기** ✅ | `pip` 프리픽스. install·uninstall·list·venv·conda 5개 카테고리 35개+ 명령. pip2/pip3 동시 표시. `pip venv` 가상환경 생성·활성화. `pip conda` Conda 환경 관리. `pip <카테고리>` 목록. `pip <검색어>` 검색. Enter → pip3 명령 복사. 데이터 분석·Python 자동화 업무 지원 | 중간 |
| L22-4 | **업무 양식·문서 템플릿** ✅ | `form` 프리픽스. 회의록(기본·주간)·주간/월간 보고서·이메일(요청·사과·공지)·프로젝트 계획서/완료보고서·성과 자기평가서·코드리뷰 체크리스트·온보딩 체크리스트 6개 카테고리 13개 양식. `form meeting` 카테고리 조회. `form <검색어>` 검색. Enter → 양식 전체를 클립보드에 복사. 오늘 날짜 자동 삽입 | 높음 |

---

## Phase L23 — 한국 사무 환경 특화 도구 (v2.2.0) ✅ 완료

> **방향**: 외부 설치 없이 동작하고, 한국 사무 환경에 특화된 도구만 선택. 기존 벤치마킹 기반 볼륨·북마크·QR·회의링크 계획 전면 재수립.

| # | 기능 | 설명 |
|---|------|------|
| ✅ L23-1 | **한국 공휴일·업무일 달력** (`cal`) | 2024~2027 공휴일 66개 내장 딕셔너리. `cal` 이번달 공휴일·업무일 총수·잔여. `cal next` 다음 공휴일 5개 D-N일. `cal workdays` 이번달 업무일 현황. `cal today` 오늘 공휴일 여부. `cal 2026-05` 특정 월 조회. 연차 계획·납기 산정 활용 |
| ✅ L23-2 | **연차·휴가 관리** (`leave`) | `%APPDATA%\AxCopilot\leave.json` 로컬 저장. `leave set 15` 연간 일수 설정. `leave use 날짜 [0.5]` 사용 기록(반차 지원). `leave del 날짜` 삭제. `leave remaining` 잔여 연차. `leave list` 사용 이력. `leave clear` 올해 초기화 |
| ✅ L23-3 | **근무 시간·급여 계산** (`work`) | `work 09:00 18:30` 근무시간·초과근무(점심 1h 자동 제외). `work 09:00 18:30 -30` 점심 N분 지정. `work 09:00 18:30 pay 15000` 시급 기준 급여(초과 1.5배). `work pay N` 직전 계산 재활용. `work week 45.5` 주간 40h 기준 초과 계산 |
| ✅ L23-4 | **한/영 타이핑 오류 교정** (`fix`) | 두벌식 영→자모 매핑 + HangulComposer 상태 기계(초성19·중성21·종성28·복합모음7·복합종성11). `fix gksrmf` → `안녕`. 빈 쿼리 시 클립보드 자동 교정. Enter → 교정 결과 클립보드 복사 |

---

## Phase L24 — 문서·Office 생산성 도구 (v2.2.0) ✅ 완료

> **방향**: 기존 핸들러 데이터 보강 + 문서 작성 생산성 강화. 신규 핸들러 최소화.

| # | 기능 | 설명 |
|---|------|------|
| ✅ L24-1 | **`form` 양식 확장** | 인수인계서·업무지시서·품의서(handover) + 업무일지·일일업무보고·주요업무계획표(daily) 6종 추가 → 19개. 날짜·주차 자동 삽입 |
| ✅ L24-2 | **`key` 단축키 확장** | Word(25개)·PowerPoint(18개)·Teams(18개)·Outlook(21개) 추가 → 총 10개 앱 지원 |
| ✅ L24-3 | **자주 틀리는 맞춤법** (`spell`) | 63개 내장 목록 6개 카테고리(되/돼·안/않·혼동어·맞춤법·띄어쓰기·외래어). 빈 쿼리 시 클립보드 자동 검사 |
| ✅ L24-4 | **사용자 정의 약어 등록** (`abbr` 확장) | `abbr add MOU 양해각서` / `abbr del MOU` / `abbr custom`. `abbr_custom.json` 로컬 저장. 검색 시 내장+커스텀 통합 |

---

## Phase L24 구 계획 — 검색 품질·시스템 제어 심화 (폐기됨)

> ※ 볼륨·밝기·집중모드·북마크·QR는 사무 환경 필요성 낮음 → 폐기. 아래는 기록용 보존.

## Phase L24_OLD — 검색 품질·시스템 제어 심화 (v2.2.0) 🚫 폐기

> **방향**: 핸들러 추가보다 **기존 기능 깊이 강화**. 벤치마킹 공백 5~6순위 + 검색 품질 개선.

| # | 기능 | 설명 | 근거 |
|---|------|------|------|
| L24-1 | **화면 밝기·야간 모드 제어** | `bright` 프리픽스. 내장 모니터 밝기 조절 (WMI `WmiMonitorBrightnessMethods`). `bright 80` 수치 지정. `bright +10` / `bright -10` 상대 조절. `bright night on/off` Windows 야간 모드 레지스트리 토글. 외장 모니터는 미지원 안내 (DDC/CI는 별도 드라이버 필요). 노트북 사용자 발표·야간 작업 수요 | Raycast 인기 System Command 2위 |
| ✅ L24-2 | **파일 검색 결과 아이콘 표시** | Shell32 `SHGetFileInfo` + `SHGFI_USEFILEATTRIBUTES` P/Invoke. Dispatcher STA 스레드에서 HICON 추출 → BitmapSource PNG 변환 → `%LOCALAPPDATA%\AxCopilot\IconCache\{ext}.png` 캐시. `IconCacheService.WarmUp()` 앱 시작 시 13개 주요 확장자 사전 캐시. `CommandResolver` + `FileBrowserHandler` 양쪽에 연동 | 완료 (Phase UX) |
| ✅ L24-3 | **퍼지 검색 랭킹 개선** | `UsageRankingService` `{count, lastUsedMs}` 레코드 전환. 30일 지수 감소 decay: `score = count × e^(-days/43.3)`. 구 형식(`{key: count}`) 자동 마이그레이션. 정확 일치 > 초성 일치 > 부분 일치 기존 6단계 점수 체계와 결합 | 완료 (Phase UX) |
| L24-4 | **집중 모드 (Focus Mode)** | `focus` 프리픽스. `focus 25` → 25분 포모도로 타이머 + Windows 알림 방해 금지 모드 자동 활성화 (`SetThreadExecutionState` / Focus Assist 레지스트리). 종료 시 자동 복원. `focus stop` 즉시 종료. 독 바에 남은 시간 표시. Raycast Focus Mode 대응 | 재택·오픈오피스 환경 집중 업무 수요 |

---

## Phase L25 — 런처 핵심 UX 재정비 (v2.1.0) ✅ 완료

> **방향**: 사용자가 자주 요청하는 **UX 개선**과 **설정 편의성** 강화. 새 핸들러 추가 없음.

| # | 기능 | 설명 |
|---|------|------|
| ✅ L25-1 | **런처 결과 미리보기 패널** | `LauncherViewModel.UpdatePreviewAsync()` 80ms 디바운스. 텍스트 파일(16개 확장자) 첫 6줄 인라인 표시. 클립보드 텍스트 400자 미리보기. `PreviewPanel` Border (Row 5, MaxHeight 100px, 취소토큰 CancellationToken). `HasPreview` → `BoolToVisibilityConverter` |
| ✅ L25-2 | **클립보드 히스토리 이미지 지원** | 이미지 PNG 캐시 저장 + 썸네일(80px) 표시. `ClipboardThumbnailConverter` / `ClipboardHasImageConverter` XAML 연동. Enter → 원본 해상도 클립보드 재복사. L2-1 기구현 확인 |
| ✅ L25-3 | **런처 폭·위치 기억** | `LauncherSettings.RememberPosition/LastLeft/LastTop` 추가. `CenterOnScreen()` 위치 복원 로직 (화면 경계 Clamp). `Window_Deactivated` 이탈 시 비동기 저장 (`Task.Run → SettingsService.Save()`). 설정창 토글 UI 추가 |
| ✅ L25-4 | **핫키 커스터마이징 확장** | 설정창 ComboBox 12개 프리셋 (Alt+Space / Win+Space / Ctrl+Space / Ctrl+Alt+Space / F12 / F11 / Ctrl+F12 / Ctrl+Shift+Space / Alt+F1 / Ctrl+Alt+A / Win+Alt+Space / Ctrl+Alt+X). `EnsureHotkeyInCombo()` 기존 저장값 보존. L5-1 기구현 확인 |

---

## Phase L26 — 개인 생산성 강화 도구 (v2.2.0) ✅ 완료

> **방향**: 사무 환경에서 매일 반복적으로 쓰이는 **연락처·알림·업무 문구·통합 오늘 뷰** 4종 구현.
> 로컬 JSON 저장, 인터넷 없이 완전 동작, 한국어 특화.

| # | 기능 | 설명 |
|---|------|------|
| ✅ L26-1 | **contact — 로컬 연락처 관리** | `Contact { Name, Dept, Phone, Email, Memo }` · `%APPDATA%\AxCopilot\contacts.json` 저장 · 이름/부서/메모 검색 · 복사 우선순위: 이메일 > 전화 > 이름 · `add / del` 서브명령 |
| ✅ L26-2 | **remind — 특정 시각 알림** | `RemindEntry { Id, Time, Message }` · 한국어 시각 파싱 (오전/오후N시M분, HH:mm) · 시각 경과 시 자동 내일 설정 · `CancellationTokenSource` 취소 관리 · `GetTodayReminders()` TodayHandler 연동 |
| ✅ L26-3 | **phrase — 업무 문구 모음** | 62종 내장 문구 · 7개 카테고리: 인사/보고/요청/마무리/승인결재/회의/사과지연 · 카테고리 키워드 매칭 + 텍스트 검색 폴백 · Enter: 클립보드 복사 |
| ✅ L26-4 | **today — 오늘 업무 통합 뷰** | 날짜/요일/공휴일 · 미완료 할일 건수 (`todos.json` 파싱) · 오늘 알림 목록 (`RemindHandler` 연동) · 다음 공휴일 D-day · 이번달 잔여 업무일 |

---

## Phase L27 — 경쟁 공백 즉시 해소: Windows 일상 제어 (v2.3.0) ✅ 완료

> **방향**: Raycast·Alfred·PowerToys가 공통 제공하나 AX에 없는 **일상 빈도 최상위 기능** 6종 일괄 구현.
> 모두 외부 설치 의존 없이 Windows 네이티브 API + 로컬 파싱으로 구현.

| # | 기능 | 프리픽스 | 구현 방식 |
|---|------|---------|---------|
| ✅ L27-1 | **브라우저 북마크 검색** | (퍼지 통합) | `BookmarkHandler.cs` 기구현 — Edge/Chrome Bookmarks JSON 파싱, 5분 캐시 TTL, 제목·URL 검색, Enter → 기본 브라우저로 열기. 프리픽스 없이 일반 검색에 통합 |
| ✅ L27-2 | **시스템 볼륨 제어** | `vol` | `VolHandler.cs` — Windows Core Audio API COM 직접 호출 (IAudioEndpointVolume). `vol 50` 설정, `vol up/down` ±10%, `vol mute` 토글. 볼륨 바 시각화. NuGet 불필요 |
| ✅ L27-3 | **QR 코드 생성** | `qr` | `QrHandler.cs` — QRCoder NuGet (순수 C# QR 행렬). `qr {텍스트}` → Enter: PNG 클립보드 복사. `qr save {텍스트}` → TEMP 저장 후 탐색기 열기 |
| ✅ L27-4 | **회의 링크 전용 관리** | `meet` | `MeetHandler.cs` — `%APPDATA%\AxCopilot\meet.json` 로컬 저장. `meet add/del` CRUD. 서비스 자동 감지 (Zoom/Teams/Google Meet/Webex/Discord/Slack). Enter → URI 열기 |
| ✅ L27-5 | **화면 밝기 제어** | `bright` | `BrightHandler.cs` — WMI PowerShell subprocess (Get-CimInstance WmiMonitorBrightness). 노트북 내장 디스플레이. `bright 70` 설정, `bright up/down` ±10%. 외장 모니터 미지원 안내 |
| ✅ L27-6 | **클립보드 순차 붙여넣기** | `paste` | `PasteHandler.cs` — ClipboardHistoryService 연동. `paste 3 1 5` → 3번→1번→5번 순서대로 Ctrl+V. `paste all` 전체 순차 붙여넣기. SendInput P/Invoke 방식 |

**NuGet 추가**: `QRCoder 1.6.0` (순수 C#, 외부 의존 없음, ~150KB DLL)
**빌드**: 경고 0, 오류 0

---

## Phase L28 — Windows 생태계 통합 + 콘텐츠 UX 강화 (v2.3.0) ✅ 완료

> **방향**: PowerToys·Raycast Windows 버전이 선점 중인 **Windows 네이티브 통합** + 스니펫·미리보기 UX 수준 향상.
> 외부 설치(winget)가 필요한 기능은 미설치 감지 → 안내 메시지 패턴 적용.

| # | 기능 | 프리픽스 | 구현 방식 |
|---|------|---------|---------|
| ✅ L28-1 | **winget 앱 검색·설치** | `pkg` | `PkgHandler.cs` — `winget search` subprocess 결과 Regex 파싱. `pkg install {id}` → cmd 터미널로 실행. `pkg list` / `pkg upgrade`. winget 미설치 감지 후 안내. PowerToys CP 대응 |
| ✅ L28-2 | **스니펫 동적 플레이스홀더** | `;` 확장 | `SnippetHandler.cs` 수정 — 기존 {date}/{time} 외 `{clipboard}` (현재 클립보드), `{user}` (사용자명), `{computer}` (PC명), `{weekday}` (한국어 요일), `{app}` (이전 포커스 앱 프로세스명) 5개 추가. Raycast 스니펫 대응 |
| ✅ L28-3 | **파일 미리보기 강화** | 파일 검색 확장 | `LauncherViewModel.cs` 수정 — 이미지(10종): BitmapDecoder 해상도 + 파일 크기. PDF: PdfPig 페이지 수 + 첫 페이지 텍스트 200자. 오디오/동영상: 파일 크기 + 수정일. Alfred Grid View 경량 대응 |
| ✅ L28-4 | **클립보드 텍스트 즉시 변환** | `ap` | `ApHandler.cs` — 15종 변환: upper/lower/trim/sort/rsort/unique/number/reverse/blank/single/count/json/slug/base64/decode64 + replace 치환. PowerToys Advanced Paste 대응 (텍스트 변환 중심) |

**NuGet 추가**: 없음 (PdfPig 기존 참조 활용)
**빌드**: 경고 0, 오류 0

---

## Phase L29 — AX 차별화 심화: 한국어·사내·AI 독점 (v2.4.0) ✅ 완료

> **방향**: 경쟁 서비스가 구조적으로 따라올 수 없는 **한국어 특화·사내 환경·AI 연동** 깊이 강화.
> Raycast가 Windows로 확장하더라도 절대 복제 불가한 영역.

| # | 기능 | 프리픽스 | 구현 방식 |
|---|------|---------|---------|
| ✅ L29-1 | **오프라인 국어·영한 사전** | `dict` | `DictHandler.cs` — 국어 혼동어·업무용어·한자어 48개 + 영한 업무 영어 25개 내장. `dict {단어}` 뜻풀이·유의어·반의어·주의사항. `dict en {word}` 영한 검색 + 예문. Enter: 뜻풀이 클립보드 복사. 인터넷 불필요 |
| ✅ L29-2 | **명령 체인 (flow)** | `flow` | `FlowHandler.cs` — `flow add {이름} {cmd1} > {cmd2} > ...` 텍스트 기반 워크플로우 저장. `%APPDATA%\AxCopilot\flows.json` 로컬 저장. `flow {이름}` → 명령 목록 클립보드 복사. `flow del` 삭제. Alfred 워크플로우 경량 대응 |
| ✅ L29-3 | **맞춤법 사용자 항목 추가** | `spell` 확장 | `SpellHandler.cs` 수정 — `spell add {틀린} {올바른} [설명]` 사용자 항목 추가. `spell del {틀린}` 삭제. `spell custom` 사용자 항목만 표시. `%APPDATA%\AxCopilot\spell_custom.json` 저장. 검색·클립보드 검사에 사용자 항목 통합 |
| ✅ L29-4 | **검색 결과 카테고리 분류** | 전체 검색 강화 | `BookmarkHandler.cs` 수정 — 북마크 검색 결과에 `Group="📑 북마크"` 카테고리 헤더 설정. LauncherItem.Group 기반 분류 기초 구현. 추후 앱·파일·명령별 헤더 확장 예정 |

**빌드**: 경고 0, 오류 0

---

## 핸들러 추가 기준 (신규 Phase 수립 시 체크리스트)

> 아래 기준을 **3개 이상** 충족해야 새 핸들러로 추가.

| 번호 | 기준 | 확인 방법 |
|:---:|------|---------|
| 1 | **설치 의존성 없음** — 외부 프로그램(Docker, WSL, conda 등) 설치 불필요 | 핸들러 독립 동작 여부 |
| 2 | **인터넷 불필요** — 사내 모드에서도 100% 동작 | 로컬 파일/시스템 API만 사용 |
| 3 | **매일 사용 가능** — 주 1회 이하로만 쓰이는 도구는 제외 | 실제 업무 흐름 검토 |
| 4 | **경쟁 서비스 공통 제공** — Raycast·Alfred·Flow 중 2개 이상에 존재 | 벤치마킹 매트릭스 참조 |
| 5 | **기존 핸들러로 대체 불가** — `diff`가 있는데 `cmp` 추가는 불필요 | 기존 prefix 목록 검토 |
