# v0.2.9 — Obsidian-style Vault + Files 탭 안정화

릴리즈 일자: 2026-05-26
이전 버전: v0.2.8

## 요약 (TL;DR)

프로젝트 루트의 `.md` 파일을 자동 스캔해 `[[wikilink]]` 기반 관계 그래프를 구성하는 **Obsidian-style Vault** 시스템이 추가되었습니다. 그래프 뷰가 Files 탭에 통합되어 별도 Wiki 탭 없이 파일 탐색과 문서 관계 시각화를 한 화면에서 할 수 있습니다. 이와 함께 Files 탭의 마크다운 미리보기 안정성, 상대 링크 내비게이션, 트리 상태 영속화가 대폭 개선되었고, 세션 윈도우의 크로스-프로젝트 prune 레이스가 수정되었습니다.

## 주요 변경

### Obsidian-style Vault 시스템

프로젝트 루트의 모든 `.md` 파일을 vault로 인식하고, YAML frontmatter와 `[[wikilink]]`를 파싱해 ReactFlow force-directed 그래프로 시각화합니다. DB 인제스트 없이 디스크의 문서를 곧바로 LLM 프롬프트에 주입할 수 있습니다.

- task/session/discussion 폼에서 vault 주입 모드 선택 (None/All/Selected/Auto)
- 기존 DB-backed 위키는 폴백으로 유지 — 두 시스템이 병렬 동작
- Vault REST API 9개 엔드포인트 추가 (파일 CRUD, 그래프, 검색, 주입 미리보기)

### Files 탭 그래프 통합

우측 패널에 그래프 토글(GitBranch 아이콘)이 추가되어 파일 미리보기 ↔ wikilink 관계 그래프를 전환할 수 있습니다. 그래프 노드 클릭 시 해당 파일이 미리보기에서 열립니다. 기존 Wiki 탭은 제거되었습니다.

### Files 탭 안정화

- **마크다운 미리보기 블랙 스크린 수정**: 렌더링 오류 시 error boundary가 raw 소스 텍스트로 폴백 (기존에는 전체 React 트리가 크래시)
- **상대 링크 인앱 내비게이션**: `[label](./sibling.md)` 같은 상대 경로가 새 브라우저 탭 대신 인앱에서 열림
- **트리 상태 영속화**: 확장된 디렉토리, 숨김 파일 토글, 선택 파일이 탭 전환/프로젝트 이동 후에도 복원

### 인앱 파일 에디터

Files 탭에서 텍스트 파일을 CodeMirror 기반 에디터로 인라인 편집할 수 있습니다. mtime 충돌 감지로 외부 수정과의 동시 편집 사고를 방지합니다.

### 마크다운/HTML 미리보기 강화

마크다운 파일은 렌더링된 미리보기와 소스 토글을 지원하고, HTML 파일은 샌드박스 iframe에서 미리보기됩니다.

### Raw Shell 세션 + 커맨드 앨리어스

세션 생성 시 CLI 도구 대신 순수 셸(bash/PowerShell)을 선택할 수 있습니다. 자주 쓰는 명령을 앨리어스로 저장해 런타임 팔레트에서 실행 가능합니다.

### 프로젝트 컬러 태그 + 백그라운드 활동 펄스

프로젝트에 컬러 태그를 지정할 수 있으며, 실행 중인 태스크가 있으면 사이드바에 펄스 인디케이터가 표시됩니다.

### 세션 팝아웃 윈도우

세션을 별도 OS 브라우저 윈도우로 팝아웃할 수 있습니다. 팝아웃된 윈도우는 원본과 동일한 WebSocket 이벤트를 수신합니다.

### 세션 최소화 칩 크로스-프로젝트 수정

프로젝트 A에서 세션을 최소화한 뒤 B로 갔다가 A로 돌아오면 dock tray 칩이 사라지는 레이스 수정.

### OS 파일 매니저 연동

Files 탭에서 파일/폴더를 OS 기본 파일 탐색기에서 열거나 해당 위치를 reveal할 수 있습니다.

## 설치 / 업데이트

```bash
npm i -g clitrigger@0.2.9
```

데스크탑 앱: GitHub Release 자산의 `.exe` / `.dmg` / `.AppImage` 사용.

## 전체 커밋 목록

- e9704eb WIP(docs): add 2026-05-25 changelogs for vault system and session prune fix
- 430c112 feat(files): persist tree expansion, showHidden, and selected file across tab switches
- 462b65b WIP(docs): condense CLAUDE.md to essentials
- 8cf8137 WIP(files): hoist lsKey above paneWidth initializer
- af25d29 fix(files): improve markdown link navigation and persist selected file
- 9d343aa feat: add Obsidian-style vault system and integrate wiki graph into Files tab
- 9aa2ccf fix(session): prevent minimized dock chip from vanishing on project return
- 6bd3968 WIP(files): move PreviewPanel early-return after all hooks
- dd61f99 fix(files): prevent black screen when previewing markdown files
- 45302f3 WIP(session): re-add CanvasAddon with atlas rebuild and overlay z-fix
- bea35aa WIP(session): tighten terminal lineHeight to 0.95 to close row gaps
- 25c232d WIP(session): drop CanvasAddon and revert to DOM renderer
- cea4c8d WIP(session): clear xterm buffer before font-size SIGWINCH
- 1c62b0d WIP(session): rebuild Canvas glyph atlas on font size change
- eca7134 WIP(session): swap WebGL renderer for Canvas to avoid per-context limits
- 80d64d4 WIP(session): use WebGL renderer to close ASCII-art row gaps
- bf20ace fix(session): match cmd line spacing and unbreak Sidebar build
- b351274 WIP(session,files): raw-shell CLI + command aliases + in-app file editor
- a243530 feat(session): replace spawn-time alias picker with runtime palette
- d76b3ee feat(files): add in-place CodeMirror editor with mtime conflict guard
- c269ff8 feat(session): add raw-shell sessions and saved command aliases
- 5cc4ba2 feat(files): render markdown and sandbox HTML previews with source toggle
- 24df9e4 fix(session): listen for correct session WS event in popout
- 0d8be30 feat(workspace): project color tags + background activity pulse
- 84be189 feat(session): pop session windows out to separate OS windows
- cb96217 feat(files): add OS open / reveal-in-file-manager actions to Files tab
- 7a967f1 WIP(docs): condense CLAUDE.md architecture sections
- 5d08b96 Merge branch 'main' of https://github.com/OSgoodYZ/CLITrigger
- 116c148 WIP(build): move build-win.bat to scripts/ and anchor cwd

## 관련 문서

- [상세 changelog](../changelog/) — 날짜별 기술 결정 기록
