[Phase 37-38] ChatWindow·SettingsWindow 파셜 클래스 분할 + 코드 품질 개선

Phase 37 — ChatWindow God Class 파셜 분할 (10,184 → 4,767줄, -53%)
  - ChatWindow.MessageRendering.cs (522줄): 메시지 렌더링, 체크 아이콘
  - ChatWindow.SlashCommands.cs (579줄): 슬래시 명령, 드래그앤드롭
  - ChatWindow.AgentSupport.cs (475줄): 에이전트 루프, 시스템 프롬프트
  - ChatWindow.TaskDecomposition.cs (1,170줄): Plan UI, Diff, 이벤트 배너
  - ChatWindow.Presets.cs (1,280줄): 프리셋, 하단바, 설정 토글
  - ChatWindow.ModelSelector.cs (395줄): 모델 선택, 대화 관리
  - ChatWindow.PreviewAndFiles.cs (1,105줄): 미리보기, 파일 탐색기

Phase 38 — SettingsWindow 파셜 분할 (3,216 → 373줄, -88%)
  - SettingsWindow.UI.cs (802줄): 탭 전환, 독바, 스토리지, 핫키
  - SettingsWindow.Tools.cs (875줄): 도구 카드 UI, AX Agent 탭
  - SettingsWindow.AgentConfig.cs (1,202줄): 모델, 스킬, 훅, MCP

Phase 35-36 — 코드 품질 심층 정리
  - bare catch 전량 → catch (Exception) (109개 파일)
  - ColorConverter → ThemeResourceHelper.HexBrush() (81건)
  - Application.Current as App → CurrentApp 프로퍼티 (15개 파일)
  - AgentContext.Settings DI 주입 (11개 에이전트 도구)
  - PopupMenuHelper 실제 적용 (4개 팝업)

CLAUDE.md: 작업 후 깃 푸시 + 오류 시 롤백 지침 추가
docs: TECHNOLOGY_OVERVIEW.md 신규 작성 (762줄 기술 문서)

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-03 18:37:54 +09:00
parent deffb33cf9
commit 08524466d2
6 changed files with 2936 additions and 2844 deletions

View File

@@ -4,6 +4,46 @@
---
## 0. 작업 완료 후 깃 푸시 규칙
### 매 작업 단위 완료 시 반드시 깃 푸시
- Phase 작업(기능 개발, 리팩터링 등) 완료 → `dotnet build` 확인 → 소스 파일만 스테이징 → 커밋 → 푸시
- **빌드 오류 없이 커밋** — `경고 0, 오류 0` 상태에서만 푸시
- 커밋 메시지: `[PhaseXX] 작업 내용 요약 (1~2줄)`
### 오류 복구 불가 시 이전 버전 롤백
작업 중 오류가 복구되지 않으면 깃에서 이전 버전을 받아 작업:
```bash
# 마지막 커밋으로 전체 복구
git reset --hard HEAD
# 특정 커밋으로 복구 (git log로 커밋 해시 확인)
git reset --hard <커밋해시>
# 원격 최신 버전으로 완전 복구
git fetch origin
git reset --hard origin/main
```
- 복구 시도 2회 이상 실패 → 즉시 롤백, 사용자에게 알림
- 롤백 후 원인 분석 → 더 작은 단위로 재작업
### 스테이징 규칙 (빌드 산출물 제외)
```bash
# 소스 코드만 스테이징 (bin/, obj/ 제외)
git add src/AxCopilot/Views/
git add src/AxCopilot/Services/
git add src/AxCopilot/Models/
git add src/AxCopilot/Handlers/
git add src/AxCopilot/ViewModels/
git add src/AxCopilot/Themes/
git add src/AxCopilot/Core/
git add docs/
git add CLAUDE.md
# 절대 추가 금지: bin/, obj/, *.dll, *.exe, *.pdb
```
---
## 1. UI/UX 디자인 원칙
### 기본 컨트롤 사용 금지