title: 3-3. 부활: 환경 교체와 데몬 date: 2026-02-28
3-3. 부활: 환경 교체와 데몬 2026-02-28 ~ 03-04
02-28: 의욕이 돌아왔다
4개월 만에 갑자기 의욕이 불타올랐다. 혼자지만 상관없다.
첫 번째로 한 일: 개발 환경 전면 교체
한 커밋에 다 때려넣었다.
Bun으로 바꾸면서 패키지 설치 속도가 체감될 정도로 빨라졌다. oxfmt/oxlint는 Rust 기반이라 포맷팅/린팅이 순식간이다. .cursor/를 .claude/로 바꾼 건 작업 환경이 Claude Code로 넘어왔다는 신호.
같은 날 docs 배포 워크플로우도 정리했다. rspress 설정을 @rspress/core로 업데이트하고 SSG 빌드를 수정.
03-01: 대청소
proxelar 원본의 코드 구조를 유지하고 있던 v1 크레이트를 완전히 삭제했다. .claude/ 디렉토리에 에이전트 커맨드도 정리. 새 출발.
03-02: 데몬 아키텍처 핵심 설계
프록시의 근본 구조를 바꿨다. 이 날의 커밋:
기존에는 Tauri 앱 안에 프록시가 직접 들어 있었다. 문제:
- Tauri 앱을 끄면 프록시도 꺼진다
- TUI나 MCP 같은 다른 인터페이스에서 프록시를 쓸 수 없다
- 프록시 코어 테스트가 Tauri 의존성에 묶인다
해결: 프록시 데몬 분리
proxy_daemon 크레이트를 만들어서 프록시를 독립 프로세스로 돌리고, 클라이언트(GUI/TUI/MCP)는 UDS(Unix Domain Socket)로 통신. --daemon 플래그로 Tauri 없이 실행 가능.
트러블슈팅: UDS race condition 버그
데몬이 소켓 파일을 만들기 전에 클라이언트가 연결을 시도. 데몬 시작 → 소켓 바인드 사이 시간차가 원인.
03-04: UI 프레임워크 전면 교체
하루에 엄청난 양의 커밋이 들어갔다.
proxy_daemon 크레이트 독립
Tauri 앱의 거대한 코드를 proxy_daemon 크레이트로 빼내고, Tauri는 얇은 래퍼만 남겼다.
Radix UI → Base UI 마이그레이션
커밋 10개 이상이 이 작업에 들어갔다. 하나하나 컴포넌트를 교체:
Radix UI의 @radix-ui/* 패키지 9개를 제거하고 @base-ui/react 하나로 통합. headless 컴포넌트라 스타일링 자유도가 높고 번들 크기도 작다.
Rspack → Vite 전환
번들러도 교체. Vite 7은 내부적으로 Rolldown(Rust 기반)을 사용해서 빌드가 빠르다.
트러블슈팅: resizable-panels v4 삽질
react-resizable-panels를 v4로 업그레이드했더니 API가 완전히 바뀌어 있었다:
size 값이 숫자에서 퍼센트 문자열로 변경, defaultLayout API 변경, CSS 호환성 문제. 같은 날 4커밋.
프론트엔드 의존성 최신화
React 19, react-resizable-panels v4, 기타 패키지 전면 업데이트. react-scan도 제거.
4개월 공백 후 혼자 부활. 개발 환경을 Bun+oxfmt으로 교체하고, 데몬 아키텍처로 프록시를 독립 프로세스로 분리하고, UI 프레임워크를 Base UI+Vite로 전면 교체했다.